Line data Source code
1 : /* THIS FILE IS AUTOGENERATED FROM CSS2Properties.webidl BY Codegen.py - DO NOT EDIT */
2 :
3 : #include "CSS2PropertiesBinding.h"
4 : #include "CSSStyleDeclarationBinding.h"
5 : #include "WrapperFactory.h"
6 : #include "mozilla/OwningNonNull.h"
7 : #include "mozilla/Preferences.h"
8 : #include "mozilla/dom/BindingUtils.h"
9 : #include "mozilla/dom/DOMJSClass.h"
10 : #include "mozilla/dom/DOMJSProxyHandler.h"
11 : #include "mozilla/dom/NonRefcountedDOMObject.h"
12 : #include "mozilla/dom/XrayExpandoClass.h"
13 : #include "nsDOMCSSDeclaration.h"
14 :
15 : namespace mozilla {
16 : namespace dom {
17 :
18 : namespace CSS2PropertiesBinding {
19 :
20 : static_assert(IsRefcounted<NativeType>::value == IsRefcounted<CSSStyleDeclarationBinding::NativeType>::value,
21 : "Can't inherit from an interface with a different ownership model.");
22 :
23 : static bool
24 0 : get_alignContent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
25 : {
26 0 : binding_detail::FastErrorResult rv;
27 0 : DOMString result;
28 0 : self->GetAlignContent(result, rv);
29 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30 0 : return false;
31 : }
32 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34 0 : return false;
35 : }
36 0 : return true;
37 : }
38 :
39 : static bool
40 0 : set_alignContent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41 : {
42 0 : binding_detail::FakeString arg0;
43 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44 0 : return false;
45 : }
46 0 : binding_detail::FastErrorResult rv;
47 0 : self->SetAlignContent(NonNullHelper(Constify(arg0)), rv);
48 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49 0 : return false;
50 : }
51 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52 :
53 0 : return true;
54 : }
55 :
56 : static const JSJitInfo alignContent_getterinfo = {
57 : { (JSJitGetterOp)get_alignContent },
58 : { prototypes::id::CSS2Properties },
59 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60 : JSJitInfo::Getter,
61 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63 : false, /* isInfallible. False in setters. */
64 : false, /* isMovable. Not relevant for setters. */
65 : false, /* isEliminatable. Not relevant for setters. */
66 : false, /* isAlwaysInSlot. Only relevant for getters. */
67 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
68 : false, /* isTypedMethod. Only relevant for methods. */
69 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
70 : };
71 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
72 : static_assert(0 < 1, "There is no slot for us");
73 : static const JSJitInfo alignContent_setterinfo = {
74 : { (JSJitGetterOp)set_alignContent },
75 : { prototypes::id::CSS2Properties },
76 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
77 : JSJitInfo::Setter,
78 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
79 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
80 : false, /* isInfallible. False in setters. */
81 : false, /* isMovable. Not relevant for setters. */
82 : false, /* isEliminatable. Not relevant for setters. */
83 : false, /* isAlwaysInSlot. Only relevant for getters. */
84 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
85 : false, /* isTypedMethod. Only relevant for methods. */
86 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
87 : };
88 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
89 : static_assert(0 < 1, "There is no slot for us");
90 :
91 : static bool
92 0 : get_align_content(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
93 : {
94 0 : binding_detail::FastErrorResult rv;
95 0 : DOMString result;
96 0 : self->GetAlignContent(result, rv);
97 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
98 0 : return false;
99 : }
100 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
101 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
102 0 : return false;
103 : }
104 0 : return true;
105 : }
106 :
107 : static bool
108 0 : set_align_content(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
109 : {
110 0 : binding_detail::FakeString arg0;
111 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
112 0 : return false;
113 : }
114 0 : binding_detail::FastErrorResult rv;
115 0 : self->SetAlignContent(NonNullHelper(Constify(arg0)), rv);
116 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
117 0 : return false;
118 : }
119 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
120 :
121 0 : return true;
122 : }
123 :
124 : static const JSJitInfo align_content_getterinfo = {
125 : { (JSJitGetterOp)get_align_content },
126 : { prototypes::id::CSS2Properties },
127 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
128 : JSJitInfo::Getter,
129 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
130 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
131 : false, /* isInfallible. False in setters. */
132 : false, /* isMovable. Not relevant for setters. */
133 : false, /* isEliminatable. Not relevant for setters. */
134 : false, /* isAlwaysInSlot. Only relevant for getters. */
135 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
136 : false, /* isTypedMethod. Only relevant for methods. */
137 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
138 : };
139 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
140 : static_assert(0 < 1, "There is no slot for us");
141 : static const JSJitInfo align_content_setterinfo = {
142 : { (JSJitGetterOp)set_align_content },
143 : { prototypes::id::CSS2Properties },
144 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
145 : JSJitInfo::Setter,
146 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
147 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
148 : false, /* isInfallible. False in setters. */
149 : false, /* isMovable. Not relevant for setters. */
150 : false, /* isEliminatable. Not relevant for setters. */
151 : false, /* isAlwaysInSlot. Only relevant for getters. */
152 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
153 : false, /* isTypedMethod. Only relevant for methods. */
154 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
155 : };
156 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
157 : static_assert(0 < 1, "There is no slot for us");
158 :
159 : static bool
160 0 : get_alignItems(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
161 : {
162 0 : binding_detail::FastErrorResult rv;
163 0 : DOMString result;
164 0 : self->GetAlignItems(result, rv);
165 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
166 0 : return false;
167 : }
168 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
169 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
170 0 : return false;
171 : }
172 0 : return true;
173 : }
174 :
175 : static bool
176 0 : set_alignItems(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
177 : {
178 0 : binding_detail::FakeString arg0;
179 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
180 0 : return false;
181 : }
182 0 : binding_detail::FastErrorResult rv;
183 0 : self->SetAlignItems(NonNullHelper(Constify(arg0)), rv);
184 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
185 0 : return false;
186 : }
187 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
188 :
189 0 : return true;
190 : }
191 :
192 : static const JSJitInfo alignItems_getterinfo = {
193 : { (JSJitGetterOp)get_alignItems },
194 : { prototypes::id::CSS2Properties },
195 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
196 : JSJitInfo::Getter,
197 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
198 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
199 : false, /* isInfallible. False in setters. */
200 : false, /* isMovable. Not relevant for setters. */
201 : false, /* isEliminatable. Not relevant for setters. */
202 : false, /* isAlwaysInSlot. Only relevant for getters. */
203 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
204 : false, /* isTypedMethod. Only relevant for methods. */
205 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
206 : };
207 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
208 : static_assert(0 < 1, "There is no slot for us");
209 : static const JSJitInfo alignItems_setterinfo = {
210 : { (JSJitGetterOp)set_alignItems },
211 : { prototypes::id::CSS2Properties },
212 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
213 : JSJitInfo::Setter,
214 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
215 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
216 : false, /* isInfallible. False in setters. */
217 : false, /* isMovable. Not relevant for setters. */
218 : false, /* isEliminatable. Not relevant for setters. */
219 : false, /* isAlwaysInSlot. Only relevant for getters. */
220 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
221 : false, /* isTypedMethod. Only relevant for methods. */
222 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
223 : };
224 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
225 : static_assert(0 < 1, "There is no slot for us");
226 :
227 : static bool
228 0 : get_align_items(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
229 : {
230 0 : binding_detail::FastErrorResult rv;
231 0 : DOMString result;
232 0 : self->GetAlignItems(result, rv);
233 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
234 0 : return false;
235 : }
236 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
237 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
238 0 : return false;
239 : }
240 0 : return true;
241 : }
242 :
243 : static bool
244 0 : set_align_items(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
245 : {
246 0 : binding_detail::FakeString arg0;
247 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
248 0 : return false;
249 : }
250 0 : binding_detail::FastErrorResult rv;
251 0 : self->SetAlignItems(NonNullHelper(Constify(arg0)), rv);
252 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
253 0 : return false;
254 : }
255 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
256 :
257 0 : return true;
258 : }
259 :
260 : static const JSJitInfo align_items_getterinfo = {
261 : { (JSJitGetterOp)get_align_items },
262 : { prototypes::id::CSS2Properties },
263 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
264 : JSJitInfo::Getter,
265 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
266 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
267 : false, /* isInfallible. False in setters. */
268 : false, /* isMovable. Not relevant for setters. */
269 : false, /* isEliminatable. Not relevant for setters. */
270 : false, /* isAlwaysInSlot. Only relevant for getters. */
271 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
272 : false, /* isTypedMethod. Only relevant for methods. */
273 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
274 : };
275 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
276 : static_assert(0 < 1, "There is no slot for us");
277 : static const JSJitInfo align_items_setterinfo = {
278 : { (JSJitGetterOp)set_align_items },
279 : { prototypes::id::CSS2Properties },
280 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
281 : JSJitInfo::Setter,
282 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
283 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
284 : false, /* isInfallible. False in setters. */
285 : false, /* isMovable. Not relevant for setters. */
286 : false, /* isEliminatable. Not relevant for setters. */
287 : false, /* isAlwaysInSlot. Only relevant for getters. */
288 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
289 : false, /* isTypedMethod. Only relevant for methods. */
290 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
291 : };
292 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
293 : static_assert(0 < 1, "There is no slot for us");
294 :
295 : static bool
296 0 : get_alignSelf(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
297 : {
298 0 : binding_detail::FastErrorResult rv;
299 0 : DOMString result;
300 0 : self->GetAlignSelf(result, rv);
301 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
302 0 : return false;
303 : }
304 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
305 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
306 0 : return false;
307 : }
308 0 : return true;
309 : }
310 :
311 : static bool
312 0 : set_alignSelf(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
313 : {
314 0 : binding_detail::FakeString arg0;
315 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
316 0 : return false;
317 : }
318 0 : binding_detail::FastErrorResult rv;
319 0 : self->SetAlignSelf(NonNullHelper(Constify(arg0)), rv);
320 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
321 0 : return false;
322 : }
323 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
324 :
325 0 : return true;
326 : }
327 :
328 : static const JSJitInfo alignSelf_getterinfo = {
329 : { (JSJitGetterOp)get_alignSelf },
330 : { prototypes::id::CSS2Properties },
331 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
332 : JSJitInfo::Getter,
333 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
334 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
335 : false, /* isInfallible. False in setters. */
336 : false, /* isMovable. Not relevant for setters. */
337 : false, /* isEliminatable. Not relevant for setters. */
338 : false, /* isAlwaysInSlot. Only relevant for getters. */
339 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
340 : false, /* isTypedMethod. Only relevant for methods. */
341 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
342 : };
343 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
344 : static_assert(0 < 1, "There is no slot for us");
345 : static const JSJitInfo alignSelf_setterinfo = {
346 : { (JSJitGetterOp)set_alignSelf },
347 : { prototypes::id::CSS2Properties },
348 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
349 : JSJitInfo::Setter,
350 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
351 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
352 : false, /* isInfallible. False in setters. */
353 : false, /* isMovable. Not relevant for setters. */
354 : false, /* isEliminatable. Not relevant for setters. */
355 : false, /* isAlwaysInSlot. Only relevant for getters. */
356 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
357 : false, /* isTypedMethod. Only relevant for methods. */
358 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
359 : };
360 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
361 : static_assert(0 < 1, "There is no slot for us");
362 :
363 : static bool
364 0 : get_align_self(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
365 : {
366 0 : binding_detail::FastErrorResult rv;
367 0 : DOMString result;
368 0 : self->GetAlignSelf(result, rv);
369 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
370 0 : return false;
371 : }
372 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
373 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
374 0 : return false;
375 : }
376 0 : return true;
377 : }
378 :
379 : static bool
380 0 : set_align_self(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
381 : {
382 0 : binding_detail::FakeString arg0;
383 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
384 0 : return false;
385 : }
386 0 : binding_detail::FastErrorResult rv;
387 0 : self->SetAlignSelf(NonNullHelper(Constify(arg0)), rv);
388 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
389 0 : return false;
390 : }
391 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
392 :
393 0 : return true;
394 : }
395 :
396 : static const JSJitInfo align_self_getterinfo = {
397 : { (JSJitGetterOp)get_align_self },
398 : { prototypes::id::CSS2Properties },
399 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
400 : JSJitInfo::Getter,
401 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
402 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
403 : false, /* isInfallible. False in setters. */
404 : false, /* isMovable. Not relevant for setters. */
405 : false, /* isEliminatable. Not relevant for setters. */
406 : false, /* isAlwaysInSlot. Only relevant for getters. */
407 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
408 : false, /* isTypedMethod. Only relevant for methods. */
409 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
410 : };
411 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
412 : static_assert(0 < 1, "There is no slot for us");
413 : static const JSJitInfo align_self_setterinfo = {
414 : { (JSJitGetterOp)set_align_self },
415 : { prototypes::id::CSS2Properties },
416 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
417 : JSJitInfo::Setter,
418 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
419 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
420 : false, /* isInfallible. False in setters. */
421 : false, /* isMovable. Not relevant for setters. */
422 : false, /* isEliminatable. Not relevant for setters. */
423 : false, /* isAlwaysInSlot. Only relevant for getters. */
424 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
425 : false, /* isTypedMethod. Only relevant for methods. */
426 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
427 : };
428 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
429 : static_assert(0 < 1, "There is no slot for us");
430 :
431 : static bool
432 0 : get_all(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
433 : {
434 0 : binding_detail::FastErrorResult rv;
435 0 : DOMString result;
436 0 : self->GetAll(result, rv);
437 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
438 0 : return false;
439 : }
440 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
441 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
442 0 : return false;
443 : }
444 0 : return true;
445 : }
446 :
447 : static bool
448 0 : set_all(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
449 : {
450 0 : binding_detail::FakeString arg0;
451 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
452 0 : return false;
453 : }
454 0 : binding_detail::FastErrorResult rv;
455 0 : self->SetAll(NonNullHelper(Constify(arg0)), rv);
456 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
457 0 : return false;
458 : }
459 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
460 :
461 0 : return true;
462 : }
463 :
464 : static const JSJitInfo all_getterinfo = {
465 : { (JSJitGetterOp)get_all },
466 : { prototypes::id::CSS2Properties },
467 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
468 : JSJitInfo::Getter,
469 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
470 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
471 : false, /* isInfallible. False in setters. */
472 : false, /* isMovable. Not relevant for setters. */
473 : false, /* isEliminatable. Not relevant for setters. */
474 : false, /* isAlwaysInSlot. Only relevant for getters. */
475 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
476 : false, /* isTypedMethod. Only relevant for methods. */
477 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
478 : };
479 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
480 : static_assert(0 < 1, "There is no slot for us");
481 : static const JSJitInfo all_setterinfo = {
482 : { (JSJitGetterOp)set_all },
483 : { prototypes::id::CSS2Properties },
484 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
485 : JSJitInfo::Setter,
486 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
487 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
488 : false, /* isInfallible. False in setters. */
489 : false, /* isMovable. Not relevant for setters. */
490 : false, /* isEliminatable. Not relevant for setters. */
491 : false, /* isAlwaysInSlot. Only relevant for getters. */
492 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
493 : false, /* isTypedMethod. Only relevant for methods. */
494 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
495 : };
496 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
497 : static_assert(0 < 1, "There is no slot for us");
498 :
499 : static bool
500 0 : get_animation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
501 : {
502 0 : binding_detail::FastErrorResult rv;
503 0 : DOMString result;
504 0 : self->GetAnimation(result, rv);
505 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
506 0 : return false;
507 : }
508 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
509 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
510 0 : return false;
511 : }
512 0 : return true;
513 : }
514 :
515 : static bool
516 0 : set_animation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
517 : {
518 0 : binding_detail::FakeString arg0;
519 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
520 0 : return false;
521 : }
522 0 : binding_detail::FastErrorResult rv;
523 0 : self->SetAnimation(NonNullHelper(Constify(arg0)), rv);
524 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
525 0 : return false;
526 : }
527 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
528 :
529 0 : return true;
530 : }
531 :
532 : static const JSJitInfo animation_getterinfo = {
533 : { (JSJitGetterOp)get_animation },
534 : { prototypes::id::CSS2Properties },
535 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
536 : JSJitInfo::Getter,
537 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
538 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
539 : false, /* isInfallible. False in setters. */
540 : false, /* isMovable. Not relevant for setters. */
541 : false, /* isEliminatable. Not relevant for setters. */
542 : false, /* isAlwaysInSlot. Only relevant for getters. */
543 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
544 : false, /* isTypedMethod. Only relevant for methods. */
545 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
546 : };
547 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
548 : static_assert(0 < 1, "There is no slot for us");
549 : static const JSJitInfo animation_setterinfo = {
550 : { (JSJitGetterOp)set_animation },
551 : { prototypes::id::CSS2Properties },
552 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
553 : JSJitInfo::Setter,
554 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
555 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
556 : false, /* isInfallible. False in setters. */
557 : false, /* isMovable. Not relevant for setters. */
558 : false, /* isEliminatable. Not relevant for setters. */
559 : false, /* isAlwaysInSlot. Only relevant for getters. */
560 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
561 : false, /* isTypedMethod. Only relevant for methods. */
562 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
563 : };
564 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
565 : static_assert(0 < 1, "There is no slot for us");
566 :
567 : static bool
568 0 : get_animationDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
569 : {
570 0 : binding_detail::FastErrorResult rv;
571 0 : DOMString result;
572 0 : self->GetAnimationDelay(result, rv);
573 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
574 0 : return false;
575 : }
576 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
577 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
578 0 : return false;
579 : }
580 0 : return true;
581 : }
582 :
583 : static bool
584 0 : set_animationDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
585 : {
586 0 : binding_detail::FakeString arg0;
587 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
588 0 : return false;
589 : }
590 0 : binding_detail::FastErrorResult rv;
591 0 : self->SetAnimationDelay(NonNullHelper(Constify(arg0)), rv);
592 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
593 0 : return false;
594 : }
595 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
596 :
597 0 : return true;
598 : }
599 :
600 : static const JSJitInfo animationDelay_getterinfo = {
601 : { (JSJitGetterOp)get_animationDelay },
602 : { prototypes::id::CSS2Properties },
603 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
604 : JSJitInfo::Getter,
605 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
606 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
607 : false, /* isInfallible. False in setters. */
608 : false, /* isMovable. Not relevant for setters. */
609 : false, /* isEliminatable. Not relevant for setters. */
610 : false, /* isAlwaysInSlot. Only relevant for getters. */
611 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
612 : false, /* isTypedMethod. Only relevant for methods. */
613 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
614 : };
615 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
616 : static_assert(0 < 1, "There is no slot for us");
617 : static const JSJitInfo animationDelay_setterinfo = {
618 : { (JSJitGetterOp)set_animationDelay },
619 : { prototypes::id::CSS2Properties },
620 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
621 : JSJitInfo::Setter,
622 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
623 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
624 : false, /* isInfallible. False in setters. */
625 : false, /* isMovable. Not relevant for setters. */
626 : false, /* isEliminatable. Not relevant for setters. */
627 : false, /* isAlwaysInSlot. Only relevant for getters. */
628 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
629 : false, /* isTypedMethod. Only relevant for methods. */
630 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
631 : };
632 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
633 : static_assert(0 < 1, "There is no slot for us");
634 :
635 : static bool
636 0 : get_animation_delay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
637 : {
638 0 : binding_detail::FastErrorResult rv;
639 0 : DOMString result;
640 0 : self->GetAnimationDelay(result, rv);
641 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
642 0 : return false;
643 : }
644 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
645 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
646 0 : return false;
647 : }
648 0 : return true;
649 : }
650 :
651 : static bool
652 0 : set_animation_delay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
653 : {
654 0 : binding_detail::FakeString arg0;
655 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
656 0 : return false;
657 : }
658 0 : binding_detail::FastErrorResult rv;
659 0 : self->SetAnimationDelay(NonNullHelper(Constify(arg0)), rv);
660 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
661 0 : return false;
662 : }
663 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
664 :
665 0 : return true;
666 : }
667 :
668 : static const JSJitInfo animation_delay_getterinfo = {
669 : { (JSJitGetterOp)get_animation_delay },
670 : { prototypes::id::CSS2Properties },
671 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
672 : JSJitInfo::Getter,
673 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
674 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
675 : false, /* isInfallible. False in setters. */
676 : false, /* isMovable. Not relevant for setters. */
677 : false, /* isEliminatable. Not relevant for setters. */
678 : false, /* isAlwaysInSlot. Only relevant for getters. */
679 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
680 : false, /* isTypedMethod. Only relevant for methods. */
681 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
682 : };
683 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
684 : static_assert(0 < 1, "There is no slot for us");
685 : static const JSJitInfo animation_delay_setterinfo = {
686 : { (JSJitGetterOp)set_animation_delay },
687 : { prototypes::id::CSS2Properties },
688 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
689 : JSJitInfo::Setter,
690 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
691 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
692 : false, /* isInfallible. False in setters. */
693 : false, /* isMovable. Not relevant for setters. */
694 : false, /* isEliminatable. Not relevant for setters. */
695 : false, /* isAlwaysInSlot. Only relevant for getters. */
696 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
697 : false, /* isTypedMethod. Only relevant for methods. */
698 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
699 : };
700 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
701 : static_assert(0 < 1, "There is no slot for us");
702 :
703 : static bool
704 0 : get_animationDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
705 : {
706 0 : binding_detail::FastErrorResult rv;
707 0 : DOMString result;
708 0 : self->GetAnimationDirection(result, rv);
709 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
710 0 : return false;
711 : }
712 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
713 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
714 0 : return false;
715 : }
716 0 : return true;
717 : }
718 :
719 : static bool
720 0 : set_animationDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
721 : {
722 0 : binding_detail::FakeString arg0;
723 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
724 0 : return false;
725 : }
726 0 : binding_detail::FastErrorResult rv;
727 0 : self->SetAnimationDirection(NonNullHelper(Constify(arg0)), rv);
728 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
729 0 : return false;
730 : }
731 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
732 :
733 0 : return true;
734 : }
735 :
736 : static const JSJitInfo animationDirection_getterinfo = {
737 : { (JSJitGetterOp)get_animationDirection },
738 : { prototypes::id::CSS2Properties },
739 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
740 : JSJitInfo::Getter,
741 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
742 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
743 : false, /* isInfallible. False in setters. */
744 : false, /* isMovable. Not relevant for setters. */
745 : false, /* isEliminatable. Not relevant for setters. */
746 : false, /* isAlwaysInSlot. Only relevant for getters. */
747 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
748 : false, /* isTypedMethod. Only relevant for methods. */
749 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
750 : };
751 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
752 : static_assert(0 < 1, "There is no slot for us");
753 : static const JSJitInfo animationDirection_setterinfo = {
754 : { (JSJitGetterOp)set_animationDirection },
755 : { prototypes::id::CSS2Properties },
756 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
757 : JSJitInfo::Setter,
758 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
759 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
760 : false, /* isInfallible. False in setters. */
761 : false, /* isMovable. Not relevant for setters. */
762 : false, /* isEliminatable. Not relevant for setters. */
763 : false, /* isAlwaysInSlot. Only relevant for getters. */
764 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
765 : false, /* isTypedMethod. Only relevant for methods. */
766 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
767 : };
768 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
769 : static_assert(0 < 1, "There is no slot for us");
770 :
771 : static bool
772 0 : get_animation_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
773 : {
774 0 : binding_detail::FastErrorResult rv;
775 0 : DOMString result;
776 0 : self->GetAnimationDirection(result, rv);
777 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
778 0 : return false;
779 : }
780 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
781 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
782 0 : return false;
783 : }
784 0 : return true;
785 : }
786 :
787 : static bool
788 0 : set_animation_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
789 : {
790 0 : binding_detail::FakeString arg0;
791 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
792 0 : return false;
793 : }
794 0 : binding_detail::FastErrorResult rv;
795 0 : self->SetAnimationDirection(NonNullHelper(Constify(arg0)), rv);
796 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
797 0 : return false;
798 : }
799 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
800 :
801 0 : return true;
802 : }
803 :
804 : static const JSJitInfo animation_direction_getterinfo = {
805 : { (JSJitGetterOp)get_animation_direction },
806 : { prototypes::id::CSS2Properties },
807 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
808 : JSJitInfo::Getter,
809 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
810 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
811 : false, /* isInfallible. False in setters. */
812 : false, /* isMovable. Not relevant for setters. */
813 : false, /* isEliminatable. Not relevant for setters. */
814 : false, /* isAlwaysInSlot. Only relevant for getters. */
815 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
816 : false, /* isTypedMethod. Only relevant for methods. */
817 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
818 : };
819 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
820 : static_assert(0 < 1, "There is no slot for us");
821 : static const JSJitInfo animation_direction_setterinfo = {
822 : { (JSJitGetterOp)set_animation_direction },
823 : { prototypes::id::CSS2Properties },
824 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
825 : JSJitInfo::Setter,
826 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
827 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
828 : false, /* isInfallible. False in setters. */
829 : false, /* isMovable. Not relevant for setters. */
830 : false, /* isEliminatable. Not relevant for setters. */
831 : false, /* isAlwaysInSlot. Only relevant for getters. */
832 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
833 : false, /* isTypedMethod. Only relevant for methods. */
834 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
835 : };
836 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
837 : static_assert(0 < 1, "There is no slot for us");
838 :
839 : static bool
840 0 : get_animationDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
841 : {
842 0 : binding_detail::FastErrorResult rv;
843 0 : DOMString result;
844 0 : self->GetAnimationDuration(result, rv);
845 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
846 0 : return false;
847 : }
848 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
849 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
850 0 : return false;
851 : }
852 0 : return true;
853 : }
854 :
855 : static bool
856 0 : set_animationDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
857 : {
858 0 : binding_detail::FakeString arg0;
859 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
860 0 : return false;
861 : }
862 0 : binding_detail::FastErrorResult rv;
863 0 : self->SetAnimationDuration(NonNullHelper(Constify(arg0)), rv);
864 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
865 0 : return false;
866 : }
867 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
868 :
869 0 : return true;
870 : }
871 :
872 : static const JSJitInfo animationDuration_getterinfo = {
873 : { (JSJitGetterOp)get_animationDuration },
874 : { prototypes::id::CSS2Properties },
875 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
876 : JSJitInfo::Getter,
877 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
878 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
879 : false, /* isInfallible. False in setters. */
880 : false, /* isMovable. Not relevant for setters. */
881 : false, /* isEliminatable. Not relevant for setters. */
882 : false, /* isAlwaysInSlot. Only relevant for getters. */
883 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
884 : false, /* isTypedMethod. Only relevant for methods. */
885 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
886 : };
887 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
888 : static_assert(0 < 1, "There is no slot for us");
889 : static const JSJitInfo animationDuration_setterinfo = {
890 : { (JSJitGetterOp)set_animationDuration },
891 : { prototypes::id::CSS2Properties },
892 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
893 : JSJitInfo::Setter,
894 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
895 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
896 : false, /* isInfallible. False in setters. */
897 : false, /* isMovable. Not relevant for setters. */
898 : false, /* isEliminatable. Not relevant for setters. */
899 : false, /* isAlwaysInSlot. Only relevant for getters. */
900 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
901 : false, /* isTypedMethod. Only relevant for methods. */
902 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
903 : };
904 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
905 : static_assert(0 < 1, "There is no slot for us");
906 :
907 : static bool
908 0 : get_animation_duration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
909 : {
910 0 : binding_detail::FastErrorResult rv;
911 0 : DOMString result;
912 0 : self->GetAnimationDuration(result, rv);
913 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
914 0 : return false;
915 : }
916 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
917 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
918 0 : return false;
919 : }
920 0 : return true;
921 : }
922 :
923 : static bool
924 0 : set_animation_duration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
925 : {
926 0 : binding_detail::FakeString arg0;
927 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
928 0 : return false;
929 : }
930 0 : binding_detail::FastErrorResult rv;
931 0 : self->SetAnimationDuration(NonNullHelper(Constify(arg0)), rv);
932 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
933 0 : return false;
934 : }
935 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
936 :
937 0 : return true;
938 : }
939 :
940 : static const JSJitInfo animation_duration_getterinfo = {
941 : { (JSJitGetterOp)get_animation_duration },
942 : { prototypes::id::CSS2Properties },
943 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
944 : JSJitInfo::Getter,
945 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
946 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
947 : false, /* isInfallible. False in setters. */
948 : false, /* isMovable. Not relevant for setters. */
949 : false, /* isEliminatable. Not relevant for setters. */
950 : false, /* isAlwaysInSlot. Only relevant for getters. */
951 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
952 : false, /* isTypedMethod. Only relevant for methods. */
953 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
954 : };
955 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
956 : static_assert(0 < 1, "There is no slot for us");
957 : static const JSJitInfo animation_duration_setterinfo = {
958 : { (JSJitGetterOp)set_animation_duration },
959 : { prototypes::id::CSS2Properties },
960 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
961 : JSJitInfo::Setter,
962 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
963 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
964 : false, /* isInfallible. False in setters. */
965 : false, /* isMovable. Not relevant for setters. */
966 : false, /* isEliminatable. Not relevant for setters. */
967 : false, /* isAlwaysInSlot. Only relevant for getters. */
968 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
969 : false, /* isTypedMethod. Only relevant for methods. */
970 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
971 : };
972 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
973 : static_assert(0 < 1, "There is no slot for us");
974 :
975 : static bool
976 0 : get_animationFillMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
977 : {
978 0 : binding_detail::FastErrorResult rv;
979 0 : DOMString result;
980 0 : self->GetAnimationFillMode(result, rv);
981 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
982 0 : return false;
983 : }
984 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
985 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
986 0 : return false;
987 : }
988 0 : return true;
989 : }
990 :
991 : static bool
992 0 : set_animationFillMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
993 : {
994 0 : binding_detail::FakeString arg0;
995 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
996 0 : return false;
997 : }
998 0 : binding_detail::FastErrorResult rv;
999 0 : self->SetAnimationFillMode(NonNullHelper(Constify(arg0)), rv);
1000 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1001 0 : return false;
1002 : }
1003 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1004 :
1005 0 : return true;
1006 : }
1007 :
1008 : static const JSJitInfo animationFillMode_getterinfo = {
1009 : { (JSJitGetterOp)get_animationFillMode },
1010 : { prototypes::id::CSS2Properties },
1011 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1012 : JSJitInfo::Getter,
1013 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1014 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
1015 : false, /* isInfallible. False in setters. */
1016 : false, /* isMovable. Not relevant for setters. */
1017 : false, /* isEliminatable. Not relevant for setters. */
1018 : false, /* isAlwaysInSlot. Only relevant for getters. */
1019 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1020 : false, /* isTypedMethod. Only relevant for methods. */
1021 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1022 : };
1023 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1024 : static_assert(0 < 1, "There is no slot for us");
1025 : static const JSJitInfo animationFillMode_setterinfo = {
1026 : { (JSJitGetterOp)set_animationFillMode },
1027 : { prototypes::id::CSS2Properties },
1028 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1029 : JSJitInfo::Setter,
1030 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1031 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
1032 : false, /* isInfallible. False in setters. */
1033 : false, /* isMovable. Not relevant for setters. */
1034 : false, /* isEliminatable. Not relevant for setters. */
1035 : false, /* isAlwaysInSlot. Only relevant for getters. */
1036 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1037 : false, /* isTypedMethod. Only relevant for methods. */
1038 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1039 : };
1040 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1041 : static_assert(0 < 1, "There is no slot for us");
1042 :
1043 : static bool
1044 0 : get_animation_fill_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
1045 : {
1046 0 : binding_detail::FastErrorResult rv;
1047 0 : DOMString result;
1048 0 : self->GetAnimationFillMode(result, rv);
1049 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1050 0 : return false;
1051 : }
1052 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1053 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
1054 0 : return false;
1055 : }
1056 0 : return true;
1057 : }
1058 :
1059 : static bool
1060 0 : set_animation_fill_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
1061 : {
1062 0 : binding_detail::FakeString arg0;
1063 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
1064 0 : return false;
1065 : }
1066 0 : binding_detail::FastErrorResult rv;
1067 0 : self->SetAnimationFillMode(NonNullHelper(Constify(arg0)), rv);
1068 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1069 0 : return false;
1070 : }
1071 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1072 :
1073 0 : return true;
1074 : }
1075 :
1076 : static const JSJitInfo animation_fill_mode_getterinfo = {
1077 : { (JSJitGetterOp)get_animation_fill_mode },
1078 : { prototypes::id::CSS2Properties },
1079 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1080 : JSJitInfo::Getter,
1081 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1082 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
1083 : false, /* isInfallible. False in setters. */
1084 : false, /* isMovable. Not relevant for setters. */
1085 : false, /* isEliminatable. Not relevant for setters. */
1086 : false, /* isAlwaysInSlot. Only relevant for getters. */
1087 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1088 : false, /* isTypedMethod. Only relevant for methods. */
1089 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1090 : };
1091 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1092 : static_assert(0 < 1, "There is no slot for us");
1093 : static const JSJitInfo animation_fill_mode_setterinfo = {
1094 : { (JSJitGetterOp)set_animation_fill_mode },
1095 : { prototypes::id::CSS2Properties },
1096 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1097 : JSJitInfo::Setter,
1098 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1099 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
1100 : false, /* isInfallible. False in setters. */
1101 : false, /* isMovable. Not relevant for setters. */
1102 : false, /* isEliminatable. Not relevant for setters. */
1103 : false, /* isAlwaysInSlot. Only relevant for getters. */
1104 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1105 : false, /* isTypedMethod. Only relevant for methods. */
1106 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1107 : };
1108 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1109 : static_assert(0 < 1, "There is no slot for us");
1110 :
1111 : static bool
1112 0 : get_animationIterationCount(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
1113 : {
1114 0 : binding_detail::FastErrorResult rv;
1115 0 : DOMString result;
1116 0 : self->GetAnimationIterationCount(result, rv);
1117 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1118 0 : return false;
1119 : }
1120 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1121 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
1122 0 : return false;
1123 : }
1124 0 : return true;
1125 : }
1126 :
1127 : static bool
1128 0 : set_animationIterationCount(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
1129 : {
1130 0 : binding_detail::FakeString arg0;
1131 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
1132 0 : return false;
1133 : }
1134 0 : binding_detail::FastErrorResult rv;
1135 0 : self->SetAnimationIterationCount(NonNullHelper(Constify(arg0)), rv);
1136 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1137 0 : return false;
1138 : }
1139 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1140 :
1141 0 : return true;
1142 : }
1143 :
1144 : static const JSJitInfo animationIterationCount_getterinfo = {
1145 : { (JSJitGetterOp)get_animationIterationCount },
1146 : { prototypes::id::CSS2Properties },
1147 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1148 : JSJitInfo::Getter,
1149 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1150 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
1151 : false, /* isInfallible. False in setters. */
1152 : false, /* isMovable. Not relevant for setters. */
1153 : false, /* isEliminatable. Not relevant for setters. */
1154 : false, /* isAlwaysInSlot. Only relevant for getters. */
1155 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1156 : false, /* isTypedMethod. Only relevant for methods. */
1157 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1158 : };
1159 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1160 : static_assert(0 < 1, "There is no slot for us");
1161 : static const JSJitInfo animationIterationCount_setterinfo = {
1162 : { (JSJitGetterOp)set_animationIterationCount },
1163 : { prototypes::id::CSS2Properties },
1164 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1165 : JSJitInfo::Setter,
1166 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1167 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
1168 : false, /* isInfallible. False in setters. */
1169 : false, /* isMovable. Not relevant for setters. */
1170 : false, /* isEliminatable. Not relevant for setters. */
1171 : false, /* isAlwaysInSlot. Only relevant for getters. */
1172 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1173 : false, /* isTypedMethod. Only relevant for methods. */
1174 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1175 : };
1176 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1177 : static_assert(0 < 1, "There is no slot for us");
1178 :
1179 : static bool
1180 0 : get_animation_iteration_count(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
1181 : {
1182 0 : binding_detail::FastErrorResult rv;
1183 0 : DOMString result;
1184 0 : self->GetAnimationIterationCount(result, rv);
1185 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1186 0 : return false;
1187 : }
1188 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1189 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
1190 0 : return false;
1191 : }
1192 0 : return true;
1193 : }
1194 :
1195 : static bool
1196 0 : set_animation_iteration_count(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
1197 : {
1198 0 : binding_detail::FakeString arg0;
1199 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
1200 0 : return false;
1201 : }
1202 0 : binding_detail::FastErrorResult rv;
1203 0 : self->SetAnimationIterationCount(NonNullHelper(Constify(arg0)), rv);
1204 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1205 0 : return false;
1206 : }
1207 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1208 :
1209 0 : return true;
1210 : }
1211 :
1212 : static const JSJitInfo animation_iteration_count_getterinfo = {
1213 : { (JSJitGetterOp)get_animation_iteration_count },
1214 : { prototypes::id::CSS2Properties },
1215 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1216 : JSJitInfo::Getter,
1217 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1218 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
1219 : false, /* isInfallible. False in setters. */
1220 : false, /* isMovable. Not relevant for setters. */
1221 : false, /* isEliminatable. Not relevant for setters. */
1222 : false, /* isAlwaysInSlot. Only relevant for getters. */
1223 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1224 : false, /* isTypedMethod. Only relevant for methods. */
1225 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1226 : };
1227 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1228 : static_assert(0 < 1, "There is no slot for us");
1229 : static const JSJitInfo animation_iteration_count_setterinfo = {
1230 : { (JSJitGetterOp)set_animation_iteration_count },
1231 : { prototypes::id::CSS2Properties },
1232 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1233 : JSJitInfo::Setter,
1234 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1235 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
1236 : false, /* isInfallible. False in setters. */
1237 : false, /* isMovable. Not relevant for setters. */
1238 : false, /* isEliminatable. Not relevant for setters. */
1239 : false, /* isAlwaysInSlot. Only relevant for getters. */
1240 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1241 : false, /* isTypedMethod. Only relevant for methods. */
1242 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1243 : };
1244 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1245 : static_assert(0 < 1, "There is no slot for us");
1246 :
1247 : static bool
1248 0 : get_animationName(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
1249 : {
1250 0 : binding_detail::FastErrorResult rv;
1251 0 : DOMString result;
1252 0 : self->GetAnimationName(result, rv);
1253 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1254 0 : return false;
1255 : }
1256 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1257 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
1258 0 : return false;
1259 : }
1260 0 : return true;
1261 : }
1262 :
1263 : static bool
1264 0 : set_animationName(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
1265 : {
1266 0 : binding_detail::FakeString arg0;
1267 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
1268 0 : return false;
1269 : }
1270 0 : binding_detail::FastErrorResult rv;
1271 0 : self->SetAnimationName(NonNullHelper(Constify(arg0)), rv);
1272 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1273 0 : return false;
1274 : }
1275 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1276 :
1277 0 : return true;
1278 : }
1279 :
1280 : static const JSJitInfo animationName_getterinfo = {
1281 : { (JSJitGetterOp)get_animationName },
1282 : { prototypes::id::CSS2Properties },
1283 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1284 : JSJitInfo::Getter,
1285 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1286 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
1287 : false, /* isInfallible. False in setters. */
1288 : false, /* isMovable. Not relevant for setters. */
1289 : false, /* isEliminatable. Not relevant for setters. */
1290 : false, /* isAlwaysInSlot. Only relevant for getters. */
1291 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1292 : false, /* isTypedMethod. Only relevant for methods. */
1293 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1294 : };
1295 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1296 : static_assert(0 < 1, "There is no slot for us");
1297 : static const JSJitInfo animationName_setterinfo = {
1298 : { (JSJitGetterOp)set_animationName },
1299 : { prototypes::id::CSS2Properties },
1300 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1301 : JSJitInfo::Setter,
1302 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1303 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
1304 : false, /* isInfallible. False in setters. */
1305 : false, /* isMovable. Not relevant for setters. */
1306 : false, /* isEliminatable. Not relevant for setters. */
1307 : false, /* isAlwaysInSlot. Only relevant for getters. */
1308 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1309 : false, /* isTypedMethod. Only relevant for methods. */
1310 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1311 : };
1312 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1313 : static_assert(0 < 1, "There is no slot for us");
1314 :
1315 : static bool
1316 0 : get_animation_name(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
1317 : {
1318 0 : binding_detail::FastErrorResult rv;
1319 0 : DOMString result;
1320 0 : self->GetAnimationName(result, rv);
1321 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1322 0 : return false;
1323 : }
1324 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1325 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
1326 0 : return false;
1327 : }
1328 0 : return true;
1329 : }
1330 :
1331 : static bool
1332 0 : set_animation_name(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
1333 : {
1334 0 : binding_detail::FakeString arg0;
1335 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
1336 0 : return false;
1337 : }
1338 0 : binding_detail::FastErrorResult rv;
1339 0 : self->SetAnimationName(NonNullHelper(Constify(arg0)), rv);
1340 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1341 0 : return false;
1342 : }
1343 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1344 :
1345 0 : return true;
1346 : }
1347 :
1348 : static const JSJitInfo animation_name_getterinfo = {
1349 : { (JSJitGetterOp)get_animation_name },
1350 : { prototypes::id::CSS2Properties },
1351 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1352 : JSJitInfo::Getter,
1353 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1354 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
1355 : false, /* isInfallible. False in setters. */
1356 : false, /* isMovable. Not relevant for setters. */
1357 : false, /* isEliminatable. Not relevant for setters. */
1358 : false, /* isAlwaysInSlot. Only relevant for getters. */
1359 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1360 : false, /* isTypedMethod. Only relevant for methods. */
1361 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1362 : };
1363 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1364 : static_assert(0 < 1, "There is no slot for us");
1365 : static const JSJitInfo animation_name_setterinfo = {
1366 : { (JSJitGetterOp)set_animation_name },
1367 : { prototypes::id::CSS2Properties },
1368 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1369 : JSJitInfo::Setter,
1370 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1371 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
1372 : false, /* isInfallible. False in setters. */
1373 : false, /* isMovable. Not relevant for setters. */
1374 : false, /* isEliminatable. Not relevant for setters. */
1375 : false, /* isAlwaysInSlot. Only relevant for getters. */
1376 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1377 : false, /* isTypedMethod. Only relevant for methods. */
1378 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1379 : };
1380 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1381 : static_assert(0 < 1, "There is no slot for us");
1382 :
1383 : static bool
1384 0 : get_animationPlayState(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
1385 : {
1386 0 : binding_detail::FastErrorResult rv;
1387 0 : DOMString result;
1388 0 : self->GetAnimationPlayState(result, rv);
1389 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1390 0 : return false;
1391 : }
1392 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1393 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
1394 0 : return false;
1395 : }
1396 0 : return true;
1397 : }
1398 :
1399 : static bool
1400 0 : set_animationPlayState(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
1401 : {
1402 0 : binding_detail::FakeString arg0;
1403 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
1404 0 : return false;
1405 : }
1406 0 : binding_detail::FastErrorResult rv;
1407 0 : self->SetAnimationPlayState(NonNullHelper(Constify(arg0)), rv);
1408 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1409 0 : return false;
1410 : }
1411 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1412 :
1413 0 : return true;
1414 : }
1415 :
1416 : static const JSJitInfo animationPlayState_getterinfo = {
1417 : { (JSJitGetterOp)get_animationPlayState },
1418 : { prototypes::id::CSS2Properties },
1419 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1420 : JSJitInfo::Getter,
1421 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1422 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
1423 : false, /* isInfallible. False in setters. */
1424 : false, /* isMovable. Not relevant for setters. */
1425 : false, /* isEliminatable. Not relevant for setters. */
1426 : false, /* isAlwaysInSlot. Only relevant for getters. */
1427 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1428 : false, /* isTypedMethod. Only relevant for methods. */
1429 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1430 : };
1431 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1432 : static_assert(0 < 1, "There is no slot for us");
1433 : static const JSJitInfo animationPlayState_setterinfo = {
1434 : { (JSJitGetterOp)set_animationPlayState },
1435 : { prototypes::id::CSS2Properties },
1436 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1437 : JSJitInfo::Setter,
1438 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1439 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
1440 : false, /* isInfallible. False in setters. */
1441 : false, /* isMovable. Not relevant for setters. */
1442 : false, /* isEliminatable. Not relevant for setters. */
1443 : false, /* isAlwaysInSlot. Only relevant for getters. */
1444 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1445 : false, /* isTypedMethod. Only relevant for methods. */
1446 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1447 : };
1448 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1449 : static_assert(0 < 1, "There is no slot for us");
1450 :
1451 : static bool
1452 0 : get_animation_play_state(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
1453 : {
1454 0 : binding_detail::FastErrorResult rv;
1455 0 : DOMString result;
1456 0 : self->GetAnimationPlayState(result, rv);
1457 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1458 0 : return false;
1459 : }
1460 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1461 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
1462 0 : return false;
1463 : }
1464 0 : return true;
1465 : }
1466 :
1467 : static bool
1468 0 : set_animation_play_state(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
1469 : {
1470 0 : binding_detail::FakeString arg0;
1471 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
1472 0 : return false;
1473 : }
1474 0 : binding_detail::FastErrorResult rv;
1475 0 : self->SetAnimationPlayState(NonNullHelper(Constify(arg0)), rv);
1476 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1477 0 : return false;
1478 : }
1479 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1480 :
1481 0 : return true;
1482 : }
1483 :
1484 : static const JSJitInfo animation_play_state_getterinfo = {
1485 : { (JSJitGetterOp)get_animation_play_state },
1486 : { prototypes::id::CSS2Properties },
1487 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1488 : JSJitInfo::Getter,
1489 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1490 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
1491 : false, /* isInfallible. False in setters. */
1492 : false, /* isMovable. Not relevant for setters. */
1493 : false, /* isEliminatable. Not relevant for setters. */
1494 : false, /* isAlwaysInSlot. Only relevant for getters. */
1495 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1496 : false, /* isTypedMethod. Only relevant for methods. */
1497 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1498 : };
1499 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1500 : static_assert(0 < 1, "There is no slot for us");
1501 : static const JSJitInfo animation_play_state_setterinfo = {
1502 : { (JSJitGetterOp)set_animation_play_state },
1503 : { prototypes::id::CSS2Properties },
1504 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1505 : JSJitInfo::Setter,
1506 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1507 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
1508 : false, /* isInfallible. False in setters. */
1509 : false, /* isMovable. Not relevant for setters. */
1510 : false, /* isEliminatable. Not relevant for setters. */
1511 : false, /* isAlwaysInSlot. Only relevant for getters. */
1512 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1513 : false, /* isTypedMethod. Only relevant for methods. */
1514 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1515 : };
1516 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1517 : static_assert(0 < 1, "There is no slot for us");
1518 :
1519 : static bool
1520 0 : get_animationTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
1521 : {
1522 0 : binding_detail::FastErrorResult rv;
1523 0 : DOMString result;
1524 0 : self->GetAnimationTimingFunction(result, rv);
1525 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1526 0 : return false;
1527 : }
1528 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1529 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
1530 0 : return false;
1531 : }
1532 0 : return true;
1533 : }
1534 :
1535 : static bool
1536 0 : set_animationTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
1537 : {
1538 0 : binding_detail::FakeString arg0;
1539 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
1540 0 : return false;
1541 : }
1542 0 : binding_detail::FastErrorResult rv;
1543 0 : self->SetAnimationTimingFunction(NonNullHelper(Constify(arg0)), rv);
1544 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1545 0 : return false;
1546 : }
1547 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1548 :
1549 0 : return true;
1550 : }
1551 :
1552 : static const JSJitInfo animationTimingFunction_getterinfo = {
1553 : { (JSJitGetterOp)get_animationTimingFunction },
1554 : { prototypes::id::CSS2Properties },
1555 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1556 : JSJitInfo::Getter,
1557 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1558 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
1559 : false, /* isInfallible. False in setters. */
1560 : false, /* isMovable. Not relevant for setters. */
1561 : false, /* isEliminatable. Not relevant for setters. */
1562 : false, /* isAlwaysInSlot. Only relevant for getters. */
1563 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1564 : false, /* isTypedMethod. Only relevant for methods. */
1565 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1566 : };
1567 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1568 : static_assert(0 < 1, "There is no slot for us");
1569 : static const JSJitInfo animationTimingFunction_setterinfo = {
1570 : { (JSJitGetterOp)set_animationTimingFunction },
1571 : { prototypes::id::CSS2Properties },
1572 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1573 : JSJitInfo::Setter,
1574 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1575 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
1576 : false, /* isInfallible. False in setters. */
1577 : false, /* isMovable. Not relevant for setters. */
1578 : false, /* isEliminatable. Not relevant for setters. */
1579 : false, /* isAlwaysInSlot. Only relevant for getters. */
1580 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1581 : false, /* isTypedMethod. Only relevant for methods. */
1582 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1583 : };
1584 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1585 : static_assert(0 < 1, "There is no slot for us");
1586 :
1587 : static bool
1588 0 : get_animation_timing_function(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
1589 : {
1590 0 : binding_detail::FastErrorResult rv;
1591 0 : DOMString result;
1592 0 : self->GetAnimationTimingFunction(result, rv);
1593 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1594 0 : return false;
1595 : }
1596 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1597 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
1598 0 : return false;
1599 : }
1600 0 : return true;
1601 : }
1602 :
1603 : static bool
1604 0 : set_animation_timing_function(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
1605 : {
1606 0 : binding_detail::FakeString arg0;
1607 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
1608 0 : return false;
1609 : }
1610 0 : binding_detail::FastErrorResult rv;
1611 0 : self->SetAnimationTimingFunction(NonNullHelper(Constify(arg0)), rv);
1612 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1613 0 : return false;
1614 : }
1615 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1616 :
1617 0 : return true;
1618 : }
1619 :
1620 : static const JSJitInfo animation_timing_function_getterinfo = {
1621 : { (JSJitGetterOp)get_animation_timing_function },
1622 : { prototypes::id::CSS2Properties },
1623 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1624 : JSJitInfo::Getter,
1625 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1626 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
1627 : false, /* isInfallible. False in setters. */
1628 : false, /* isMovable. Not relevant for setters. */
1629 : false, /* isEliminatable. Not relevant for setters. */
1630 : false, /* isAlwaysInSlot. Only relevant for getters. */
1631 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1632 : false, /* isTypedMethod. Only relevant for methods. */
1633 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1634 : };
1635 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1636 : static_assert(0 < 1, "There is no slot for us");
1637 : static const JSJitInfo animation_timing_function_setterinfo = {
1638 : { (JSJitGetterOp)set_animation_timing_function },
1639 : { prototypes::id::CSS2Properties },
1640 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1641 : JSJitInfo::Setter,
1642 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1643 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
1644 : false, /* isInfallible. False in setters. */
1645 : false, /* isMovable. Not relevant for setters. */
1646 : false, /* isEliminatable. Not relevant for setters. */
1647 : false, /* isAlwaysInSlot. Only relevant for getters. */
1648 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1649 : false, /* isTypedMethod. Only relevant for methods. */
1650 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1651 : };
1652 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1653 : static_assert(0 < 1, "There is no slot for us");
1654 :
1655 : static bool
1656 0 : get_MozAppearance(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
1657 : {
1658 0 : binding_detail::FastErrorResult rv;
1659 0 : DOMString result;
1660 0 : self->GetMozAppearance(result, rv);
1661 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1662 0 : return false;
1663 : }
1664 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1665 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
1666 0 : return false;
1667 : }
1668 0 : return true;
1669 : }
1670 :
1671 : static bool
1672 0 : set_MozAppearance(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
1673 : {
1674 0 : binding_detail::FakeString arg0;
1675 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
1676 0 : return false;
1677 : }
1678 0 : binding_detail::FastErrorResult rv;
1679 0 : self->SetMozAppearance(NonNullHelper(Constify(arg0)), rv);
1680 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1681 0 : return false;
1682 : }
1683 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1684 :
1685 0 : return true;
1686 : }
1687 :
1688 : static const JSJitInfo MozAppearance_getterinfo = {
1689 : { (JSJitGetterOp)get_MozAppearance },
1690 : { prototypes::id::CSS2Properties },
1691 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1692 : JSJitInfo::Getter,
1693 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1694 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
1695 : false, /* isInfallible. False in setters. */
1696 : false, /* isMovable. Not relevant for setters. */
1697 : false, /* isEliminatable. Not relevant for setters. */
1698 : false, /* isAlwaysInSlot. Only relevant for getters. */
1699 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1700 : false, /* isTypedMethod. Only relevant for methods. */
1701 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1702 : };
1703 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1704 : static_assert(0 < 1, "There is no slot for us");
1705 : static const JSJitInfo MozAppearance_setterinfo = {
1706 : { (JSJitGetterOp)set_MozAppearance },
1707 : { prototypes::id::CSS2Properties },
1708 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1709 : JSJitInfo::Setter,
1710 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1711 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
1712 : false, /* isInfallible. False in setters. */
1713 : false, /* isMovable. Not relevant for setters. */
1714 : false, /* isEliminatable. Not relevant for setters. */
1715 : false, /* isAlwaysInSlot. Only relevant for getters. */
1716 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1717 : false, /* isTypedMethod. Only relevant for methods. */
1718 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1719 : };
1720 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1721 : static_assert(0 < 1, "There is no slot for us");
1722 :
1723 : static bool
1724 0 : get__moz_appearance(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
1725 : {
1726 0 : binding_detail::FastErrorResult rv;
1727 0 : DOMString result;
1728 0 : self->GetMozAppearance(result, rv);
1729 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1730 0 : return false;
1731 : }
1732 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1733 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
1734 0 : return false;
1735 : }
1736 0 : return true;
1737 : }
1738 :
1739 : static bool
1740 0 : set__moz_appearance(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
1741 : {
1742 0 : binding_detail::FakeString arg0;
1743 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
1744 0 : return false;
1745 : }
1746 0 : binding_detail::FastErrorResult rv;
1747 0 : self->SetMozAppearance(NonNullHelper(Constify(arg0)), rv);
1748 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1749 0 : return false;
1750 : }
1751 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1752 :
1753 0 : return true;
1754 : }
1755 :
1756 : static const JSJitInfo _moz_appearance_getterinfo = {
1757 : { (JSJitGetterOp)get__moz_appearance },
1758 : { prototypes::id::CSS2Properties },
1759 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1760 : JSJitInfo::Getter,
1761 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1762 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
1763 : false, /* isInfallible. False in setters. */
1764 : false, /* isMovable. Not relevant for setters. */
1765 : false, /* isEliminatable. Not relevant for setters. */
1766 : false, /* isAlwaysInSlot. Only relevant for getters. */
1767 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1768 : false, /* isTypedMethod. Only relevant for methods. */
1769 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1770 : };
1771 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1772 : static_assert(0 < 1, "There is no slot for us");
1773 : static const JSJitInfo _moz_appearance_setterinfo = {
1774 : { (JSJitGetterOp)set__moz_appearance },
1775 : { prototypes::id::CSS2Properties },
1776 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1777 : JSJitInfo::Setter,
1778 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1779 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
1780 : false, /* isInfallible. False in setters. */
1781 : false, /* isMovable. Not relevant for setters. */
1782 : false, /* isEliminatable. Not relevant for setters. */
1783 : false, /* isAlwaysInSlot. Only relevant for getters. */
1784 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1785 : false, /* isTypedMethod. Only relevant for methods. */
1786 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1787 : };
1788 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1789 : static_assert(0 < 1, "There is no slot for us");
1790 :
1791 : static bool
1792 0 : get_backfaceVisibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
1793 : {
1794 0 : binding_detail::FastErrorResult rv;
1795 0 : DOMString result;
1796 0 : self->GetBackfaceVisibility(result, rv);
1797 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1798 0 : return false;
1799 : }
1800 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1801 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
1802 0 : return false;
1803 : }
1804 0 : return true;
1805 : }
1806 :
1807 : static bool
1808 0 : set_backfaceVisibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
1809 : {
1810 0 : binding_detail::FakeString arg0;
1811 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
1812 0 : return false;
1813 : }
1814 0 : binding_detail::FastErrorResult rv;
1815 0 : self->SetBackfaceVisibility(NonNullHelper(Constify(arg0)), rv);
1816 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1817 0 : return false;
1818 : }
1819 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1820 :
1821 0 : return true;
1822 : }
1823 :
1824 : static const JSJitInfo backfaceVisibility_getterinfo = {
1825 : { (JSJitGetterOp)get_backfaceVisibility },
1826 : { prototypes::id::CSS2Properties },
1827 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1828 : JSJitInfo::Getter,
1829 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1830 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
1831 : false, /* isInfallible. False in setters. */
1832 : false, /* isMovable. Not relevant for setters. */
1833 : false, /* isEliminatable. Not relevant for setters. */
1834 : false, /* isAlwaysInSlot. Only relevant for getters. */
1835 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1836 : false, /* isTypedMethod. Only relevant for methods. */
1837 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1838 : };
1839 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1840 : static_assert(0 < 1, "There is no slot for us");
1841 : static const JSJitInfo backfaceVisibility_setterinfo = {
1842 : { (JSJitGetterOp)set_backfaceVisibility },
1843 : { prototypes::id::CSS2Properties },
1844 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1845 : JSJitInfo::Setter,
1846 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1847 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
1848 : false, /* isInfallible. False in setters. */
1849 : false, /* isMovable. Not relevant for setters. */
1850 : false, /* isEliminatable. Not relevant for setters. */
1851 : false, /* isAlwaysInSlot. Only relevant for getters. */
1852 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1853 : false, /* isTypedMethod. Only relevant for methods. */
1854 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1855 : };
1856 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1857 : static_assert(0 < 1, "There is no slot for us");
1858 :
1859 : static bool
1860 0 : get_backface_visibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
1861 : {
1862 0 : binding_detail::FastErrorResult rv;
1863 0 : DOMString result;
1864 0 : self->GetBackfaceVisibility(result, rv);
1865 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1866 0 : return false;
1867 : }
1868 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1869 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
1870 0 : return false;
1871 : }
1872 0 : return true;
1873 : }
1874 :
1875 : static bool
1876 0 : set_backface_visibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
1877 : {
1878 0 : binding_detail::FakeString arg0;
1879 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
1880 0 : return false;
1881 : }
1882 0 : binding_detail::FastErrorResult rv;
1883 0 : self->SetBackfaceVisibility(NonNullHelper(Constify(arg0)), rv);
1884 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1885 0 : return false;
1886 : }
1887 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1888 :
1889 0 : return true;
1890 : }
1891 :
1892 : static const JSJitInfo backface_visibility_getterinfo = {
1893 : { (JSJitGetterOp)get_backface_visibility },
1894 : { prototypes::id::CSS2Properties },
1895 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1896 : JSJitInfo::Getter,
1897 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1898 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
1899 : false, /* isInfallible. False in setters. */
1900 : false, /* isMovable. Not relevant for setters. */
1901 : false, /* isEliminatable. Not relevant for setters. */
1902 : false, /* isAlwaysInSlot. Only relevant for getters. */
1903 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1904 : false, /* isTypedMethod. Only relevant for methods. */
1905 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1906 : };
1907 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1908 : static_assert(0 < 1, "There is no slot for us");
1909 : static const JSJitInfo backface_visibility_setterinfo = {
1910 : { (JSJitGetterOp)set_backface_visibility },
1911 : { prototypes::id::CSS2Properties },
1912 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1913 : JSJitInfo::Setter,
1914 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1915 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
1916 : false, /* isInfallible. False in setters. */
1917 : false, /* isMovable. Not relevant for setters. */
1918 : false, /* isEliminatable. Not relevant for setters. */
1919 : false, /* isAlwaysInSlot. Only relevant for getters. */
1920 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1921 : false, /* isTypedMethod. Only relevant for methods. */
1922 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1923 : };
1924 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1925 : static_assert(0 < 1, "There is no slot for us");
1926 :
1927 : static bool
1928 0 : get_background(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
1929 : {
1930 0 : binding_detail::FastErrorResult rv;
1931 0 : DOMString result;
1932 0 : self->GetBackground(result, rv);
1933 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1934 0 : return false;
1935 : }
1936 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1937 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
1938 0 : return false;
1939 : }
1940 0 : return true;
1941 : }
1942 :
1943 : static bool
1944 0 : set_background(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
1945 : {
1946 0 : binding_detail::FakeString arg0;
1947 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
1948 0 : return false;
1949 : }
1950 0 : binding_detail::FastErrorResult rv;
1951 0 : self->SetBackground(NonNullHelper(Constify(arg0)), rv);
1952 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
1953 0 : return false;
1954 : }
1955 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
1956 :
1957 0 : return true;
1958 : }
1959 :
1960 : static const JSJitInfo background_getterinfo = {
1961 : { (JSJitGetterOp)get_background },
1962 : { prototypes::id::CSS2Properties },
1963 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1964 : JSJitInfo::Getter,
1965 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1966 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
1967 : false, /* isInfallible. False in setters. */
1968 : false, /* isMovable. Not relevant for setters. */
1969 : false, /* isEliminatable. Not relevant for setters. */
1970 : false, /* isAlwaysInSlot. Only relevant for getters. */
1971 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1972 : false, /* isTypedMethod. Only relevant for methods. */
1973 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1974 : };
1975 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1976 : static_assert(0 < 1, "There is no slot for us");
1977 : static const JSJitInfo background_setterinfo = {
1978 : { (JSJitGetterOp)set_background },
1979 : { prototypes::id::CSS2Properties },
1980 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
1981 : JSJitInfo::Setter,
1982 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
1983 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
1984 : false, /* isInfallible. False in setters. */
1985 : false, /* isMovable. Not relevant for setters. */
1986 : false, /* isEliminatable. Not relevant for setters. */
1987 : false, /* isAlwaysInSlot. Only relevant for getters. */
1988 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
1989 : false, /* isTypedMethod. Only relevant for methods. */
1990 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
1991 : };
1992 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
1993 : static_assert(0 < 1, "There is no slot for us");
1994 :
1995 : static bool
1996 0 : get_backgroundAttachment(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
1997 : {
1998 0 : binding_detail::FastErrorResult rv;
1999 0 : DOMString result;
2000 0 : self->GetBackgroundAttachment(result, rv);
2001 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2002 0 : return false;
2003 : }
2004 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2005 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
2006 0 : return false;
2007 : }
2008 0 : return true;
2009 : }
2010 :
2011 : static bool
2012 0 : set_backgroundAttachment(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
2013 : {
2014 0 : binding_detail::FakeString arg0;
2015 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
2016 0 : return false;
2017 : }
2018 0 : binding_detail::FastErrorResult rv;
2019 0 : self->SetBackgroundAttachment(NonNullHelper(Constify(arg0)), rv);
2020 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2021 0 : return false;
2022 : }
2023 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2024 :
2025 0 : return true;
2026 : }
2027 :
2028 : static const JSJitInfo backgroundAttachment_getterinfo = {
2029 : { (JSJitGetterOp)get_backgroundAttachment },
2030 : { prototypes::id::CSS2Properties },
2031 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2032 : JSJitInfo::Getter,
2033 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2034 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
2035 : false, /* isInfallible. False in setters. */
2036 : false, /* isMovable. Not relevant for setters. */
2037 : false, /* isEliminatable. Not relevant for setters. */
2038 : false, /* isAlwaysInSlot. Only relevant for getters. */
2039 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2040 : false, /* isTypedMethod. Only relevant for methods. */
2041 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2042 : };
2043 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2044 : static_assert(0 < 1, "There is no slot for us");
2045 : static const JSJitInfo backgroundAttachment_setterinfo = {
2046 : { (JSJitGetterOp)set_backgroundAttachment },
2047 : { prototypes::id::CSS2Properties },
2048 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2049 : JSJitInfo::Setter,
2050 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2051 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
2052 : false, /* isInfallible. False in setters. */
2053 : false, /* isMovable. Not relevant for setters. */
2054 : false, /* isEliminatable. Not relevant for setters. */
2055 : false, /* isAlwaysInSlot. Only relevant for getters. */
2056 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2057 : false, /* isTypedMethod. Only relevant for methods. */
2058 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2059 : };
2060 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2061 : static_assert(0 < 1, "There is no slot for us");
2062 :
2063 : static bool
2064 0 : get_background_attachment(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
2065 : {
2066 0 : binding_detail::FastErrorResult rv;
2067 0 : DOMString result;
2068 0 : self->GetBackgroundAttachment(result, rv);
2069 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2070 0 : return false;
2071 : }
2072 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2073 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
2074 0 : return false;
2075 : }
2076 0 : return true;
2077 : }
2078 :
2079 : static bool
2080 0 : set_background_attachment(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
2081 : {
2082 0 : binding_detail::FakeString arg0;
2083 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
2084 0 : return false;
2085 : }
2086 0 : binding_detail::FastErrorResult rv;
2087 0 : self->SetBackgroundAttachment(NonNullHelper(Constify(arg0)), rv);
2088 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2089 0 : return false;
2090 : }
2091 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2092 :
2093 0 : return true;
2094 : }
2095 :
2096 : static const JSJitInfo background_attachment_getterinfo = {
2097 : { (JSJitGetterOp)get_background_attachment },
2098 : { prototypes::id::CSS2Properties },
2099 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2100 : JSJitInfo::Getter,
2101 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2102 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
2103 : false, /* isInfallible. False in setters. */
2104 : false, /* isMovable. Not relevant for setters. */
2105 : false, /* isEliminatable. Not relevant for setters. */
2106 : false, /* isAlwaysInSlot. Only relevant for getters. */
2107 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2108 : false, /* isTypedMethod. Only relevant for methods. */
2109 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2110 : };
2111 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2112 : static_assert(0 < 1, "There is no slot for us");
2113 : static const JSJitInfo background_attachment_setterinfo = {
2114 : { (JSJitGetterOp)set_background_attachment },
2115 : { prototypes::id::CSS2Properties },
2116 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2117 : JSJitInfo::Setter,
2118 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2119 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
2120 : false, /* isInfallible. False in setters. */
2121 : false, /* isMovable. Not relevant for setters. */
2122 : false, /* isEliminatable. Not relevant for setters. */
2123 : false, /* isAlwaysInSlot. Only relevant for getters. */
2124 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2125 : false, /* isTypedMethod. Only relevant for methods. */
2126 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2127 : };
2128 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2129 : static_assert(0 < 1, "There is no slot for us");
2130 :
2131 : static bool
2132 0 : get_backgroundBlendMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
2133 : {
2134 0 : binding_detail::FastErrorResult rv;
2135 0 : DOMString result;
2136 0 : self->GetBackgroundBlendMode(result, rv);
2137 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2138 0 : return false;
2139 : }
2140 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2141 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
2142 0 : return false;
2143 : }
2144 0 : return true;
2145 : }
2146 :
2147 : static bool
2148 0 : set_backgroundBlendMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
2149 : {
2150 0 : binding_detail::FakeString arg0;
2151 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
2152 0 : return false;
2153 : }
2154 0 : binding_detail::FastErrorResult rv;
2155 0 : self->SetBackgroundBlendMode(NonNullHelper(Constify(arg0)), rv);
2156 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2157 0 : return false;
2158 : }
2159 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2160 :
2161 0 : return true;
2162 : }
2163 :
2164 : static const JSJitInfo backgroundBlendMode_getterinfo = {
2165 : { (JSJitGetterOp)get_backgroundBlendMode },
2166 : { prototypes::id::CSS2Properties },
2167 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2168 : JSJitInfo::Getter,
2169 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2170 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
2171 : false, /* isInfallible. False in setters. */
2172 : false, /* isMovable. Not relevant for setters. */
2173 : false, /* isEliminatable. Not relevant for setters. */
2174 : false, /* isAlwaysInSlot. Only relevant for getters. */
2175 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2176 : false, /* isTypedMethod. Only relevant for methods. */
2177 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2178 : };
2179 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2180 : static_assert(0 < 1, "There is no slot for us");
2181 : static const JSJitInfo backgroundBlendMode_setterinfo = {
2182 : { (JSJitGetterOp)set_backgroundBlendMode },
2183 : { prototypes::id::CSS2Properties },
2184 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2185 : JSJitInfo::Setter,
2186 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2187 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
2188 : false, /* isInfallible. False in setters. */
2189 : false, /* isMovable. Not relevant for setters. */
2190 : false, /* isEliminatable. Not relevant for setters. */
2191 : false, /* isAlwaysInSlot. Only relevant for getters. */
2192 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2193 : false, /* isTypedMethod. Only relevant for methods. */
2194 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2195 : };
2196 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2197 : static_assert(0 < 1, "There is no slot for us");
2198 :
2199 : static bool
2200 0 : get_background_blend_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
2201 : {
2202 0 : binding_detail::FastErrorResult rv;
2203 0 : DOMString result;
2204 0 : self->GetBackgroundBlendMode(result, rv);
2205 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2206 0 : return false;
2207 : }
2208 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2209 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
2210 0 : return false;
2211 : }
2212 0 : return true;
2213 : }
2214 :
2215 : static bool
2216 0 : set_background_blend_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
2217 : {
2218 0 : binding_detail::FakeString arg0;
2219 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
2220 0 : return false;
2221 : }
2222 0 : binding_detail::FastErrorResult rv;
2223 0 : self->SetBackgroundBlendMode(NonNullHelper(Constify(arg0)), rv);
2224 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2225 0 : return false;
2226 : }
2227 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2228 :
2229 0 : return true;
2230 : }
2231 :
2232 : static const JSJitInfo background_blend_mode_getterinfo = {
2233 : { (JSJitGetterOp)get_background_blend_mode },
2234 : { prototypes::id::CSS2Properties },
2235 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2236 : JSJitInfo::Getter,
2237 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2238 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
2239 : false, /* isInfallible. False in setters. */
2240 : false, /* isMovable. Not relevant for setters. */
2241 : false, /* isEliminatable. Not relevant for setters. */
2242 : false, /* isAlwaysInSlot. Only relevant for getters. */
2243 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2244 : false, /* isTypedMethod. Only relevant for methods. */
2245 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2246 : };
2247 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2248 : static_assert(0 < 1, "There is no slot for us");
2249 : static const JSJitInfo background_blend_mode_setterinfo = {
2250 : { (JSJitGetterOp)set_background_blend_mode },
2251 : { prototypes::id::CSS2Properties },
2252 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2253 : JSJitInfo::Setter,
2254 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2255 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
2256 : false, /* isInfallible. False in setters. */
2257 : false, /* isMovable. Not relevant for setters. */
2258 : false, /* isEliminatable. Not relevant for setters. */
2259 : false, /* isAlwaysInSlot. Only relevant for getters. */
2260 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2261 : false, /* isTypedMethod. Only relevant for methods. */
2262 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2263 : };
2264 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2265 : static_assert(0 < 1, "There is no slot for us");
2266 :
2267 : static bool
2268 0 : get_backgroundClip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
2269 : {
2270 0 : binding_detail::FastErrorResult rv;
2271 0 : DOMString result;
2272 0 : self->GetBackgroundClip(result, rv);
2273 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2274 0 : return false;
2275 : }
2276 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2277 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
2278 0 : return false;
2279 : }
2280 0 : return true;
2281 : }
2282 :
2283 : static bool
2284 0 : set_backgroundClip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
2285 : {
2286 0 : binding_detail::FakeString arg0;
2287 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
2288 0 : return false;
2289 : }
2290 0 : binding_detail::FastErrorResult rv;
2291 0 : self->SetBackgroundClip(NonNullHelper(Constify(arg0)), rv);
2292 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2293 0 : return false;
2294 : }
2295 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2296 :
2297 0 : return true;
2298 : }
2299 :
2300 : static const JSJitInfo backgroundClip_getterinfo = {
2301 : { (JSJitGetterOp)get_backgroundClip },
2302 : { prototypes::id::CSS2Properties },
2303 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2304 : JSJitInfo::Getter,
2305 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2306 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
2307 : false, /* isInfallible. False in setters. */
2308 : false, /* isMovable. Not relevant for setters. */
2309 : false, /* isEliminatable. Not relevant for setters. */
2310 : false, /* isAlwaysInSlot. Only relevant for getters. */
2311 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2312 : false, /* isTypedMethod. Only relevant for methods. */
2313 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2314 : };
2315 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2316 : static_assert(0 < 1, "There is no slot for us");
2317 : static const JSJitInfo backgroundClip_setterinfo = {
2318 : { (JSJitGetterOp)set_backgroundClip },
2319 : { prototypes::id::CSS2Properties },
2320 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2321 : JSJitInfo::Setter,
2322 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2323 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
2324 : false, /* isInfallible. False in setters. */
2325 : false, /* isMovable. Not relevant for setters. */
2326 : false, /* isEliminatable. Not relevant for setters. */
2327 : false, /* isAlwaysInSlot. Only relevant for getters. */
2328 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2329 : false, /* isTypedMethod. Only relevant for methods. */
2330 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2331 : };
2332 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2333 : static_assert(0 < 1, "There is no slot for us");
2334 :
2335 : static bool
2336 0 : get_background_clip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
2337 : {
2338 0 : binding_detail::FastErrorResult rv;
2339 0 : DOMString result;
2340 0 : self->GetBackgroundClip(result, rv);
2341 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2342 0 : return false;
2343 : }
2344 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2345 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
2346 0 : return false;
2347 : }
2348 0 : return true;
2349 : }
2350 :
2351 : static bool
2352 0 : set_background_clip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
2353 : {
2354 0 : binding_detail::FakeString arg0;
2355 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
2356 0 : return false;
2357 : }
2358 0 : binding_detail::FastErrorResult rv;
2359 0 : self->SetBackgroundClip(NonNullHelper(Constify(arg0)), rv);
2360 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2361 0 : return false;
2362 : }
2363 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2364 :
2365 0 : return true;
2366 : }
2367 :
2368 : static const JSJitInfo background_clip_getterinfo = {
2369 : { (JSJitGetterOp)get_background_clip },
2370 : { prototypes::id::CSS2Properties },
2371 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2372 : JSJitInfo::Getter,
2373 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2374 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
2375 : false, /* isInfallible. False in setters. */
2376 : false, /* isMovable. Not relevant for setters. */
2377 : false, /* isEliminatable. Not relevant for setters. */
2378 : false, /* isAlwaysInSlot. Only relevant for getters. */
2379 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2380 : false, /* isTypedMethod. Only relevant for methods. */
2381 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2382 : };
2383 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2384 : static_assert(0 < 1, "There is no slot for us");
2385 : static const JSJitInfo background_clip_setterinfo = {
2386 : { (JSJitGetterOp)set_background_clip },
2387 : { prototypes::id::CSS2Properties },
2388 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2389 : JSJitInfo::Setter,
2390 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2391 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
2392 : false, /* isInfallible. False in setters. */
2393 : false, /* isMovable. Not relevant for setters. */
2394 : false, /* isEliminatable. Not relevant for setters. */
2395 : false, /* isAlwaysInSlot. Only relevant for getters. */
2396 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2397 : false, /* isTypedMethod. Only relevant for methods. */
2398 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2399 : };
2400 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2401 : static_assert(0 < 1, "There is no slot for us");
2402 :
2403 : static bool
2404 0 : get_backgroundColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
2405 : {
2406 0 : binding_detail::FastErrorResult rv;
2407 0 : DOMString result;
2408 0 : self->GetBackgroundColor(result, rv);
2409 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2410 0 : return false;
2411 : }
2412 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2413 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
2414 0 : return false;
2415 : }
2416 0 : return true;
2417 : }
2418 :
2419 : static bool
2420 1 : set_backgroundColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
2421 : {
2422 2 : binding_detail::FakeString arg0;
2423 1 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
2424 0 : return false;
2425 : }
2426 2 : binding_detail::FastErrorResult rv;
2427 1 : self->SetBackgroundColor(NonNullHelper(Constify(arg0)), rv);
2428 1 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2429 0 : return false;
2430 : }
2431 1 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2432 :
2433 1 : return true;
2434 : }
2435 :
2436 : static const JSJitInfo backgroundColor_getterinfo = {
2437 : { (JSJitGetterOp)get_backgroundColor },
2438 : { prototypes::id::CSS2Properties },
2439 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2440 : JSJitInfo::Getter,
2441 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2442 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
2443 : false, /* isInfallible. False in setters. */
2444 : false, /* isMovable. Not relevant for setters. */
2445 : false, /* isEliminatable. Not relevant for setters. */
2446 : false, /* isAlwaysInSlot. Only relevant for getters. */
2447 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2448 : false, /* isTypedMethod. Only relevant for methods. */
2449 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2450 : };
2451 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2452 : static_assert(0 < 1, "There is no slot for us");
2453 : static const JSJitInfo backgroundColor_setterinfo = {
2454 : { (JSJitGetterOp)set_backgroundColor },
2455 : { prototypes::id::CSS2Properties },
2456 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2457 : JSJitInfo::Setter,
2458 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2459 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
2460 : false, /* isInfallible. False in setters. */
2461 : false, /* isMovable. Not relevant for setters. */
2462 : false, /* isEliminatable. Not relevant for setters. */
2463 : false, /* isAlwaysInSlot. Only relevant for getters. */
2464 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2465 : false, /* isTypedMethod. Only relevant for methods. */
2466 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2467 : };
2468 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2469 : static_assert(0 < 1, "There is no slot for us");
2470 :
2471 : static bool
2472 0 : get_background_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
2473 : {
2474 0 : binding_detail::FastErrorResult rv;
2475 0 : DOMString result;
2476 0 : self->GetBackgroundColor(result, rv);
2477 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2478 0 : return false;
2479 : }
2480 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2481 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
2482 0 : return false;
2483 : }
2484 0 : return true;
2485 : }
2486 :
2487 : static bool
2488 0 : set_background_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
2489 : {
2490 0 : binding_detail::FakeString arg0;
2491 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
2492 0 : return false;
2493 : }
2494 0 : binding_detail::FastErrorResult rv;
2495 0 : self->SetBackgroundColor(NonNullHelper(Constify(arg0)), rv);
2496 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2497 0 : return false;
2498 : }
2499 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2500 :
2501 0 : return true;
2502 : }
2503 :
2504 : static const JSJitInfo background_color_getterinfo = {
2505 : { (JSJitGetterOp)get_background_color },
2506 : { prototypes::id::CSS2Properties },
2507 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2508 : JSJitInfo::Getter,
2509 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2510 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
2511 : false, /* isInfallible. False in setters. */
2512 : false, /* isMovable. Not relevant for setters. */
2513 : false, /* isEliminatable. Not relevant for setters. */
2514 : false, /* isAlwaysInSlot. Only relevant for getters. */
2515 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2516 : false, /* isTypedMethod. Only relevant for methods. */
2517 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2518 : };
2519 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2520 : static_assert(0 < 1, "There is no slot for us");
2521 : static const JSJitInfo background_color_setterinfo = {
2522 : { (JSJitGetterOp)set_background_color },
2523 : { prototypes::id::CSS2Properties },
2524 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2525 : JSJitInfo::Setter,
2526 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2527 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
2528 : false, /* isInfallible. False in setters. */
2529 : false, /* isMovable. Not relevant for setters. */
2530 : false, /* isEliminatable. Not relevant for setters. */
2531 : false, /* isAlwaysInSlot. Only relevant for getters. */
2532 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2533 : false, /* isTypedMethod. Only relevant for methods. */
2534 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2535 : };
2536 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2537 : static_assert(0 < 1, "There is no slot for us");
2538 :
2539 : static bool
2540 0 : get_backgroundImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
2541 : {
2542 0 : binding_detail::FastErrorResult rv;
2543 0 : DOMString result;
2544 0 : self->GetBackgroundImage(result, rv);
2545 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2546 0 : return false;
2547 : }
2548 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2549 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
2550 0 : return false;
2551 : }
2552 0 : return true;
2553 : }
2554 :
2555 : static bool
2556 0 : set_backgroundImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
2557 : {
2558 0 : binding_detail::FakeString arg0;
2559 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
2560 0 : return false;
2561 : }
2562 0 : binding_detail::FastErrorResult rv;
2563 0 : self->SetBackgroundImage(NonNullHelper(Constify(arg0)), rv);
2564 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2565 0 : return false;
2566 : }
2567 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2568 :
2569 0 : return true;
2570 : }
2571 :
2572 : static const JSJitInfo backgroundImage_getterinfo = {
2573 : { (JSJitGetterOp)get_backgroundImage },
2574 : { prototypes::id::CSS2Properties },
2575 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2576 : JSJitInfo::Getter,
2577 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2578 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
2579 : false, /* isInfallible. False in setters. */
2580 : false, /* isMovable. Not relevant for setters. */
2581 : false, /* isEliminatable. Not relevant for setters. */
2582 : false, /* isAlwaysInSlot. Only relevant for getters. */
2583 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2584 : false, /* isTypedMethod. Only relevant for methods. */
2585 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2586 : };
2587 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2588 : static_assert(0 < 1, "There is no slot for us");
2589 : static const JSJitInfo backgroundImage_setterinfo = {
2590 : { (JSJitGetterOp)set_backgroundImage },
2591 : { prototypes::id::CSS2Properties },
2592 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2593 : JSJitInfo::Setter,
2594 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2595 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
2596 : false, /* isInfallible. False in setters. */
2597 : false, /* isMovable. Not relevant for setters. */
2598 : false, /* isEliminatable. Not relevant for setters. */
2599 : false, /* isAlwaysInSlot. Only relevant for getters. */
2600 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2601 : false, /* isTypedMethod. Only relevant for methods. */
2602 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2603 : };
2604 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2605 : static_assert(0 < 1, "There is no slot for us");
2606 :
2607 : static bool
2608 0 : get_background_image(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
2609 : {
2610 0 : binding_detail::FastErrorResult rv;
2611 0 : DOMString result;
2612 0 : self->GetBackgroundImage(result, rv);
2613 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2614 0 : return false;
2615 : }
2616 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2617 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
2618 0 : return false;
2619 : }
2620 0 : return true;
2621 : }
2622 :
2623 : static bool
2624 0 : set_background_image(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
2625 : {
2626 0 : binding_detail::FakeString arg0;
2627 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
2628 0 : return false;
2629 : }
2630 0 : binding_detail::FastErrorResult rv;
2631 0 : self->SetBackgroundImage(NonNullHelper(Constify(arg0)), rv);
2632 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2633 0 : return false;
2634 : }
2635 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2636 :
2637 0 : return true;
2638 : }
2639 :
2640 : static const JSJitInfo background_image_getterinfo = {
2641 : { (JSJitGetterOp)get_background_image },
2642 : { prototypes::id::CSS2Properties },
2643 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2644 : JSJitInfo::Getter,
2645 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2646 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
2647 : false, /* isInfallible. False in setters. */
2648 : false, /* isMovable. Not relevant for setters. */
2649 : false, /* isEliminatable. Not relevant for setters. */
2650 : false, /* isAlwaysInSlot. Only relevant for getters. */
2651 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2652 : false, /* isTypedMethod. Only relevant for methods. */
2653 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2654 : };
2655 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2656 : static_assert(0 < 1, "There is no slot for us");
2657 : static const JSJitInfo background_image_setterinfo = {
2658 : { (JSJitGetterOp)set_background_image },
2659 : { prototypes::id::CSS2Properties },
2660 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2661 : JSJitInfo::Setter,
2662 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2663 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
2664 : false, /* isInfallible. False in setters. */
2665 : false, /* isMovable. Not relevant for setters. */
2666 : false, /* isEliminatable. Not relevant for setters. */
2667 : false, /* isAlwaysInSlot. Only relevant for getters. */
2668 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2669 : false, /* isTypedMethod. Only relevant for methods. */
2670 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2671 : };
2672 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2673 : static_assert(0 < 1, "There is no slot for us");
2674 :
2675 : static bool
2676 0 : get_backgroundOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
2677 : {
2678 0 : binding_detail::FastErrorResult rv;
2679 0 : DOMString result;
2680 0 : self->GetBackgroundOrigin(result, rv);
2681 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2682 0 : return false;
2683 : }
2684 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2685 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
2686 0 : return false;
2687 : }
2688 0 : return true;
2689 : }
2690 :
2691 : static bool
2692 0 : set_backgroundOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
2693 : {
2694 0 : binding_detail::FakeString arg0;
2695 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
2696 0 : return false;
2697 : }
2698 0 : binding_detail::FastErrorResult rv;
2699 0 : self->SetBackgroundOrigin(NonNullHelper(Constify(arg0)), rv);
2700 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2701 0 : return false;
2702 : }
2703 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2704 :
2705 0 : return true;
2706 : }
2707 :
2708 : static const JSJitInfo backgroundOrigin_getterinfo = {
2709 : { (JSJitGetterOp)get_backgroundOrigin },
2710 : { prototypes::id::CSS2Properties },
2711 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2712 : JSJitInfo::Getter,
2713 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2714 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
2715 : false, /* isInfallible. False in setters. */
2716 : false, /* isMovable. Not relevant for setters. */
2717 : false, /* isEliminatable. Not relevant for setters. */
2718 : false, /* isAlwaysInSlot. Only relevant for getters. */
2719 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2720 : false, /* isTypedMethod. Only relevant for methods. */
2721 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2722 : };
2723 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2724 : static_assert(0 < 1, "There is no slot for us");
2725 : static const JSJitInfo backgroundOrigin_setterinfo = {
2726 : { (JSJitGetterOp)set_backgroundOrigin },
2727 : { prototypes::id::CSS2Properties },
2728 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2729 : JSJitInfo::Setter,
2730 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2731 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
2732 : false, /* isInfallible. False in setters. */
2733 : false, /* isMovable. Not relevant for setters. */
2734 : false, /* isEliminatable. Not relevant for setters. */
2735 : false, /* isAlwaysInSlot. Only relevant for getters. */
2736 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2737 : false, /* isTypedMethod. Only relevant for methods. */
2738 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2739 : };
2740 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2741 : static_assert(0 < 1, "There is no slot for us");
2742 :
2743 : static bool
2744 0 : get_background_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
2745 : {
2746 0 : binding_detail::FastErrorResult rv;
2747 0 : DOMString result;
2748 0 : self->GetBackgroundOrigin(result, rv);
2749 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2750 0 : return false;
2751 : }
2752 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2753 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
2754 0 : return false;
2755 : }
2756 0 : return true;
2757 : }
2758 :
2759 : static bool
2760 0 : set_background_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
2761 : {
2762 0 : binding_detail::FakeString arg0;
2763 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
2764 0 : return false;
2765 : }
2766 0 : binding_detail::FastErrorResult rv;
2767 0 : self->SetBackgroundOrigin(NonNullHelper(Constify(arg0)), rv);
2768 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2769 0 : return false;
2770 : }
2771 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2772 :
2773 0 : return true;
2774 : }
2775 :
2776 : static const JSJitInfo background_origin_getterinfo = {
2777 : { (JSJitGetterOp)get_background_origin },
2778 : { prototypes::id::CSS2Properties },
2779 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2780 : JSJitInfo::Getter,
2781 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2782 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
2783 : false, /* isInfallible. False in setters. */
2784 : false, /* isMovable. Not relevant for setters. */
2785 : false, /* isEliminatable. Not relevant for setters. */
2786 : false, /* isAlwaysInSlot. Only relevant for getters. */
2787 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2788 : false, /* isTypedMethod. Only relevant for methods. */
2789 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2790 : };
2791 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2792 : static_assert(0 < 1, "There is no slot for us");
2793 : static const JSJitInfo background_origin_setterinfo = {
2794 : { (JSJitGetterOp)set_background_origin },
2795 : { prototypes::id::CSS2Properties },
2796 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2797 : JSJitInfo::Setter,
2798 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2799 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
2800 : false, /* isInfallible. False in setters. */
2801 : false, /* isMovable. Not relevant for setters. */
2802 : false, /* isEliminatable. Not relevant for setters. */
2803 : false, /* isAlwaysInSlot. Only relevant for getters. */
2804 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2805 : false, /* isTypedMethod. Only relevant for methods. */
2806 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2807 : };
2808 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2809 : static_assert(0 < 1, "There is no slot for us");
2810 :
2811 : static bool
2812 0 : get_backgroundPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
2813 : {
2814 0 : binding_detail::FastErrorResult rv;
2815 0 : DOMString result;
2816 0 : self->GetBackgroundPosition(result, rv);
2817 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2818 0 : return false;
2819 : }
2820 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2821 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
2822 0 : return false;
2823 : }
2824 0 : return true;
2825 : }
2826 :
2827 : static bool
2828 0 : set_backgroundPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
2829 : {
2830 0 : binding_detail::FakeString arg0;
2831 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
2832 0 : return false;
2833 : }
2834 0 : binding_detail::FastErrorResult rv;
2835 0 : self->SetBackgroundPosition(NonNullHelper(Constify(arg0)), rv);
2836 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2837 0 : return false;
2838 : }
2839 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2840 :
2841 0 : return true;
2842 : }
2843 :
2844 : static const JSJitInfo backgroundPosition_getterinfo = {
2845 : { (JSJitGetterOp)get_backgroundPosition },
2846 : { prototypes::id::CSS2Properties },
2847 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2848 : JSJitInfo::Getter,
2849 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2850 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
2851 : false, /* isInfallible. False in setters. */
2852 : false, /* isMovable. Not relevant for setters. */
2853 : false, /* isEliminatable. Not relevant for setters. */
2854 : false, /* isAlwaysInSlot. Only relevant for getters. */
2855 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2856 : false, /* isTypedMethod. Only relevant for methods. */
2857 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2858 : };
2859 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2860 : static_assert(0 < 1, "There is no slot for us");
2861 : static const JSJitInfo backgroundPosition_setterinfo = {
2862 : { (JSJitGetterOp)set_backgroundPosition },
2863 : { prototypes::id::CSS2Properties },
2864 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2865 : JSJitInfo::Setter,
2866 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2867 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
2868 : false, /* isInfallible. False in setters. */
2869 : false, /* isMovable. Not relevant for setters. */
2870 : false, /* isEliminatable. Not relevant for setters. */
2871 : false, /* isAlwaysInSlot. Only relevant for getters. */
2872 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2873 : false, /* isTypedMethod. Only relevant for methods. */
2874 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2875 : };
2876 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2877 : static_assert(0 < 1, "There is no slot for us");
2878 :
2879 : static bool
2880 0 : get_background_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
2881 : {
2882 0 : binding_detail::FastErrorResult rv;
2883 0 : DOMString result;
2884 0 : self->GetBackgroundPosition(result, rv);
2885 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2886 0 : return false;
2887 : }
2888 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2889 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
2890 0 : return false;
2891 : }
2892 0 : return true;
2893 : }
2894 :
2895 : static bool
2896 0 : set_background_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
2897 : {
2898 0 : binding_detail::FakeString arg0;
2899 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
2900 0 : return false;
2901 : }
2902 0 : binding_detail::FastErrorResult rv;
2903 0 : self->SetBackgroundPosition(NonNullHelper(Constify(arg0)), rv);
2904 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2905 0 : return false;
2906 : }
2907 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2908 :
2909 0 : return true;
2910 : }
2911 :
2912 : static const JSJitInfo background_position_getterinfo = {
2913 : { (JSJitGetterOp)get_background_position },
2914 : { prototypes::id::CSS2Properties },
2915 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2916 : JSJitInfo::Getter,
2917 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2918 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
2919 : false, /* isInfallible. False in setters. */
2920 : false, /* isMovable. Not relevant for setters. */
2921 : false, /* isEliminatable. Not relevant for setters. */
2922 : false, /* isAlwaysInSlot. Only relevant for getters. */
2923 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2924 : false, /* isTypedMethod. Only relevant for methods. */
2925 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2926 : };
2927 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2928 : static_assert(0 < 1, "There is no slot for us");
2929 : static const JSJitInfo background_position_setterinfo = {
2930 : { (JSJitGetterOp)set_background_position },
2931 : { prototypes::id::CSS2Properties },
2932 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2933 : JSJitInfo::Setter,
2934 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2935 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
2936 : false, /* isInfallible. False in setters. */
2937 : false, /* isMovable. Not relevant for setters. */
2938 : false, /* isEliminatable. Not relevant for setters. */
2939 : false, /* isAlwaysInSlot. Only relevant for getters. */
2940 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2941 : false, /* isTypedMethod. Only relevant for methods. */
2942 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2943 : };
2944 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2945 : static_assert(0 < 1, "There is no slot for us");
2946 :
2947 : static bool
2948 0 : get_backgroundPositionX(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
2949 : {
2950 0 : binding_detail::FastErrorResult rv;
2951 0 : DOMString result;
2952 0 : self->GetBackgroundPositionX(result, rv);
2953 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2954 0 : return false;
2955 : }
2956 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2957 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
2958 0 : return false;
2959 : }
2960 0 : return true;
2961 : }
2962 :
2963 : static bool
2964 0 : set_backgroundPositionX(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
2965 : {
2966 0 : binding_detail::FakeString arg0;
2967 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
2968 0 : return false;
2969 : }
2970 0 : binding_detail::FastErrorResult rv;
2971 0 : self->SetBackgroundPositionX(NonNullHelper(Constify(arg0)), rv);
2972 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
2973 0 : return false;
2974 : }
2975 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
2976 :
2977 0 : return true;
2978 : }
2979 :
2980 : static const JSJitInfo backgroundPositionX_getterinfo = {
2981 : { (JSJitGetterOp)get_backgroundPositionX },
2982 : { prototypes::id::CSS2Properties },
2983 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
2984 : JSJitInfo::Getter,
2985 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
2986 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
2987 : false, /* isInfallible. False in setters. */
2988 : false, /* isMovable. Not relevant for setters. */
2989 : false, /* isEliminatable. Not relevant for setters. */
2990 : false, /* isAlwaysInSlot. Only relevant for getters. */
2991 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
2992 : false, /* isTypedMethod. Only relevant for methods. */
2993 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
2994 : };
2995 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
2996 : static_assert(0 < 1, "There is no slot for us");
2997 : static const JSJitInfo backgroundPositionX_setterinfo = {
2998 : { (JSJitGetterOp)set_backgroundPositionX },
2999 : { prototypes::id::CSS2Properties },
3000 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3001 : JSJitInfo::Setter,
3002 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3003 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
3004 : false, /* isInfallible. False in setters. */
3005 : false, /* isMovable. Not relevant for setters. */
3006 : false, /* isEliminatable. Not relevant for setters. */
3007 : false, /* isAlwaysInSlot. Only relevant for getters. */
3008 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3009 : false, /* isTypedMethod. Only relevant for methods. */
3010 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3011 : };
3012 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3013 : static_assert(0 < 1, "There is no slot for us");
3014 :
3015 : static bool
3016 0 : get_background_position_x(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
3017 : {
3018 0 : binding_detail::FastErrorResult rv;
3019 0 : DOMString result;
3020 0 : self->GetBackgroundPositionX(result, rv);
3021 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3022 0 : return false;
3023 : }
3024 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3025 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
3026 0 : return false;
3027 : }
3028 0 : return true;
3029 : }
3030 :
3031 : static bool
3032 0 : set_background_position_x(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
3033 : {
3034 0 : binding_detail::FakeString arg0;
3035 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
3036 0 : return false;
3037 : }
3038 0 : binding_detail::FastErrorResult rv;
3039 0 : self->SetBackgroundPositionX(NonNullHelper(Constify(arg0)), rv);
3040 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3041 0 : return false;
3042 : }
3043 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3044 :
3045 0 : return true;
3046 : }
3047 :
3048 : static const JSJitInfo background_position_x_getterinfo = {
3049 : { (JSJitGetterOp)get_background_position_x },
3050 : { prototypes::id::CSS2Properties },
3051 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3052 : JSJitInfo::Getter,
3053 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3054 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
3055 : false, /* isInfallible. False in setters. */
3056 : false, /* isMovable. Not relevant for setters. */
3057 : false, /* isEliminatable. Not relevant for setters. */
3058 : false, /* isAlwaysInSlot. Only relevant for getters. */
3059 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3060 : false, /* isTypedMethod. Only relevant for methods. */
3061 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3062 : };
3063 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3064 : static_assert(0 < 1, "There is no slot for us");
3065 : static const JSJitInfo background_position_x_setterinfo = {
3066 : { (JSJitGetterOp)set_background_position_x },
3067 : { prototypes::id::CSS2Properties },
3068 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3069 : JSJitInfo::Setter,
3070 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3071 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
3072 : false, /* isInfallible. False in setters. */
3073 : false, /* isMovable. Not relevant for setters. */
3074 : false, /* isEliminatable. Not relevant for setters. */
3075 : false, /* isAlwaysInSlot. Only relevant for getters. */
3076 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3077 : false, /* isTypedMethod. Only relevant for methods. */
3078 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3079 : };
3080 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3081 : static_assert(0 < 1, "There is no slot for us");
3082 :
3083 : static bool
3084 0 : get_backgroundPositionY(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
3085 : {
3086 0 : binding_detail::FastErrorResult rv;
3087 0 : DOMString result;
3088 0 : self->GetBackgroundPositionY(result, rv);
3089 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3090 0 : return false;
3091 : }
3092 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3093 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
3094 0 : return false;
3095 : }
3096 0 : return true;
3097 : }
3098 :
3099 : static bool
3100 0 : set_backgroundPositionY(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
3101 : {
3102 0 : binding_detail::FakeString arg0;
3103 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
3104 0 : return false;
3105 : }
3106 0 : binding_detail::FastErrorResult rv;
3107 0 : self->SetBackgroundPositionY(NonNullHelper(Constify(arg0)), rv);
3108 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3109 0 : return false;
3110 : }
3111 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3112 :
3113 0 : return true;
3114 : }
3115 :
3116 : static const JSJitInfo backgroundPositionY_getterinfo = {
3117 : { (JSJitGetterOp)get_backgroundPositionY },
3118 : { prototypes::id::CSS2Properties },
3119 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3120 : JSJitInfo::Getter,
3121 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3122 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
3123 : false, /* isInfallible. False in setters. */
3124 : false, /* isMovable. Not relevant for setters. */
3125 : false, /* isEliminatable. Not relevant for setters. */
3126 : false, /* isAlwaysInSlot. Only relevant for getters. */
3127 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3128 : false, /* isTypedMethod. Only relevant for methods. */
3129 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3130 : };
3131 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3132 : static_assert(0 < 1, "There is no slot for us");
3133 : static const JSJitInfo backgroundPositionY_setterinfo = {
3134 : { (JSJitGetterOp)set_backgroundPositionY },
3135 : { prototypes::id::CSS2Properties },
3136 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3137 : JSJitInfo::Setter,
3138 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3139 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
3140 : false, /* isInfallible. False in setters. */
3141 : false, /* isMovable. Not relevant for setters. */
3142 : false, /* isEliminatable. Not relevant for setters. */
3143 : false, /* isAlwaysInSlot. Only relevant for getters. */
3144 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3145 : false, /* isTypedMethod. Only relevant for methods. */
3146 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3147 : };
3148 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3149 : static_assert(0 < 1, "There is no slot for us");
3150 :
3151 : static bool
3152 0 : get_background_position_y(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
3153 : {
3154 0 : binding_detail::FastErrorResult rv;
3155 0 : DOMString result;
3156 0 : self->GetBackgroundPositionY(result, rv);
3157 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3158 0 : return false;
3159 : }
3160 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3161 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
3162 0 : return false;
3163 : }
3164 0 : return true;
3165 : }
3166 :
3167 : static bool
3168 0 : set_background_position_y(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
3169 : {
3170 0 : binding_detail::FakeString arg0;
3171 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
3172 0 : return false;
3173 : }
3174 0 : binding_detail::FastErrorResult rv;
3175 0 : self->SetBackgroundPositionY(NonNullHelper(Constify(arg0)), rv);
3176 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3177 0 : return false;
3178 : }
3179 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3180 :
3181 0 : return true;
3182 : }
3183 :
3184 : static const JSJitInfo background_position_y_getterinfo = {
3185 : { (JSJitGetterOp)get_background_position_y },
3186 : { prototypes::id::CSS2Properties },
3187 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3188 : JSJitInfo::Getter,
3189 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3190 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
3191 : false, /* isInfallible. False in setters. */
3192 : false, /* isMovable. Not relevant for setters. */
3193 : false, /* isEliminatable. Not relevant for setters. */
3194 : false, /* isAlwaysInSlot. Only relevant for getters. */
3195 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3196 : false, /* isTypedMethod. Only relevant for methods. */
3197 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3198 : };
3199 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3200 : static_assert(0 < 1, "There is no slot for us");
3201 : static const JSJitInfo background_position_y_setterinfo = {
3202 : { (JSJitGetterOp)set_background_position_y },
3203 : { prototypes::id::CSS2Properties },
3204 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3205 : JSJitInfo::Setter,
3206 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3207 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
3208 : false, /* isInfallible. False in setters. */
3209 : false, /* isMovable. Not relevant for setters. */
3210 : false, /* isEliminatable. Not relevant for setters. */
3211 : false, /* isAlwaysInSlot. Only relevant for getters. */
3212 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3213 : false, /* isTypedMethod. Only relevant for methods. */
3214 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3215 : };
3216 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3217 : static_assert(0 < 1, "There is no slot for us");
3218 :
3219 : static bool
3220 0 : get_backgroundRepeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
3221 : {
3222 0 : binding_detail::FastErrorResult rv;
3223 0 : DOMString result;
3224 0 : self->GetBackgroundRepeat(result, rv);
3225 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3226 0 : return false;
3227 : }
3228 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3229 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
3230 0 : return false;
3231 : }
3232 0 : return true;
3233 : }
3234 :
3235 : static bool
3236 0 : set_backgroundRepeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
3237 : {
3238 0 : binding_detail::FakeString arg0;
3239 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
3240 0 : return false;
3241 : }
3242 0 : binding_detail::FastErrorResult rv;
3243 0 : self->SetBackgroundRepeat(NonNullHelper(Constify(arg0)), rv);
3244 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3245 0 : return false;
3246 : }
3247 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3248 :
3249 0 : return true;
3250 : }
3251 :
3252 : static const JSJitInfo backgroundRepeat_getterinfo = {
3253 : { (JSJitGetterOp)get_backgroundRepeat },
3254 : { prototypes::id::CSS2Properties },
3255 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3256 : JSJitInfo::Getter,
3257 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3258 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
3259 : false, /* isInfallible. False in setters. */
3260 : false, /* isMovable. Not relevant for setters. */
3261 : false, /* isEliminatable. Not relevant for setters. */
3262 : false, /* isAlwaysInSlot. Only relevant for getters. */
3263 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3264 : false, /* isTypedMethod. Only relevant for methods. */
3265 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3266 : };
3267 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3268 : static_assert(0 < 1, "There is no slot for us");
3269 : static const JSJitInfo backgroundRepeat_setterinfo = {
3270 : { (JSJitGetterOp)set_backgroundRepeat },
3271 : { prototypes::id::CSS2Properties },
3272 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3273 : JSJitInfo::Setter,
3274 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3275 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
3276 : false, /* isInfallible. False in setters. */
3277 : false, /* isMovable. Not relevant for setters. */
3278 : false, /* isEliminatable. Not relevant for setters. */
3279 : false, /* isAlwaysInSlot. Only relevant for getters. */
3280 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3281 : false, /* isTypedMethod. Only relevant for methods. */
3282 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3283 : };
3284 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3285 : static_assert(0 < 1, "There is no slot for us");
3286 :
3287 : static bool
3288 0 : get_background_repeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
3289 : {
3290 0 : binding_detail::FastErrorResult rv;
3291 0 : DOMString result;
3292 0 : self->GetBackgroundRepeat(result, rv);
3293 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3294 0 : return false;
3295 : }
3296 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3297 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
3298 0 : return false;
3299 : }
3300 0 : return true;
3301 : }
3302 :
3303 : static bool
3304 0 : set_background_repeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
3305 : {
3306 0 : binding_detail::FakeString arg0;
3307 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
3308 0 : return false;
3309 : }
3310 0 : binding_detail::FastErrorResult rv;
3311 0 : self->SetBackgroundRepeat(NonNullHelper(Constify(arg0)), rv);
3312 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3313 0 : return false;
3314 : }
3315 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3316 :
3317 0 : return true;
3318 : }
3319 :
3320 : static const JSJitInfo background_repeat_getterinfo = {
3321 : { (JSJitGetterOp)get_background_repeat },
3322 : { prototypes::id::CSS2Properties },
3323 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3324 : JSJitInfo::Getter,
3325 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3326 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
3327 : false, /* isInfallible. False in setters. */
3328 : false, /* isMovable. Not relevant for setters. */
3329 : false, /* isEliminatable. Not relevant for setters. */
3330 : false, /* isAlwaysInSlot. Only relevant for getters. */
3331 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3332 : false, /* isTypedMethod. Only relevant for methods. */
3333 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3334 : };
3335 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3336 : static_assert(0 < 1, "There is no slot for us");
3337 : static const JSJitInfo background_repeat_setterinfo = {
3338 : { (JSJitGetterOp)set_background_repeat },
3339 : { prototypes::id::CSS2Properties },
3340 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3341 : JSJitInfo::Setter,
3342 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3343 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
3344 : false, /* isInfallible. False in setters. */
3345 : false, /* isMovable. Not relevant for setters. */
3346 : false, /* isEliminatable. Not relevant for setters. */
3347 : false, /* isAlwaysInSlot. Only relevant for getters. */
3348 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3349 : false, /* isTypedMethod. Only relevant for methods. */
3350 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3351 : };
3352 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3353 : static_assert(0 < 1, "There is no slot for us");
3354 :
3355 : static bool
3356 0 : get_backgroundSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
3357 : {
3358 0 : binding_detail::FastErrorResult rv;
3359 0 : DOMString result;
3360 0 : self->GetBackgroundSize(result, rv);
3361 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3362 0 : return false;
3363 : }
3364 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3365 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
3366 0 : return false;
3367 : }
3368 0 : return true;
3369 : }
3370 :
3371 : static bool
3372 0 : set_backgroundSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
3373 : {
3374 0 : binding_detail::FakeString arg0;
3375 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
3376 0 : return false;
3377 : }
3378 0 : binding_detail::FastErrorResult rv;
3379 0 : self->SetBackgroundSize(NonNullHelper(Constify(arg0)), rv);
3380 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3381 0 : return false;
3382 : }
3383 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3384 :
3385 0 : return true;
3386 : }
3387 :
3388 : static const JSJitInfo backgroundSize_getterinfo = {
3389 : { (JSJitGetterOp)get_backgroundSize },
3390 : { prototypes::id::CSS2Properties },
3391 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3392 : JSJitInfo::Getter,
3393 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3394 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
3395 : false, /* isInfallible. False in setters. */
3396 : false, /* isMovable. Not relevant for setters. */
3397 : false, /* isEliminatable. Not relevant for setters. */
3398 : false, /* isAlwaysInSlot. Only relevant for getters. */
3399 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3400 : false, /* isTypedMethod. Only relevant for methods. */
3401 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3402 : };
3403 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3404 : static_assert(0 < 1, "There is no slot for us");
3405 : static const JSJitInfo backgroundSize_setterinfo = {
3406 : { (JSJitGetterOp)set_backgroundSize },
3407 : { prototypes::id::CSS2Properties },
3408 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3409 : JSJitInfo::Setter,
3410 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3411 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
3412 : false, /* isInfallible. False in setters. */
3413 : false, /* isMovable. Not relevant for setters. */
3414 : false, /* isEliminatable. Not relevant for setters. */
3415 : false, /* isAlwaysInSlot. Only relevant for getters. */
3416 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3417 : false, /* isTypedMethod. Only relevant for methods. */
3418 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3419 : };
3420 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3421 : static_assert(0 < 1, "There is no slot for us");
3422 :
3423 : static bool
3424 0 : get_background_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
3425 : {
3426 0 : binding_detail::FastErrorResult rv;
3427 0 : DOMString result;
3428 0 : self->GetBackgroundSize(result, rv);
3429 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3430 0 : return false;
3431 : }
3432 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3433 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
3434 0 : return false;
3435 : }
3436 0 : return true;
3437 : }
3438 :
3439 : static bool
3440 0 : set_background_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
3441 : {
3442 0 : binding_detail::FakeString arg0;
3443 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
3444 0 : return false;
3445 : }
3446 0 : binding_detail::FastErrorResult rv;
3447 0 : self->SetBackgroundSize(NonNullHelper(Constify(arg0)), rv);
3448 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3449 0 : return false;
3450 : }
3451 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3452 :
3453 0 : return true;
3454 : }
3455 :
3456 : static const JSJitInfo background_size_getterinfo = {
3457 : { (JSJitGetterOp)get_background_size },
3458 : { prototypes::id::CSS2Properties },
3459 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3460 : JSJitInfo::Getter,
3461 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3462 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
3463 : false, /* isInfallible. False in setters. */
3464 : false, /* isMovable. Not relevant for setters. */
3465 : false, /* isEliminatable. Not relevant for setters. */
3466 : false, /* isAlwaysInSlot. Only relevant for getters. */
3467 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3468 : false, /* isTypedMethod. Only relevant for methods. */
3469 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3470 : };
3471 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3472 : static_assert(0 < 1, "There is no slot for us");
3473 : static const JSJitInfo background_size_setterinfo = {
3474 : { (JSJitGetterOp)set_background_size },
3475 : { prototypes::id::CSS2Properties },
3476 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3477 : JSJitInfo::Setter,
3478 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3479 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
3480 : false, /* isInfallible. False in setters. */
3481 : false, /* isMovable. Not relevant for setters. */
3482 : false, /* isEliminatable. Not relevant for setters. */
3483 : false, /* isAlwaysInSlot. Only relevant for getters. */
3484 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3485 : false, /* isTypedMethod. Only relevant for methods. */
3486 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3487 : };
3488 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3489 : static_assert(0 < 1, "There is no slot for us");
3490 :
3491 : static bool
3492 0 : get_MozBinding(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
3493 : {
3494 0 : binding_detail::FastErrorResult rv;
3495 0 : DOMString result;
3496 0 : self->GetMozBinding(result, rv);
3497 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3498 0 : return false;
3499 : }
3500 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3501 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
3502 0 : return false;
3503 : }
3504 0 : return true;
3505 : }
3506 :
3507 : static bool
3508 0 : set_MozBinding(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
3509 : {
3510 0 : binding_detail::FakeString arg0;
3511 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
3512 0 : return false;
3513 : }
3514 0 : binding_detail::FastErrorResult rv;
3515 0 : self->SetMozBinding(NonNullHelper(Constify(arg0)), rv);
3516 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3517 0 : return false;
3518 : }
3519 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3520 :
3521 0 : return true;
3522 : }
3523 :
3524 : static const JSJitInfo MozBinding_getterinfo = {
3525 : { (JSJitGetterOp)get_MozBinding },
3526 : { prototypes::id::CSS2Properties },
3527 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3528 : JSJitInfo::Getter,
3529 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3530 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
3531 : false, /* isInfallible. False in setters. */
3532 : false, /* isMovable. Not relevant for setters. */
3533 : false, /* isEliminatable. Not relevant for setters. */
3534 : false, /* isAlwaysInSlot. Only relevant for getters. */
3535 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3536 : false, /* isTypedMethod. Only relevant for methods. */
3537 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3538 : };
3539 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3540 : static_assert(0 < 1, "There is no slot for us");
3541 : static const JSJitInfo MozBinding_setterinfo = {
3542 : { (JSJitGetterOp)set_MozBinding },
3543 : { prototypes::id::CSS2Properties },
3544 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3545 : JSJitInfo::Setter,
3546 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3547 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
3548 : false, /* isInfallible. False in setters. */
3549 : false, /* isMovable. Not relevant for setters. */
3550 : false, /* isEliminatable. Not relevant for setters. */
3551 : false, /* isAlwaysInSlot. Only relevant for getters. */
3552 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3553 : false, /* isTypedMethod. Only relevant for methods. */
3554 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3555 : };
3556 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3557 : static_assert(0 < 1, "There is no slot for us");
3558 :
3559 : static bool
3560 0 : get__moz_binding(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
3561 : {
3562 0 : binding_detail::FastErrorResult rv;
3563 0 : DOMString result;
3564 0 : self->GetMozBinding(result, rv);
3565 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3566 0 : return false;
3567 : }
3568 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3569 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
3570 0 : return false;
3571 : }
3572 0 : return true;
3573 : }
3574 :
3575 : static bool
3576 0 : set__moz_binding(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
3577 : {
3578 0 : binding_detail::FakeString arg0;
3579 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
3580 0 : return false;
3581 : }
3582 0 : binding_detail::FastErrorResult rv;
3583 0 : self->SetMozBinding(NonNullHelper(Constify(arg0)), rv);
3584 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3585 0 : return false;
3586 : }
3587 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3588 :
3589 0 : return true;
3590 : }
3591 :
3592 : static const JSJitInfo _moz_binding_getterinfo = {
3593 : { (JSJitGetterOp)get__moz_binding },
3594 : { prototypes::id::CSS2Properties },
3595 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3596 : JSJitInfo::Getter,
3597 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3598 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
3599 : false, /* isInfallible. False in setters. */
3600 : false, /* isMovable. Not relevant for setters. */
3601 : false, /* isEliminatable. Not relevant for setters. */
3602 : false, /* isAlwaysInSlot. Only relevant for getters. */
3603 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3604 : false, /* isTypedMethod. Only relevant for methods. */
3605 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3606 : };
3607 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3608 : static_assert(0 < 1, "There is no slot for us");
3609 : static const JSJitInfo _moz_binding_setterinfo = {
3610 : { (JSJitGetterOp)set__moz_binding },
3611 : { prototypes::id::CSS2Properties },
3612 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3613 : JSJitInfo::Setter,
3614 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3615 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
3616 : false, /* isInfallible. False in setters. */
3617 : false, /* isMovable. Not relevant for setters. */
3618 : false, /* isEliminatable. Not relevant for setters. */
3619 : false, /* isAlwaysInSlot. Only relevant for getters. */
3620 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3621 : false, /* isTypedMethod. Only relevant for methods. */
3622 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3623 : };
3624 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3625 : static_assert(0 < 1, "There is no slot for us");
3626 :
3627 : static bool
3628 0 : get_blockSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
3629 : {
3630 0 : binding_detail::FastErrorResult rv;
3631 0 : DOMString result;
3632 0 : self->GetBlockSize(result, rv);
3633 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3634 0 : return false;
3635 : }
3636 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3637 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
3638 0 : return false;
3639 : }
3640 0 : return true;
3641 : }
3642 :
3643 : static bool
3644 0 : set_blockSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
3645 : {
3646 0 : binding_detail::FakeString arg0;
3647 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
3648 0 : return false;
3649 : }
3650 0 : binding_detail::FastErrorResult rv;
3651 0 : self->SetBlockSize(NonNullHelper(Constify(arg0)), rv);
3652 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3653 0 : return false;
3654 : }
3655 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3656 :
3657 0 : return true;
3658 : }
3659 :
3660 : static const JSJitInfo blockSize_getterinfo = {
3661 : { (JSJitGetterOp)get_blockSize },
3662 : { prototypes::id::CSS2Properties },
3663 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3664 : JSJitInfo::Getter,
3665 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3666 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
3667 : false, /* isInfallible. False in setters. */
3668 : false, /* isMovable. Not relevant for setters. */
3669 : false, /* isEliminatable. Not relevant for setters. */
3670 : false, /* isAlwaysInSlot. Only relevant for getters. */
3671 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3672 : false, /* isTypedMethod. Only relevant for methods. */
3673 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3674 : };
3675 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3676 : static_assert(0 < 1, "There is no slot for us");
3677 : static const JSJitInfo blockSize_setterinfo = {
3678 : { (JSJitGetterOp)set_blockSize },
3679 : { prototypes::id::CSS2Properties },
3680 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3681 : JSJitInfo::Setter,
3682 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3683 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
3684 : false, /* isInfallible. False in setters. */
3685 : false, /* isMovable. Not relevant for setters. */
3686 : false, /* isEliminatable. Not relevant for setters. */
3687 : false, /* isAlwaysInSlot. Only relevant for getters. */
3688 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3689 : false, /* isTypedMethod. Only relevant for methods. */
3690 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3691 : };
3692 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3693 : static_assert(0 < 1, "There is no slot for us");
3694 :
3695 : static bool
3696 0 : get_block_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
3697 : {
3698 0 : binding_detail::FastErrorResult rv;
3699 0 : DOMString result;
3700 0 : self->GetBlockSize(result, rv);
3701 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3702 0 : return false;
3703 : }
3704 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3705 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
3706 0 : return false;
3707 : }
3708 0 : return true;
3709 : }
3710 :
3711 : static bool
3712 0 : set_block_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
3713 : {
3714 0 : binding_detail::FakeString arg0;
3715 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
3716 0 : return false;
3717 : }
3718 0 : binding_detail::FastErrorResult rv;
3719 0 : self->SetBlockSize(NonNullHelper(Constify(arg0)), rv);
3720 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3721 0 : return false;
3722 : }
3723 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3724 :
3725 0 : return true;
3726 : }
3727 :
3728 : static const JSJitInfo block_size_getterinfo = {
3729 : { (JSJitGetterOp)get_block_size },
3730 : { prototypes::id::CSS2Properties },
3731 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3732 : JSJitInfo::Getter,
3733 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3734 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
3735 : false, /* isInfallible. False in setters. */
3736 : false, /* isMovable. Not relevant for setters. */
3737 : false, /* isEliminatable. Not relevant for setters. */
3738 : false, /* isAlwaysInSlot. Only relevant for getters. */
3739 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3740 : false, /* isTypedMethod. Only relevant for methods. */
3741 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3742 : };
3743 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3744 : static_assert(0 < 1, "There is no slot for us");
3745 : static const JSJitInfo block_size_setterinfo = {
3746 : { (JSJitGetterOp)set_block_size },
3747 : { prototypes::id::CSS2Properties },
3748 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3749 : JSJitInfo::Setter,
3750 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3751 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
3752 : false, /* isInfallible. False in setters. */
3753 : false, /* isMovable. Not relevant for setters. */
3754 : false, /* isEliminatable. Not relevant for setters. */
3755 : false, /* isAlwaysInSlot. Only relevant for getters. */
3756 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3757 : false, /* isTypedMethod. Only relevant for methods. */
3758 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3759 : };
3760 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3761 : static_assert(0 < 1, "There is no slot for us");
3762 :
3763 : static bool
3764 0 : get_border(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
3765 : {
3766 0 : binding_detail::FastErrorResult rv;
3767 0 : DOMString result;
3768 0 : self->GetBorder(result, rv);
3769 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3770 0 : return false;
3771 : }
3772 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3773 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
3774 0 : return false;
3775 : }
3776 0 : return true;
3777 : }
3778 :
3779 : static bool
3780 0 : set_border(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
3781 : {
3782 0 : binding_detail::FakeString arg0;
3783 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
3784 0 : return false;
3785 : }
3786 0 : binding_detail::FastErrorResult rv;
3787 0 : self->SetBorder(NonNullHelper(Constify(arg0)), rv);
3788 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3789 0 : return false;
3790 : }
3791 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3792 :
3793 0 : return true;
3794 : }
3795 :
3796 : static const JSJitInfo border_getterinfo = {
3797 : { (JSJitGetterOp)get_border },
3798 : { prototypes::id::CSS2Properties },
3799 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3800 : JSJitInfo::Getter,
3801 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3802 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
3803 : false, /* isInfallible. False in setters. */
3804 : false, /* isMovable. Not relevant for setters. */
3805 : false, /* isEliminatable. Not relevant for setters. */
3806 : false, /* isAlwaysInSlot. Only relevant for getters. */
3807 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3808 : false, /* isTypedMethod. Only relevant for methods. */
3809 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3810 : };
3811 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3812 : static_assert(0 < 1, "There is no slot for us");
3813 : static const JSJitInfo border_setterinfo = {
3814 : { (JSJitGetterOp)set_border },
3815 : { prototypes::id::CSS2Properties },
3816 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3817 : JSJitInfo::Setter,
3818 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3819 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
3820 : false, /* isInfallible. False in setters. */
3821 : false, /* isMovable. Not relevant for setters. */
3822 : false, /* isEliminatable. Not relevant for setters. */
3823 : false, /* isAlwaysInSlot. Only relevant for getters. */
3824 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3825 : false, /* isTypedMethod. Only relevant for methods. */
3826 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3827 : };
3828 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3829 : static_assert(0 < 1, "There is no slot for us");
3830 :
3831 : static bool
3832 0 : get_borderBlockEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
3833 : {
3834 0 : binding_detail::FastErrorResult rv;
3835 0 : DOMString result;
3836 0 : self->GetBorderBlockEnd(result, rv);
3837 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3838 0 : return false;
3839 : }
3840 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3841 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
3842 0 : return false;
3843 : }
3844 0 : return true;
3845 : }
3846 :
3847 : static bool
3848 0 : set_borderBlockEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
3849 : {
3850 0 : binding_detail::FakeString arg0;
3851 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
3852 0 : return false;
3853 : }
3854 0 : binding_detail::FastErrorResult rv;
3855 0 : self->SetBorderBlockEnd(NonNullHelper(Constify(arg0)), rv);
3856 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3857 0 : return false;
3858 : }
3859 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3860 :
3861 0 : return true;
3862 : }
3863 :
3864 : static const JSJitInfo borderBlockEnd_getterinfo = {
3865 : { (JSJitGetterOp)get_borderBlockEnd },
3866 : { prototypes::id::CSS2Properties },
3867 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3868 : JSJitInfo::Getter,
3869 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3870 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
3871 : false, /* isInfallible. False in setters. */
3872 : false, /* isMovable. Not relevant for setters. */
3873 : false, /* isEliminatable. Not relevant for setters. */
3874 : false, /* isAlwaysInSlot. Only relevant for getters. */
3875 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3876 : false, /* isTypedMethod. Only relevant for methods. */
3877 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3878 : };
3879 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3880 : static_assert(0 < 1, "There is no slot for us");
3881 : static const JSJitInfo borderBlockEnd_setterinfo = {
3882 : { (JSJitGetterOp)set_borderBlockEnd },
3883 : { prototypes::id::CSS2Properties },
3884 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3885 : JSJitInfo::Setter,
3886 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3887 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
3888 : false, /* isInfallible. False in setters. */
3889 : false, /* isMovable. Not relevant for setters. */
3890 : false, /* isEliminatable. Not relevant for setters. */
3891 : false, /* isAlwaysInSlot. Only relevant for getters. */
3892 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3893 : false, /* isTypedMethod. Only relevant for methods. */
3894 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3895 : };
3896 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3897 : static_assert(0 < 1, "There is no slot for us");
3898 :
3899 : static bool
3900 0 : get_border_block_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
3901 : {
3902 0 : binding_detail::FastErrorResult rv;
3903 0 : DOMString result;
3904 0 : self->GetBorderBlockEnd(result, rv);
3905 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3906 0 : return false;
3907 : }
3908 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3909 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
3910 0 : return false;
3911 : }
3912 0 : return true;
3913 : }
3914 :
3915 : static bool
3916 0 : set_border_block_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
3917 : {
3918 0 : binding_detail::FakeString arg0;
3919 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
3920 0 : return false;
3921 : }
3922 0 : binding_detail::FastErrorResult rv;
3923 0 : self->SetBorderBlockEnd(NonNullHelper(Constify(arg0)), rv);
3924 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3925 0 : return false;
3926 : }
3927 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3928 :
3929 0 : return true;
3930 : }
3931 :
3932 : static const JSJitInfo border_block_end_getterinfo = {
3933 : { (JSJitGetterOp)get_border_block_end },
3934 : { prototypes::id::CSS2Properties },
3935 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3936 : JSJitInfo::Getter,
3937 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3938 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
3939 : false, /* isInfallible. False in setters. */
3940 : false, /* isMovable. Not relevant for setters. */
3941 : false, /* isEliminatable. Not relevant for setters. */
3942 : false, /* isAlwaysInSlot. Only relevant for getters. */
3943 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3944 : false, /* isTypedMethod. Only relevant for methods. */
3945 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3946 : };
3947 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3948 : static_assert(0 < 1, "There is no slot for us");
3949 : static const JSJitInfo border_block_end_setterinfo = {
3950 : { (JSJitGetterOp)set_border_block_end },
3951 : { prototypes::id::CSS2Properties },
3952 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
3953 : JSJitInfo::Setter,
3954 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
3955 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
3956 : false, /* isInfallible. False in setters. */
3957 : false, /* isMovable. Not relevant for setters. */
3958 : false, /* isEliminatable. Not relevant for setters. */
3959 : false, /* isAlwaysInSlot. Only relevant for getters. */
3960 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
3961 : false, /* isTypedMethod. Only relevant for methods. */
3962 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
3963 : };
3964 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
3965 : static_assert(0 < 1, "There is no slot for us");
3966 :
3967 : static bool
3968 0 : get_borderBlockEndColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
3969 : {
3970 0 : binding_detail::FastErrorResult rv;
3971 0 : DOMString result;
3972 0 : self->GetBorderBlockEndColor(result, rv);
3973 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3974 0 : return false;
3975 : }
3976 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3977 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
3978 0 : return false;
3979 : }
3980 0 : return true;
3981 : }
3982 :
3983 : static bool
3984 0 : set_borderBlockEndColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
3985 : {
3986 0 : binding_detail::FakeString arg0;
3987 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
3988 0 : return false;
3989 : }
3990 0 : binding_detail::FastErrorResult rv;
3991 0 : self->SetBorderBlockEndColor(NonNullHelper(Constify(arg0)), rv);
3992 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
3993 0 : return false;
3994 : }
3995 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
3996 :
3997 0 : return true;
3998 : }
3999 :
4000 : static const JSJitInfo borderBlockEndColor_getterinfo = {
4001 : { (JSJitGetterOp)get_borderBlockEndColor },
4002 : { prototypes::id::CSS2Properties },
4003 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4004 : JSJitInfo::Getter,
4005 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4006 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
4007 : false, /* isInfallible. False in setters. */
4008 : false, /* isMovable. Not relevant for setters. */
4009 : false, /* isEliminatable. Not relevant for setters. */
4010 : false, /* isAlwaysInSlot. Only relevant for getters. */
4011 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4012 : false, /* isTypedMethod. Only relevant for methods. */
4013 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4014 : };
4015 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4016 : static_assert(0 < 1, "There is no slot for us");
4017 : static const JSJitInfo borderBlockEndColor_setterinfo = {
4018 : { (JSJitGetterOp)set_borderBlockEndColor },
4019 : { prototypes::id::CSS2Properties },
4020 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4021 : JSJitInfo::Setter,
4022 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4023 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
4024 : false, /* isInfallible. False in setters. */
4025 : false, /* isMovable. Not relevant for setters. */
4026 : false, /* isEliminatable. Not relevant for setters. */
4027 : false, /* isAlwaysInSlot. Only relevant for getters. */
4028 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4029 : false, /* isTypedMethod. Only relevant for methods. */
4030 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4031 : };
4032 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4033 : static_assert(0 < 1, "There is no slot for us");
4034 :
4035 : static bool
4036 0 : get_border_block_end_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
4037 : {
4038 0 : binding_detail::FastErrorResult rv;
4039 0 : DOMString result;
4040 0 : self->GetBorderBlockEndColor(result, rv);
4041 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4042 0 : return false;
4043 : }
4044 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4045 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
4046 0 : return false;
4047 : }
4048 0 : return true;
4049 : }
4050 :
4051 : static bool
4052 0 : set_border_block_end_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
4053 : {
4054 0 : binding_detail::FakeString arg0;
4055 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
4056 0 : return false;
4057 : }
4058 0 : binding_detail::FastErrorResult rv;
4059 0 : self->SetBorderBlockEndColor(NonNullHelper(Constify(arg0)), rv);
4060 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4061 0 : return false;
4062 : }
4063 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4064 :
4065 0 : return true;
4066 : }
4067 :
4068 : static const JSJitInfo border_block_end_color_getterinfo = {
4069 : { (JSJitGetterOp)get_border_block_end_color },
4070 : { prototypes::id::CSS2Properties },
4071 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4072 : JSJitInfo::Getter,
4073 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4074 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
4075 : false, /* isInfallible. False in setters. */
4076 : false, /* isMovable. Not relevant for setters. */
4077 : false, /* isEliminatable. Not relevant for setters. */
4078 : false, /* isAlwaysInSlot. Only relevant for getters. */
4079 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4080 : false, /* isTypedMethod. Only relevant for methods. */
4081 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4082 : };
4083 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4084 : static_assert(0 < 1, "There is no slot for us");
4085 : static const JSJitInfo border_block_end_color_setterinfo = {
4086 : { (JSJitGetterOp)set_border_block_end_color },
4087 : { prototypes::id::CSS2Properties },
4088 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4089 : JSJitInfo::Setter,
4090 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4091 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
4092 : false, /* isInfallible. False in setters. */
4093 : false, /* isMovable. Not relevant for setters. */
4094 : false, /* isEliminatable. Not relevant for setters. */
4095 : false, /* isAlwaysInSlot. Only relevant for getters. */
4096 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4097 : false, /* isTypedMethod. Only relevant for methods. */
4098 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4099 : };
4100 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4101 : static_assert(0 < 1, "There is no slot for us");
4102 :
4103 : static bool
4104 0 : get_borderBlockEndStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
4105 : {
4106 0 : binding_detail::FastErrorResult rv;
4107 0 : DOMString result;
4108 0 : self->GetBorderBlockEndStyle(result, rv);
4109 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4110 0 : return false;
4111 : }
4112 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4113 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
4114 0 : return false;
4115 : }
4116 0 : return true;
4117 : }
4118 :
4119 : static bool
4120 0 : set_borderBlockEndStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
4121 : {
4122 0 : binding_detail::FakeString arg0;
4123 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
4124 0 : return false;
4125 : }
4126 0 : binding_detail::FastErrorResult rv;
4127 0 : self->SetBorderBlockEndStyle(NonNullHelper(Constify(arg0)), rv);
4128 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4129 0 : return false;
4130 : }
4131 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4132 :
4133 0 : return true;
4134 : }
4135 :
4136 : static const JSJitInfo borderBlockEndStyle_getterinfo = {
4137 : { (JSJitGetterOp)get_borderBlockEndStyle },
4138 : { prototypes::id::CSS2Properties },
4139 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4140 : JSJitInfo::Getter,
4141 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4142 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
4143 : false, /* isInfallible. False in setters. */
4144 : false, /* isMovable. Not relevant for setters. */
4145 : false, /* isEliminatable. Not relevant for setters. */
4146 : false, /* isAlwaysInSlot. Only relevant for getters. */
4147 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4148 : false, /* isTypedMethod. Only relevant for methods. */
4149 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4150 : };
4151 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4152 : static_assert(0 < 1, "There is no slot for us");
4153 : static const JSJitInfo borderBlockEndStyle_setterinfo = {
4154 : { (JSJitGetterOp)set_borderBlockEndStyle },
4155 : { prototypes::id::CSS2Properties },
4156 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4157 : JSJitInfo::Setter,
4158 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4159 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
4160 : false, /* isInfallible. False in setters. */
4161 : false, /* isMovable. Not relevant for setters. */
4162 : false, /* isEliminatable. Not relevant for setters. */
4163 : false, /* isAlwaysInSlot. Only relevant for getters. */
4164 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4165 : false, /* isTypedMethod. Only relevant for methods. */
4166 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4167 : };
4168 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4169 : static_assert(0 < 1, "There is no slot for us");
4170 :
4171 : static bool
4172 0 : get_border_block_end_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
4173 : {
4174 0 : binding_detail::FastErrorResult rv;
4175 0 : DOMString result;
4176 0 : self->GetBorderBlockEndStyle(result, rv);
4177 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4178 0 : return false;
4179 : }
4180 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4181 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
4182 0 : return false;
4183 : }
4184 0 : return true;
4185 : }
4186 :
4187 : static bool
4188 0 : set_border_block_end_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
4189 : {
4190 0 : binding_detail::FakeString arg0;
4191 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
4192 0 : return false;
4193 : }
4194 0 : binding_detail::FastErrorResult rv;
4195 0 : self->SetBorderBlockEndStyle(NonNullHelper(Constify(arg0)), rv);
4196 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4197 0 : return false;
4198 : }
4199 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4200 :
4201 0 : return true;
4202 : }
4203 :
4204 : static const JSJitInfo border_block_end_style_getterinfo = {
4205 : { (JSJitGetterOp)get_border_block_end_style },
4206 : { prototypes::id::CSS2Properties },
4207 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4208 : JSJitInfo::Getter,
4209 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4210 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
4211 : false, /* isInfallible. False in setters. */
4212 : false, /* isMovable. Not relevant for setters. */
4213 : false, /* isEliminatable. Not relevant for setters. */
4214 : false, /* isAlwaysInSlot. Only relevant for getters. */
4215 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4216 : false, /* isTypedMethod. Only relevant for methods. */
4217 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4218 : };
4219 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4220 : static_assert(0 < 1, "There is no slot for us");
4221 : static const JSJitInfo border_block_end_style_setterinfo = {
4222 : { (JSJitGetterOp)set_border_block_end_style },
4223 : { prototypes::id::CSS2Properties },
4224 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4225 : JSJitInfo::Setter,
4226 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4227 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
4228 : false, /* isInfallible. False in setters. */
4229 : false, /* isMovable. Not relevant for setters. */
4230 : false, /* isEliminatable. Not relevant for setters. */
4231 : false, /* isAlwaysInSlot. Only relevant for getters. */
4232 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4233 : false, /* isTypedMethod. Only relevant for methods. */
4234 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4235 : };
4236 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4237 : static_assert(0 < 1, "There is no slot for us");
4238 :
4239 : static bool
4240 0 : get_borderBlockEndWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
4241 : {
4242 0 : binding_detail::FastErrorResult rv;
4243 0 : DOMString result;
4244 0 : self->GetBorderBlockEndWidth(result, rv);
4245 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4246 0 : return false;
4247 : }
4248 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4249 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
4250 0 : return false;
4251 : }
4252 0 : return true;
4253 : }
4254 :
4255 : static bool
4256 0 : set_borderBlockEndWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
4257 : {
4258 0 : binding_detail::FakeString arg0;
4259 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
4260 0 : return false;
4261 : }
4262 0 : binding_detail::FastErrorResult rv;
4263 0 : self->SetBorderBlockEndWidth(NonNullHelper(Constify(arg0)), rv);
4264 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4265 0 : return false;
4266 : }
4267 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4268 :
4269 0 : return true;
4270 : }
4271 :
4272 : static const JSJitInfo borderBlockEndWidth_getterinfo = {
4273 : { (JSJitGetterOp)get_borderBlockEndWidth },
4274 : { prototypes::id::CSS2Properties },
4275 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4276 : JSJitInfo::Getter,
4277 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4278 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
4279 : false, /* isInfallible. False in setters. */
4280 : false, /* isMovable. Not relevant for setters. */
4281 : false, /* isEliminatable. Not relevant for setters. */
4282 : false, /* isAlwaysInSlot. Only relevant for getters. */
4283 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4284 : false, /* isTypedMethod. Only relevant for methods. */
4285 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4286 : };
4287 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4288 : static_assert(0 < 1, "There is no slot for us");
4289 : static const JSJitInfo borderBlockEndWidth_setterinfo = {
4290 : { (JSJitGetterOp)set_borderBlockEndWidth },
4291 : { prototypes::id::CSS2Properties },
4292 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4293 : JSJitInfo::Setter,
4294 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4295 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
4296 : false, /* isInfallible. False in setters. */
4297 : false, /* isMovable. Not relevant for setters. */
4298 : false, /* isEliminatable. Not relevant for setters. */
4299 : false, /* isAlwaysInSlot. Only relevant for getters. */
4300 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4301 : false, /* isTypedMethod. Only relevant for methods. */
4302 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4303 : };
4304 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4305 : static_assert(0 < 1, "There is no slot for us");
4306 :
4307 : static bool
4308 0 : get_border_block_end_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
4309 : {
4310 0 : binding_detail::FastErrorResult rv;
4311 0 : DOMString result;
4312 0 : self->GetBorderBlockEndWidth(result, rv);
4313 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4314 0 : return false;
4315 : }
4316 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4317 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
4318 0 : return false;
4319 : }
4320 0 : return true;
4321 : }
4322 :
4323 : static bool
4324 0 : set_border_block_end_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
4325 : {
4326 0 : binding_detail::FakeString arg0;
4327 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
4328 0 : return false;
4329 : }
4330 0 : binding_detail::FastErrorResult rv;
4331 0 : self->SetBorderBlockEndWidth(NonNullHelper(Constify(arg0)), rv);
4332 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4333 0 : return false;
4334 : }
4335 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4336 :
4337 0 : return true;
4338 : }
4339 :
4340 : static const JSJitInfo border_block_end_width_getterinfo = {
4341 : { (JSJitGetterOp)get_border_block_end_width },
4342 : { prototypes::id::CSS2Properties },
4343 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4344 : JSJitInfo::Getter,
4345 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4346 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
4347 : false, /* isInfallible. False in setters. */
4348 : false, /* isMovable. Not relevant for setters. */
4349 : false, /* isEliminatable. Not relevant for setters. */
4350 : false, /* isAlwaysInSlot. Only relevant for getters. */
4351 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4352 : false, /* isTypedMethod. Only relevant for methods. */
4353 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4354 : };
4355 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4356 : static_assert(0 < 1, "There is no slot for us");
4357 : static const JSJitInfo border_block_end_width_setterinfo = {
4358 : { (JSJitGetterOp)set_border_block_end_width },
4359 : { prototypes::id::CSS2Properties },
4360 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4361 : JSJitInfo::Setter,
4362 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4363 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
4364 : false, /* isInfallible. False in setters. */
4365 : false, /* isMovable. Not relevant for setters. */
4366 : false, /* isEliminatable. Not relevant for setters. */
4367 : false, /* isAlwaysInSlot. Only relevant for getters. */
4368 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4369 : false, /* isTypedMethod. Only relevant for methods. */
4370 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4371 : };
4372 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4373 : static_assert(0 < 1, "There is no slot for us");
4374 :
4375 : static bool
4376 0 : get_borderBlockStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
4377 : {
4378 0 : binding_detail::FastErrorResult rv;
4379 0 : DOMString result;
4380 0 : self->GetBorderBlockStart(result, rv);
4381 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4382 0 : return false;
4383 : }
4384 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4385 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
4386 0 : return false;
4387 : }
4388 0 : return true;
4389 : }
4390 :
4391 : static bool
4392 0 : set_borderBlockStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
4393 : {
4394 0 : binding_detail::FakeString arg0;
4395 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
4396 0 : return false;
4397 : }
4398 0 : binding_detail::FastErrorResult rv;
4399 0 : self->SetBorderBlockStart(NonNullHelper(Constify(arg0)), rv);
4400 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4401 0 : return false;
4402 : }
4403 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4404 :
4405 0 : return true;
4406 : }
4407 :
4408 : static const JSJitInfo borderBlockStart_getterinfo = {
4409 : { (JSJitGetterOp)get_borderBlockStart },
4410 : { prototypes::id::CSS2Properties },
4411 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4412 : JSJitInfo::Getter,
4413 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4414 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
4415 : false, /* isInfallible. False in setters. */
4416 : false, /* isMovable. Not relevant for setters. */
4417 : false, /* isEliminatable. Not relevant for setters. */
4418 : false, /* isAlwaysInSlot. Only relevant for getters. */
4419 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4420 : false, /* isTypedMethod. Only relevant for methods. */
4421 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4422 : };
4423 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4424 : static_assert(0 < 1, "There is no slot for us");
4425 : static const JSJitInfo borderBlockStart_setterinfo = {
4426 : { (JSJitGetterOp)set_borderBlockStart },
4427 : { prototypes::id::CSS2Properties },
4428 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4429 : JSJitInfo::Setter,
4430 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4431 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
4432 : false, /* isInfallible. False in setters. */
4433 : false, /* isMovable. Not relevant for setters. */
4434 : false, /* isEliminatable. Not relevant for setters. */
4435 : false, /* isAlwaysInSlot. Only relevant for getters. */
4436 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4437 : false, /* isTypedMethod. Only relevant for methods. */
4438 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4439 : };
4440 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4441 : static_assert(0 < 1, "There is no slot for us");
4442 :
4443 : static bool
4444 0 : get_border_block_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
4445 : {
4446 0 : binding_detail::FastErrorResult rv;
4447 0 : DOMString result;
4448 0 : self->GetBorderBlockStart(result, rv);
4449 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4450 0 : return false;
4451 : }
4452 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4453 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
4454 0 : return false;
4455 : }
4456 0 : return true;
4457 : }
4458 :
4459 : static bool
4460 0 : set_border_block_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
4461 : {
4462 0 : binding_detail::FakeString arg0;
4463 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
4464 0 : return false;
4465 : }
4466 0 : binding_detail::FastErrorResult rv;
4467 0 : self->SetBorderBlockStart(NonNullHelper(Constify(arg0)), rv);
4468 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4469 0 : return false;
4470 : }
4471 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4472 :
4473 0 : return true;
4474 : }
4475 :
4476 : static const JSJitInfo border_block_start_getterinfo = {
4477 : { (JSJitGetterOp)get_border_block_start },
4478 : { prototypes::id::CSS2Properties },
4479 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4480 : JSJitInfo::Getter,
4481 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4482 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
4483 : false, /* isInfallible. False in setters. */
4484 : false, /* isMovable. Not relevant for setters. */
4485 : false, /* isEliminatable. Not relevant for setters. */
4486 : false, /* isAlwaysInSlot. Only relevant for getters. */
4487 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4488 : false, /* isTypedMethod. Only relevant for methods. */
4489 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4490 : };
4491 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4492 : static_assert(0 < 1, "There is no slot for us");
4493 : static const JSJitInfo border_block_start_setterinfo = {
4494 : { (JSJitGetterOp)set_border_block_start },
4495 : { prototypes::id::CSS2Properties },
4496 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4497 : JSJitInfo::Setter,
4498 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4499 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
4500 : false, /* isInfallible. False in setters. */
4501 : false, /* isMovable. Not relevant for setters. */
4502 : false, /* isEliminatable. Not relevant for setters. */
4503 : false, /* isAlwaysInSlot. Only relevant for getters. */
4504 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4505 : false, /* isTypedMethod. Only relevant for methods. */
4506 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4507 : };
4508 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4509 : static_assert(0 < 1, "There is no slot for us");
4510 :
4511 : static bool
4512 0 : get_borderBlockStartColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
4513 : {
4514 0 : binding_detail::FastErrorResult rv;
4515 0 : DOMString result;
4516 0 : self->GetBorderBlockStartColor(result, rv);
4517 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4518 0 : return false;
4519 : }
4520 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4521 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
4522 0 : return false;
4523 : }
4524 0 : return true;
4525 : }
4526 :
4527 : static bool
4528 0 : set_borderBlockStartColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
4529 : {
4530 0 : binding_detail::FakeString arg0;
4531 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
4532 0 : return false;
4533 : }
4534 0 : binding_detail::FastErrorResult rv;
4535 0 : self->SetBorderBlockStartColor(NonNullHelper(Constify(arg0)), rv);
4536 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4537 0 : return false;
4538 : }
4539 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4540 :
4541 0 : return true;
4542 : }
4543 :
4544 : static const JSJitInfo borderBlockStartColor_getterinfo = {
4545 : { (JSJitGetterOp)get_borderBlockStartColor },
4546 : { prototypes::id::CSS2Properties },
4547 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4548 : JSJitInfo::Getter,
4549 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4550 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
4551 : false, /* isInfallible. False in setters. */
4552 : false, /* isMovable. Not relevant for setters. */
4553 : false, /* isEliminatable. Not relevant for setters. */
4554 : false, /* isAlwaysInSlot. Only relevant for getters. */
4555 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4556 : false, /* isTypedMethod. Only relevant for methods. */
4557 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4558 : };
4559 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4560 : static_assert(0 < 1, "There is no slot for us");
4561 : static const JSJitInfo borderBlockStartColor_setterinfo = {
4562 : { (JSJitGetterOp)set_borderBlockStartColor },
4563 : { prototypes::id::CSS2Properties },
4564 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4565 : JSJitInfo::Setter,
4566 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4567 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
4568 : false, /* isInfallible. False in setters. */
4569 : false, /* isMovable. Not relevant for setters. */
4570 : false, /* isEliminatable. Not relevant for setters. */
4571 : false, /* isAlwaysInSlot. Only relevant for getters. */
4572 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4573 : false, /* isTypedMethod. Only relevant for methods. */
4574 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4575 : };
4576 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4577 : static_assert(0 < 1, "There is no slot for us");
4578 :
4579 : static bool
4580 0 : get_border_block_start_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
4581 : {
4582 0 : binding_detail::FastErrorResult rv;
4583 0 : DOMString result;
4584 0 : self->GetBorderBlockStartColor(result, rv);
4585 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4586 0 : return false;
4587 : }
4588 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4589 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
4590 0 : return false;
4591 : }
4592 0 : return true;
4593 : }
4594 :
4595 : static bool
4596 0 : set_border_block_start_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
4597 : {
4598 0 : binding_detail::FakeString arg0;
4599 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
4600 0 : return false;
4601 : }
4602 0 : binding_detail::FastErrorResult rv;
4603 0 : self->SetBorderBlockStartColor(NonNullHelper(Constify(arg0)), rv);
4604 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4605 0 : return false;
4606 : }
4607 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4608 :
4609 0 : return true;
4610 : }
4611 :
4612 : static const JSJitInfo border_block_start_color_getterinfo = {
4613 : { (JSJitGetterOp)get_border_block_start_color },
4614 : { prototypes::id::CSS2Properties },
4615 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4616 : JSJitInfo::Getter,
4617 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4618 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
4619 : false, /* isInfallible. False in setters. */
4620 : false, /* isMovable. Not relevant for setters. */
4621 : false, /* isEliminatable. Not relevant for setters. */
4622 : false, /* isAlwaysInSlot. Only relevant for getters. */
4623 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4624 : false, /* isTypedMethod. Only relevant for methods. */
4625 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4626 : };
4627 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4628 : static_assert(0 < 1, "There is no slot for us");
4629 : static const JSJitInfo border_block_start_color_setterinfo = {
4630 : { (JSJitGetterOp)set_border_block_start_color },
4631 : { prototypes::id::CSS2Properties },
4632 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4633 : JSJitInfo::Setter,
4634 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4635 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
4636 : false, /* isInfallible. False in setters. */
4637 : false, /* isMovable. Not relevant for setters. */
4638 : false, /* isEliminatable. Not relevant for setters. */
4639 : false, /* isAlwaysInSlot. Only relevant for getters. */
4640 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4641 : false, /* isTypedMethod. Only relevant for methods. */
4642 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4643 : };
4644 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4645 : static_assert(0 < 1, "There is no slot for us");
4646 :
4647 : static bool
4648 0 : get_borderBlockStartStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
4649 : {
4650 0 : binding_detail::FastErrorResult rv;
4651 0 : DOMString result;
4652 0 : self->GetBorderBlockStartStyle(result, rv);
4653 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4654 0 : return false;
4655 : }
4656 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4657 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
4658 0 : return false;
4659 : }
4660 0 : return true;
4661 : }
4662 :
4663 : static bool
4664 0 : set_borderBlockStartStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
4665 : {
4666 0 : binding_detail::FakeString arg0;
4667 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
4668 0 : return false;
4669 : }
4670 0 : binding_detail::FastErrorResult rv;
4671 0 : self->SetBorderBlockStartStyle(NonNullHelper(Constify(arg0)), rv);
4672 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4673 0 : return false;
4674 : }
4675 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4676 :
4677 0 : return true;
4678 : }
4679 :
4680 : static const JSJitInfo borderBlockStartStyle_getterinfo = {
4681 : { (JSJitGetterOp)get_borderBlockStartStyle },
4682 : { prototypes::id::CSS2Properties },
4683 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4684 : JSJitInfo::Getter,
4685 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4686 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
4687 : false, /* isInfallible. False in setters. */
4688 : false, /* isMovable. Not relevant for setters. */
4689 : false, /* isEliminatable. Not relevant for setters. */
4690 : false, /* isAlwaysInSlot. Only relevant for getters. */
4691 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4692 : false, /* isTypedMethod. Only relevant for methods. */
4693 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4694 : };
4695 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4696 : static_assert(0 < 1, "There is no slot for us");
4697 : static const JSJitInfo borderBlockStartStyle_setterinfo = {
4698 : { (JSJitGetterOp)set_borderBlockStartStyle },
4699 : { prototypes::id::CSS2Properties },
4700 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4701 : JSJitInfo::Setter,
4702 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4703 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
4704 : false, /* isInfallible. False in setters. */
4705 : false, /* isMovable. Not relevant for setters. */
4706 : false, /* isEliminatable. Not relevant for setters. */
4707 : false, /* isAlwaysInSlot. Only relevant for getters. */
4708 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4709 : false, /* isTypedMethod. Only relevant for methods. */
4710 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4711 : };
4712 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4713 : static_assert(0 < 1, "There is no slot for us");
4714 :
4715 : static bool
4716 0 : get_border_block_start_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
4717 : {
4718 0 : binding_detail::FastErrorResult rv;
4719 0 : DOMString result;
4720 0 : self->GetBorderBlockStartStyle(result, rv);
4721 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4722 0 : return false;
4723 : }
4724 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4725 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
4726 0 : return false;
4727 : }
4728 0 : return true;
4729 : }
4730 :
4731 : static bool
4732 0 : set_border_block_start_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
4733 : {
4734 0 : binding_detail::FakeString arg0;
4735 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
4736 0 : return false;
4737 : }
4738 0 : binding_detail::FastErrorResult rv;
4739 0 : self->SetBorderBlockStartStyle(NonNullHelper(Constify(arg0)), rv);
4740 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4741 0 : return false;
4742 : }
4743 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4744 :
4745 0 : return true;
4746 : }
4747 :
4748 : static const JSJitInfo border_block_start_style_getterinfo = {
4749 : { (JSJitGetterOp)get_border_block_start_style },
4750 : { prototypes::id::CSS2Properties },
4751 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4752 : JSJitInfo::Getter,
4753 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4754 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
4755 : false, /* isInfallible. False in setters. */
4756 : false, /* isMovable. Not relevant for setters. */
4757 : false, /* isEliminatable. Not relevant for setters. */
4758 : false, /* isAlwaysInSlot. Only relevant for getters. */
4759 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4760 : false, /* isTypedMethod. Only relevant for methods. */
4761 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4762 : };
4763 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4764 : static_assert(0 < 1, "There is no slot for us");
4765 : static const JSJitInfo border_block_start_style_setterinfo = {
4766 : { (JSJitGetterOp)set_border_block_start_style },
4767 : { prototypes::id::CSS2Properties },
4768 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4769 : JSJitInfo::Setter,
4770 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4771 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
4772 : false, /* isInfallible. False in setters. */
4773 : false, /* isMovable. Not relevant for setters. */
4774 : false, /* isEliminatable. Not relevant for setters. */
4775 : false, /* isAlwaysInSlot. Only relevant for getters. */
4776 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4777 : false, /* isTypedMethod. Only relevant for methods. */
4778 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4779 : };
4780 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4781 : static_assert(0 < 1, "There is no slot for us");
4782 :
4783 : static bool
4784 0 : get_borderBlockStartWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
4785 : {
4786 0 : binding_detail::FastErrorResult rv;
4787 0 : DOMString result;
4788 0 : self->GetBorderBlockStartWidth(result, rv);
4789 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4790 0 : return false;
4791 : }
4792 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4793 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
4794 0 : return false;
4795 : }
4796 0 : return true;
4797 : }
4798 :
4799 : static bool
4800 0 : set_borderBlockStartWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
4801 : {
4802 0 : binding_detail::FakeString arg0;
4803 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
4804 0 : return false;
4805 : }
4806 0 : binding_detail::FastErrorResult rv;
4807 0 : self->SetBorderBlockStartWidth(NonNullHelper(Constify(arg0)), rv);
4808 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4809 0 : return false;
4810 : }
4811 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4812 :
4813 0 : return true;
4814 : }
4815 :
4816 : static const JSJitInfo borderBlockStartWidth_getterinfo = {
4817 : { (JSJitGetterOp)get_borderBlockStartWidth },
4818 : { prototypes::id::CSS2Properties },
4819 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4820 : JSJitInfo::Getter,
4821 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4822 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
4823 : false, /* isInfallible. False in setters. */
4824 : false, /* isMovable. Not relevant for setters. */
4825 : false, /* isEliminatable. Not relevant for setters. */
4826 : false, /* isAlwaysInSlot. Only relevant for getters. */
4827 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4828 : false, /* isTypedMethod. Only relevant for methods. */
4829 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4830 : };
4831 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4832 : static_assert(0 < 1, "There is no slot for us");
4833 : static const JSJitInfo borderBlockStartWidth_setterinfo = {
4834 : { (JSJitGetterOp)set_borderBlockStartWidth },
4835 : { prototypes::id::CSS2Properties },
4836 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4837 : JSJitInfo::Setter,
4838 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4839 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
4840 : false, /* isInfallible. False in setters. */
4841 : false, /* isMovable. Not relevant for setters. */
4842 : false, /* isEliminatable. Not relevant for setters. */
4843 : false, /* isAlwaysInSlot. Only relevant for getters. */
4844 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4845 : false, /* isTypedMethod. Only relevant for methods. */
4846 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4847 : };
4848 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4849 : static_assert(0 < 1, "There is no slot for us");
4850 :
4851 : static bool
4852 0 : get_border_block_start_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
4853 : {
4854 0 : binding_detail::FastErrorResult rv;
4855 0 : DOMString result;
4856 0 : self->GetBorderBlockStartWidth(result, rv);
4857 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4858 0 : return false;
4859 : }
4860 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4861 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
4862 0 : return false;
4863 : }
4864 0 : return true;
4865 : }
4866 :
4867 : static bool
4868 0 : set_border_block_start_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
4869 : {
4870 0 : binding_detail::FakeString arg0;
4871 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
4872 0 : return false;
4873 : }
4874 0 : binding_detail::FastErrorResult rv;
4875 0 : self->SetBorderBlockStartWidth(NonNullHelper(Constify(arg0)), rv);
4876 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4877 0 : return false;
4878 : }
4879 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4880 :
4881 0 : return true;
4882 : }
4883 :
4884 : static const JSJitInfo border_block_start_width_getterinfo = {
4885 : { (JSJitGetterOp)get_border_block_start_width },
4886 : { prototypes::id::CSS2Properties },
4887 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4888 : JSJitInfo::Getter,
4889 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4890 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
4891 : false, /* isInfallible. False in setters. */
4892 : false, /* isMovable. Not relevant for setters. */
4893 : false, /* isEliminatable. Not relevant for setters. */
4894 : false, /* isAlwaysInSlot. Only relevant for getters. */
4895 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4896 : false, /* isTypedMethod. Only relevant for methods. */
4897 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4898 : };
4899 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4900 : static_assert(0 < 1, "There is no slot for us");
4901 : static const JSJitInfo border_block_start_width_setterinfo = {
4902 : { (JSJitGetterOp)set_border_block_start_width },
4903 : { prototypes::id::CSS2Properties },
4904 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4905 : JSJitInfo::Setter,
4906 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4907 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
4908 : false, /* isInfallible. False in setters. */
4909 : false, /* isMovable. Not relevant for setters. */
4910 : false, /* isEliminatable. Not relevant for setters. */
4911 : false, /* isAlwaysInSlot. Only relevant for getters. */
4912 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4913 : false, /* isTypedMethod. Only relevant for methods. */
4914 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4915 : };
4916 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4917 : static_assert(0 < 1, "There is no slot for us");
4918 :
4919 : static bool
4920 0 : get_borderBottom(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
4921 : {
4922 0 : binding_detail::FastErrorResult rv;
4923 0 : DOMString result;
4924 0 : self->GetBorderBottom(result, rv);
4925 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4926 0 : return false;
4927 : }
4928 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4929 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
4930 0 : return false;
4931 : }
4932 0 : return true;
4933 : }
4934 :
4935 : static bool
4936 0 : set_borderBottom(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
4937 : {
4938 0 : binding_detail::FakeString arg0;
4939 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
4940 0 : return false;
4941 : }
4942 0 : binding_detail::FastErrorResult rv;
4943 0 : self->SetBorderBottom(NonNullHelper(Constify(arg0)), rv);
4944 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4945 0 : return false;
4946 : }
4947 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4948 :
4949 0 : return true;
4950 : }
4951 :
4952 : static const JSJitInfo borderBottom_getterinfo = {
4953 : { (JSJitGetterOp)get_borderBottom },
4954 : { prototypes::id::CSS2Properties },
4955 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4956 : JSJitInfo::Getter,
4957 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4958 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
4959 : false, /* isInfallible. False in setters. */
4960 : false, /* isMovable. Not relevant for setters. */
4961 : false, /* isEliminatable. Not relevant for setters. */
4962 : false, /* isAlwaysInSlot. Only relevant for getters. */
4963 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4964 : false, /* isTypedMethod. Only relevant for methods. */
4965 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4966 : };
4967 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4968 : static_assert(0 < 1, "There is no slot for us");
4969 : static const JSJitInfo borderBottom_setterinfo = {
4970 : { (JSJitGetterOp)set_borderBottom },
4971 : { prototypes::id::CSS2Properties },
4972 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
4973 : JSJitInfo::Setter,
4974 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
4975 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
4976 : false, /* isInfallible. False in setters. */
4977 : false, /* isMovable. Not relevant for setters. */
4978 : false, /* isEliminatable. Not relevant for setters. */
4979 : false, /* isAlwaysInSlot. Only relevant for getters. */
4980 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
4981 : false, /* isTypedMethod. Only relevant for methods. */
4982 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
4983 : };
4984 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
4985 : static_assert(0 < 1, "There is no slot for us");
4986 :
4987 : static bool
4988 0 : get_border_bottom(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
4989 : {
4990 0 : binding_detail::FastErrorResult rv;
4991 0 : DOMString result;
4992 0 : self->GetBorderBottom(result, rv);
4993 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
4994 0 : return false;
4995 : }
4996 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
4997 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
4998 0 : return false;
4999 : }
5000 0 : return true;
5001 : }
5002 :
5003 : static bool
5004 0 : set_border_bottom(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
5005 : {
5006 0 : binding_detail::FakeString arg0;
5007 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
5008 0 : return false;
5009 : }
5010 0 : binding_detail::FastErrorResult rv;
5011 0 : self->SetBorderBottom(NonNullHelper(Constify(arg0)), rv);
5012 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5013 0 : return false;
5014 : }
5015 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5016 :
5017 0 : return true;
5018 : }
5019 :
5020 : static const JSJitInfo border_bottom_getterinfo = {
5021 : { (JSJitGetterOp)get_border_bottom },
5022 : { prototypes::id::CSS2Properties },
5023 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5024 : JSJitInfo::Getter,
5025 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5026 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
5027 : false, /* isInfallible. False in setters. */
5028 : false, /* isMovable. Not relevant for setters. */
5029 : false, /* isEliminatable. Not relevant for setters. */
5030 : false, /* isAlwaysInSlot. Only relevant for getters. */
5031 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5032 : false, /* isTypedMethod. Only relevant for methods. */
5033 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5034 : };
5035 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5036 : static_assert(0 < 1, "There is no slot for us");
5037 : static const JSJitInfo border_bottom_setterinfo = {
5038 : { (JSJitGetterOp)set_border_bottom },
5039 : { prototypes::id::CSS2Properties },
5040 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5041 : JSJitInfo::Setter,
5042 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5043 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
5044 : false, /* isInfallible. False in setters. */
5045 : false, /* isMovable. Not relevant for setters. */
5046 : false, /* isEliminatable. Not relevant for setters. */
5047 : false, /* isAlwaysInSlot. Only relevant for getters. */
5048 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5049 : false, /* isTypedMethod. Only relevant for methods. */
5050 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5051 : };
5052 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5053 : static_assert(0 < 1, "There is no slot for us");
5054 :
5055 : static bool
5056 0 : get_borderBottomColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
5057 : {
5058 0 : binding_detail::FastErrorResult rv;
5059 0 : DOMString result;
5060 0 : self->GetBorderBottomColor(result, rv);
5061 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5062 0 : return false;
5063 : }
5064 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5065 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
5066 0 : return false;
5067 : }
5068 0 : return true;
5069 : }
5070 :
5071 : static bool
5072 0 : set_borderBottomColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
5073 : {
5074 0 : binding_detail::FakeString arg0;
5075 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
5076 0 : return false;
5077 : }
5078 0 : binding_detail::FastErrorResult rv;
5079 0 : self->SetBorderBottomColor(NonNullHelper(Constify(arg0)), rv);
5080 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5081 0 : return false;
5082 : }
5083 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5084 :
5085 0 : return true;
5086 : }
5087 :
5088 : static const JSJitInfo borderBottomColor_getterinfo = {
5089 : { (JSJitGetterOp)get_borderBottomColor },
5090 : { prototypes::id::CSS2Properties },
5091 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5092 : JSJitInfo::Getter,
5093 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5094 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
5095 : false, /* isInfallible. False in setters. */
5096 : false, /* isMovable. Not relevant for setters. */
5097 : false, /* isEliminatable. Not relevant for setters. */
5098 : false, /* isAlwaysInSlot. Only relevant for getters. */
5099 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5100 : false, /* isTypedMethod. Only relevant for methods. */
5101 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5102 : };
5103 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5104 : static_assert(0 < 1, "There is no slot for us");
5105 : static const JSJitInfo borderBottomColor_setterinfo = {
5106 : { (JSJitGetterOp)set_borderBottomColor },
5107 : { prototypes::id::CSS2Properties },
5108 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5109 : JSJitInfo::Setter,
5110 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5111 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
5112 : false, /* isInfallible. False in setters. */
5113 : false, /* isMovable. Not relevant for setters. */
5114 : false, /* isEliminatable. Not relevant for setters. */
5115 : false, /* isAlwaysInSlot. Only relevant for getters. */
5116 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5117 : false, /* isTypedMethod. Only relevant for methods. */
5118 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5119 : };
5120 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5121 : static_assert(0 < 1, "There is no slot for us");
5122 :
5123 : static bool
5124 0 : get_border_bottom_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
5125 : {
5126 0 : binding_detail::FastErrorResult rv;
5127 0 : DOMString result;
5128 0 : self->GetBorderBottomColor(result, rv);
5129 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5130 0 : return false;
5131 : }
5132 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5133 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
5134 0 : return false;
5135 : }
5136 0 : return true;
5137 : }
5138 :
5139 : static bool
5140 0 : set_border_bottom_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
5141 : {
5142 0 : binding_detail::FakeString arg0;
5143 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
5144 0 : return false;
5145 : }
5146 0 : binding_detail::FastErrorResult rv;
5147 0 : self->SetBorderBottomColor(NonNullHelper(Constify(arg0)), rv);
5148 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5149 0 : return false;
5150 : }
5151 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5152 :
5153 0 : return true;
5154 : }
5155 :
5156 : static const JSJitInfo border_bottom_color_getterinfo = {
5157 : { (JSJitGetterOp)get_border_bottom_color },
5158 : { prototypes::id::CSS2Properties },
5159 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5160 : JSJitInfo::Getter,
5161 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5162 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
5163 : false, /* isInfallible. False in setters. */
5164 : false, /* isMovable. Not relevant for setters. */
5165 : false, /* isEliminatable. Not relevant for setters. */
5166 : false, /* isAlwaysInSlot. Only relevant for getters. */
5167 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5168 : false, /* isTypedMethod. Only relevant for methods. */
5169 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5170 : };
5171 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5172 : static_assert(0 < 1, "There is no slot for us");
5173 : static const JSJitInfo border_bottom_color_setterinfo = {
5174 : { (JSJitGetterOp)set_border_bottom_color },
5175 : { prototypes::id::CSS2Properties },
5176 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5177 : JSJitInfo::Setter,
5178 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5179 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
5180 : false, /* isInfallible. False in setters. */
5181 : false, /* isMovable. Not relevant for setters. */
5182 : false, /* isEliminatable. Not relevant for setters. */
5183 : false, /* isAlwaysInSlot. Only relevant for getters. */
5184 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5185 : false, /* isTypedMethod. Only relevant for methods. */
5186 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5187 : };
5188 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5189 : static_assert(0 < 1, "There is no slot for us");
5190 :
5191 : static bool
5192 0 : get_MozBorderBottomColors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
5193 : {
5194 0 : binding_detail::FastErrorResult rv;
5195 0 : DOMString result;
5196 0 : self->GetMozBorderBottomColors(result, rv);
5197 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5198 0 : return false;
5199 : }
5200 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5201 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
5202 0 : return false;
5203 : }
5204 0 : return true;
5205 : }
5206 :
5207 : static bool
5208 0 : set_MozBorderBottomColors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
5209 : {
5210 0 : binding_detail::FakeString arg0;
5211 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
5212 0 : return false;
5213 : }
5214 0 : binding_detail::FastErrorResult rv;
5215 0 : self->SetMozBorderBottomColors(NonNullHelper(Constify(arg0)), rv);
5216 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5217 0 : return false;
5218 : }
5219 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5220 :
5221 0 : return true;
5222 : }
5223 :
5224 : static const JSJitInfo MozBorderBottomColors_getterinfo = {
5225 : { (JSJitGetterOp)get_MozBorderBottomColors },
5226 : { prototypes::id::CSS2Properties },
5227 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5228 : JSJitInfo::Getter,
5229 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5230 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
5231 : false, /* isInfallible. False in setters. */
5232 : false, /* isMovable. Not relevant for setters. */
5233 : false, /* isEliminatable. Not relevant for setters. */
5234 : false, /* isAlwaysInSlot. Only relevant for getters. */
5235 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5236 : false, /* isTypedMethod. Only relevant for methods. */
5237 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5238 : };
5239 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5240 : static_assert(0 < 1, "There is no slot for us");
5241 : static const JSJitInfo MozBorderBottomColors_setterinfo = {
5242 : { (JSJitGetterOp)set_MozBorderBottomColors },
5243 : { prototypes::id::CSS2Properties },
5244 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5245 : JSJitInfo::Setter,
5246 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5247 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
5248 : false, /* isInfallible. False in setters. */
5249 : false, /* isMovable. Not relevant for setters. */
5250 : false, /* isEliminatable. Not relevant for setters. */
5251 : false, /* isAlwaysInSlot. Only relevant for getters. */
5252 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5253 : false, /* isTypedMethod. Only relevant for methods. */
5254 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5255 : };
5256 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5257 : static_assert(0 < 1, "There is no slot for us");
5258 :
5259 : static bool
5260 0 : get__moz_border_bottom_colors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
5261 : {
5262 0 : binding_detail::FastErrorResult rv;
5263 0 : DOMString result;
5264 0 : self->GetMozBorderBottomColors(result, rv);
5265 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5266 0 : return false;
5267 : }
5268 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5269 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
5270 0 : return false;
5271 : }
5272 0 : return true;
5273 : }
5274 :
5275 : static bool
5276 0 : set__moz_border_bottom_colors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
5277 : {
5278 0 : binding_detail::FakeString arg0;
5279 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
5280 0 : return false;
5281 : }
5282 0 : binding_detail::FastErrorResult rv;
5283 0 : self->SetMozBorderBottomColors(NonNullHelper(Constify(arg0)), rv);
5284 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5285 0 : return false;
5286 : }
5287 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5288 :
5289 0 : return true;
5290 : }
5291 :
5292 : static const JSJitInfo _moz_border_bottom_colors_getterinfo = {
5293 : { (JSJitGetterOp)get__moz_border_bottom_colors },
5294 : { prototypes::id::CSS2Properties },
5295 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5296 : JSJitInfo::Getter,
5297 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5298 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
5299 : false, /* isInfallible. False in setters. */
5300 : false, /* isMovable. Not relevant for setters. */
5301 : false, /* isEliminatable. Not relevant for setters. */
5302 : false, /* isAlwaysInSlot. Only relevant for getters. */
5303 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5304 : false, /* isTypedMethod. Only relevant for methods. */
5305 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5306 : };
5307 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5308 : static_assert(0 < 1, "There is no slot for us");
5309 : static const JSJitInfo _moz_border_bottom_colors_setterinfo = {
5310 : { (JSJitGetterOp)set__moz_border_bottom_colors },
5311 : { prototypes::id::CSS2Properties },
5312 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5313 : JSJitInfo::Setter,
5314 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5315 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
5316 : false, /* isInfallible. False in setters. */
5317 : false, /* isMovable. Not relevant for setters. */
5318 : false, /* isEliminatable. Not relevant for setters. */
5319 : false, /* isAlwaysInSlot. Only relevant for getters. */
5320 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5321 : false, /* isTypedMethod. Only relevant for methods. */
5322 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5323 : };
5324 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5325 : static_assert(0 < 1, "There is no slot for us");
5326 :
5327 : static bool
5328 0 : get_borderBottomLeftRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
5329 : {
5330 0 : binding_detail::FastErrorResult rv;
5331 0 : DOMString result;
5332 0 : self->GetBorderBottomLeftRadius(result, rv);
5333 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5334 0 : return false;
5335 : }
5336 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5337 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
5338 0 : return false;
5339 : }
5340 0 : return true;
5341 : }
5342 :
5343 : static bool
5344 0 : set_borderBottomLeftRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
5345 : {
5346 0 : binding_detail::FakeString arg0;
5347 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
5348 0 : return false;
5349 : }
5350 0 : binding_detail::FastErrorResult rv;
5351 0 : self->SetBorderBottomLeftRadius(NonNullHelper(Constify(arg0)), rv);
5352 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5353 0 : return false;
5354 : }
5355 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5356 :
5357 0 : return true;
5358 : }
5359 :
5360 : static const JSJitInfo borderBottomLeftRadius_getterinfo = {
5361 : { (JSJitGetterOp)get_borderBottomLeftRadius },
5362 : { prototypes::id::CSS2Properties },
5363 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5364 : JSJitInfo::Getter,
5365 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5366 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
5367 : false, /* isInfallible. False in setters. */
5368 : false, /* isMovable. Not relevant for setters. */
5369 : false, /* isEliminatable. Not relevant for setters. */
5370 : false, /* isAlwaysInSlot. Only relevant for getters. */
5371 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5372 : false, /* isTypedMethod. Only relevant for methods. */
5373 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5374 : };
5375 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5376 : static_assert(0 < 1, "There is no slot for us");
5377 : static const JSJitInfo borderBottomLeftRadius_setterinfo = {
5378 : { (JSJitGetterOp)set_borderBottomLeftRadius },
5379 : { prototypes::id::CSS2Properties },
5380 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5381 : JSJitInfo::Setter,
5382 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5383 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
5384 : false, /* isInfallible. False in setters. */
5385 : false, /* isMovable. Not relevant for setters. */
5386 : false, /* isEliminatable. Not relevant for setters. */
5387 : false, /* isAlwaysInSlot. Only relevant for getters. */
5388 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5389 : false, /* isTypedMethod. Only relevant for methods. */
5390 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5391 : };
5392 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5393 : static_assert(0 < 1, "There is no slot for us");
5394 :
5395 : static bool
5396 0 : get_border_bottom_left_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
5397 : {
5398 0 : binding_detail::FastErrorResult rv;
5399 0 : DOMString result;
5400 0 : self->GetBorderBottomLeftRadius(result, rv);
5401 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5402 0 : return false;
5403 : }
5404 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5405 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
5406 0 : return false;
5407 : }
5408 0 : return true;
5409 : }
5410 :
5411 : static bool
5412 0 : set_border_bottom_left_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
5413 : {
5414 0 : binding_detail::FakeString arg0;
5415 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
5416 0 : return false;
5417 : }
5418 0 : binding_detail::FastErrorResult rv;
5419 0 : self->SetBorderBottomLeftRadius(NonNullHelper(Constify(arg0)), rv);
5420 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5421 0 : return false;
5422 : }
5423 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5424 :
5425 0 : return true;
5426 : }
5427 :
5428 : static const JSJitInfo border_bottom_left_radius_getterinfo = {
5429 : { (JSJitGetterOp)get_border_bottom_left_radius },
5430 : { prototypes::id::CSS2Properties },
5431 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5432 : JSJitInfo::Getter,
5433 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5434 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
5435 : false, /* isInfallible. False in setters. */
5436 : false, /* isMovable. Not relevant for setters. */
5437 : false, /* isEliminatable. Not relevant for setters. */
5438 : false, /* isAlwaysInSlot. Only relevant for getters. */
5439 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5440 : false, /* isTypedMethod. Only relevant for methods. */
5441 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5442 : };
5443 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5444 : static_assert(0 < 1, "There is no slot for us");
5445 : static const JSJitInfo border_bottom_left_radius_setterinfo = {
5446 : { (JSJitGetterOp)set_border_bottom_left_radius },
5447 : { prototypes::id::CSS2Properties },
5448 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5449 : JSJitInfo::Setter,
5450 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5451 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
5452 : false, /* isInfallible. False in setters. */
5453 : false, /* isMovable. Not relevant for setters. */
5454 : false, /* isEliminatable. Not relevant for setters. */
5455 : false, /* isAlwaysInSlot. Only relevant for getters. */
5456 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5457 : false, /* isTypedMethod. Only relevant for methods. */
5458 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5459 : };
5460 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5461 : static_assert(0 < 1, "There is no slot for us");
5462 :
5463 : static bool
5464 0 : get_borderBottomRightRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
5465 : {
5466 0 : binding_detail::FastErrorResult rv;
5467 0 : DOMString result;
5468 0 : self->GetBorderBottomRightRadius(result, rv);
5469 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5470 0 : return false;
5471 : }
5472 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5473 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
5474 0 : return false;
5475 : }
5476 0 : return true;
5477 : }
5478 :
5479 : static bool
5480 0 : set_borderBottomRightRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
5481 : {
5482 0 : binding_detail::FakeString arg0;
5483 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
5484 0 : return false;
5485 : }
5486 0 : binding_detail::FastErrorResult rv;
5487 0 : self->SetBorderBottomRightRadius(NonNullHelper(Constify(arg0)), rv);
5488 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5489 0 : return false;
5490 : }
5491 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5492 :
5493 0 : return true;
5494 : }
5495 :
5496 : static const JSJitInfo borderBottomRightRadius_getterinfo = {
5497 : { (JSJitGetterOp)get_borderBottomRightRadius },
5498 : { prototypes::id::CSS2Properties },
5499 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5500 : JSJitInfo::Getter,
5501 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5502 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
5503 : false, /* isInfallible. False in setters. */
5504 : false, /* isMovable. Not relevant for setters. */
5505 : false, /* isEliminatable. Not relevant for setters. */
5506 : false, /* isAlwaysInSlot. Only relevant for getters. */
5507 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5508 : false, /* isTypedMethod. Only relevant for methods. */
5509 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5510 : };
5511 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5512 : static_assert(0 < 1, "There is no slot for us");
5513 : static const JSJitInfo borderBottomRightRadius_setterinfo = {
5514 : { (JSJitGetterOp)set_borderBottomRightRadius },
5515 : { prototypes::id::CSS2Properties },
5516 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5517 : JSJitInfo::Setter,
5518 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5519 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
5520 : false, /* isInfallible. False in setters. */
5521 : false, /* isMovable. Not relevant for setters. */
5522 : false, /* isEliminatable. Not relevant for setters. */
5523 : false, /* isAlwaysInSlot. Only relevant for getters. */
5524 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5525 : false, /* isTypedMethod. Only relevant for methods. */
5526 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5527 : };
5528 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5529 : static_assert(0 < 1, "There is no slot for us");
5530 :
5531 : static bool
5532 0 : get_border_bottom_right_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
5533 : {
5534 0 : binding_detail::FastErrorResult rv;
5535 0 : DOMString result;
5536 0 : self->GetBorderBottomRightRadius(result, rv);
5537 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5538 0 : return false;
5539 : }
5540 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5541 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
5542 0 : return false;
5543 : }
5544 0 : return true;
5545 : }
5546 :
5547 : static bool
5548 0 : set_border_bottom_right_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
5549 : {
5550 0 : binding_detail::FakeString arg0;
5551 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
5552 0 : return false;
5553 : }
5554 0 : binding_detail::FastErrorResult rv;
5555 0 : self->SetBorderBottomRightRadius(NonNullHelper(Constify(arg0)), rv);
5556 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5557 0 : return false;
5558 : }
5559 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5560 :
5561 0 : return true;
5562 : }
5563 :
5564 : static const JSJitInfo border_bottom_right_radius_getterinfo = {
5565 : { (JSJitGetterOp)get_border_bottom_right_radius },
5566 : { prototypes::id::CSS2Properties },
5567 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5568 : JSJitInfo::Getter,
5569 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5570 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
5571 : false, /* isInfallible. False in setters. */
5572 : false, /* isMovable. Not relevant for setters. */
5573 : false, /* isEliminatable. Not relevant for setters. */
5574 : false, /* isAlwaysInSlot. Only relevant for getters. */
5575 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5576 : false, /* isTypedMethod. Only relevant for methods. */
5577 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5578 : };
5579 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5580 : static_assert(0 < 1, "There is no slot for us");
5581 : static const JSJitInfo border_bottom_right_radius_setterinfo = {
5582 : { (JSJitGetterOp)set_border_bottom_right_radius },
5583 : { prototypes::id::CSS2Properties },
5584 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5585 : JSJitInfo::Setter,
5586 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5587 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
5588 : false, /* isInfallible. False in setters. */
5589 : false, /* isMovable. Not relevant for setters. */
5590 : false, /* isEliminatable. Not relevant for setters. */
5591 : false, /* isAlwaysInSlot. Only relevant for getters. */
5592 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5593 : false, /* isTypedMethod. Only relevant for methods. */
5594 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5595 : };
5596 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5597 : static_assert(0 < 1, "There is no slot for us");
5598 :
5599 : static bool
5600 0 : get_borderBottomStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
5601 : {
5602 0 : binding_detail::FastErrorResult rv;
5603 0 : DOMString result;
5604 0 : self->GetBorderBottomStyle(result, rv);
5605 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5606 0 : return false;
5607 : }
5608 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5609 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
5610 0 : return false;
5611 : }
5612 0 : return true;
5613 : }
5614 :
5615 : static bool
5616 0 : set_borderBottomStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
5617 : {
5618 0 : binding_detail::FakeString arg0;
5619 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
5620 0 : return false;
5621 : }
5622 0 : binding_detail::FastErrorResult rv;
5623 0 : self->SetBorderBottomStyle(NonNullHelper(Constify(arg0)), rv);
5624 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5625 0 : return false;
5626 : }
5627 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5628 :
5629 0 : return true;
5630 : }
5631 :
5632 : static const JSJitInfo borderBottomStyle_getterinfo = {
5633 : { (JSJitGetterOp)get_borderBottomStyle },
5634 : { prototypes::id::CSS2Properties },
5635 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5636 : JSJitInfo::Getter,
5637 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5638 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
5639 : false, /* isInfallible. False in setters. */
5640 : false, /* isMovable. Not relevant for setters. */
5641 : false, /* isEliminatable. Not relevant for setters. */
5642 : false, /* isAlwaysInSlot. Only relevant for getters. */
5643 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5644 : false, /* isTypedMethod. Only relevant for methods. */
5645 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5646 : };
5647 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5648 : static_assert(0 < 1, "There is no slot for us");
5649 : static const JSJitInfo borderBottomStyle_setterinfo = {
5650 : { (JSJitGetterOp)set_borderBottomStyle },
5651 : { prototypes::id::CSS2Properties },
5652 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5653 : JSJitInfo::Setter,
5654 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5655 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
5656 : false, /* isInfallible. False in setters. */
5657 : false, /* isMovable. Not relevant for setters. */
5658 : false, /* isEliminatable. Not relevant for setters. */
5659 : false, /* isAlwaysInSlot. Only relevant for getters. */
5660 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5661 : false, /* isTypedMethod. Only relevant for methods. */
5662 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5663 : };
5664 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5665 : static_assert(0 < 1, "There is no slot for us");
5666 :
5667 : static bool
5668 0 : get_border_bottom_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
5669 : {
5670 0 : binding_detail::FastErrorResult rv;
5671 0 : DOMString result;
5672 0 : self->GetBorderBottomStyle(result, rv);
5673 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5674 0 : return false;
5675 : }
5676 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5677 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
5678 0 : return false;
5679 : }
5680 0 : return true;
5681 : }
5682 :
5683 : static bool
5684 0 : set_border_bottom_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
5685 : {
5686 0 : binding_detail::FakeString arg0;
5687 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
5688 0 : return false;
5689 : }
5690 0 : binding_detail::FastErrorResult rv;
5691 0 : self->SetBorderBottomStyle(NonNullHelper(Constify(arg0)), rv);
5692 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5693 0 : return false;
5694 : }
5695 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5696 :
5697 0 : return true;
5698 : }
5699 :
5700 : static const JSJitInfo border_bottom_style_getterinfo = {
5701 : { (JSJitGetterOp)get_border_bottom_style },
5702 : { prototypes::id::CSS2Properties },
5703 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5704 : JSJitInfo::Getter,
5705 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5706 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
5707 : false, /* isInfallible. False in setters. */
5708 : false, /* isMovable. Not relevant for setters. */
5709 : false, /* isEliminatable. Not relevant for setters. */
5710 : false, /* isAlwaysInSlot. Only relevant for getters. */
5711 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5712 : false, /* isTypedMethod. Only relevant for methods. */
5713 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5714 : };
5715 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5716 : static_assert(0 < 1, "There is no slot for us");
5717 : static const JSJitInfo border_bottom_style_setterinfo = {
5718 : { (JSJitGetterOp)set_border_bottom_style },
5719 : { prototypes::id::CSS2Properties },
5720 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5721 : JSJitInfo::Setter,
5722 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5723 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
5724 : false, /* isInfallible. False in setters. */
5725 : false, /* isMovable. Not relevant for setters. */
5726 : false, /* isEliminatable. Not relevant for setters. */
5727 : false, /* isAlwaysInSlot. Only relevant for getters. */
5728 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5729 : false, /* isTypedMethod. Only relevant for methods. */
5730 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5731 : };
5732 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5733 : static_assert(0 < 1, "There is no slot for us");
5734 :
5735 : static bool
5736 0 : get_borderBottomWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
5737 : {
5738 0 : binding_detail::FastErrorResult rv;
5739 0 : DOMString result;
5740 0 : self->GetBorderBottomWidth(result, rv);
5741 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5742 0 : return false;
5743 : }
5744 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5745 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
5746 0 : return false;
5747 : }
5748 0 : return true;
5749 : }
5750 :
5751 : static bool
5752 0 : set_borderBottomWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
5753 : {
5754 0 : binding_detail::FakeString arg0;
5755 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
5756 0 : return false;
5757 : }
5758 0 : binding_detail::FastErrorResult rv;
5759 0 : self->SetBorderBottomWidth(NonNullHelper(Constify(arg0)), rv);
5760 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5761 0 : return false;
5762 : }
5763 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5764 :
5765 0 : return true;
5766 : }
5767 :
5768 : static const JSJitInfo borderBottomWidth_getterinfo = {
5769 : { (JSJitGetterOp)get_borderBottomWidth },
5770 : { prototypes::id::CSS2Properties },
5771 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5772 : JSJitInfo::Getter,
5773 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5774 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
5775 : false, /* isInfallible. False in setters. */
5776 : false, /* isMovable. Not relevant for setters. */
5777 : false, /* isEliminatable. Not relevant for setters. */
5778 : false, /* isAlwaysInSlot. Only relevant for getters. */
5779 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5780 : false, /* isTypedMethod. Only relevant for methods. */
5781 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5782 : };
5783 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5784 : static_assert(0 < 1, "There is no slot for us");
5785 : static const JSJitInfo borderBottomWidth_setterinfo = {
5786 : { (JSJitGetterOp)set_borderBottomWidth },
5787 : { prototypes::id::CSS2Properties },
5788 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5789 : JSJitInfo::Setter,
5790 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5791 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
5792 : false, /* isInfallible. False in setters. */
5793 : false, /* isMovable. Not relevant for setters. */
5794 : false, /* isEliminatable. Not relevant for setters. */
5795 : false, /* isAlwaysInSlot. Only relevant for getters. */
5796 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5797 : false, /* isTypedMethod. Only relevant for methods. */
5798 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5799 : };
5800 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5801 : static_assert(0 < 1, "There is no slot for us");
5802 :
5803 : static bool
5804 0 : get_border_bottom_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
5805 : {
5806 0 : binding_detail::FastErrorResult rv;
5807 0 : DOMString result;
5808 0 : self->GetBorderBottomWidth(result, rv);
5809 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5810 0 : return false;
5811 : }
5812 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5813 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
5814 0 : return false;
5815 : }
5816 0 : return true;
5817 : }
5818 :
5819 : static bool
5820 0 : set_border_bottom_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
5821 : {
5822 0 : binding_detail::FakeString arg0;
5823 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
5824 0 : return false;
5825 : }
5826 0 : binding_detail::FastErrorResult rv;
5827 0 : self->SetBorderBottomWidth(NonNullHelper(Constify(arg0)), rv);
5828 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5829 0 : return false;
5830 : }
5831 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5832 :
5833 0 : return true;
5834 : }
5835 :
5836 : static const JSJitInfo border_bottom_width_getterinfo = {
5837 : { (JSJitGetterOp)get_border_bottom_width },
5838 : { prototypes::id::CSS2Properties },
5839 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5840 : JSJitInfo::Getter,
5841 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5842 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
5843 : false, /* isInfallible. False in setters. */
5844 : false, /* isMovable. Not relevant for setters. */
5845 : false, /* isEliminatable. Not relevant for setters. */
5846 : false, /* isAlwaysInSlot. Only relevant for getters. */
5847 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5848 : false, /* isTypedMethod. Only relevant for methods. */
5849 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5850 : };
5851 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5852 : static_assert(0 < 1, "There is no slot for us");
5853 : static const JSJitInfo border_bottom_width_setterinfo = {
5854 : { (JSJitGetterOp)set_border_bottom_width },
5855 : { prototypes::id::CSS2Properties },
5856 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5857 : JSJitInfo::Setter,
5858 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5859 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
5860 : false, /* isInfallible. False in setters. */
5861 : false, /* isMovable. Not relevant for setters. */
5862 : false, /* isEliminatable. Not relevant for setters. */
5863 : false, /* isAlwaysInSlot. Only relevant for getters. */
5864 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5865 : false, /* isTypedMethod. Only relevant for methods. */
5866 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5867 : };
5868 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5869 : static_assert(0 < 1, "There is no slot for us");
5870 :
5871 : static bool
5872 0 : get_borderCollapse(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
5873 : {
5874 0 : binding_detail::FastErrorResult rv;
5875 0 : DOMString result;
5876 0 : self->GetBorderCollapse(result, rv);
5877 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5878 0 : return false;
5879 : }
5880 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5881 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
5882 0 : return false;
5883 : }
5884 0 : return true;
5885 : }
5886 :
5887 : static bool
5888 0 : set_borderCollapse(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
5889 : {
5890 0 : binding_detail::FakeString arg0;
5891 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
5892 0 : return false;
5893 : }
5894 0 : binding_detail::FastErrorResult rv;
5895 0 : self->SetBorderCollapse(NonNullHelper(Constify(arg0)), rv);
5896 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5897 0 : return false;
5898 : }
5899 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5900 :
5901 0 : return true;
5902 : }
5903 :
5904 : static const JSJitInfo borderCollapse_getterinfo = {
5905 : { (JSJitGetterOp)get_borderCollapse },
5906 : { prototypes::id::CSS2Properties },
5907 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5908 : JSJitInfo::Getter,
5909 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5910 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
5911 : false, /* isInfallible. False in setters. */
5912 : false, /* isMovable. Not relevant for setters. */
5913 : false, /* isEliminatable. Not relevant for setters. */
5914 : false, /* isAlwaysInSlot. Only relevant for getters. */
5915 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5916 : false, /* isTypedMethod. Only relevant for methods. */
5917 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5918 : };
5919 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5920 : static_assert(0 < 1, "There is no slot for us");
5921 : static const JSJitInfo borderCollapse_setterinfo = {
5922 : { (JSJitGetterOp)set_borderCollapse },
5923 : { prototypes::id::CSS2Properties },
5924 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5925 : JSJitInfo::Setter,
5926 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5927 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
5928 : false, /* isInfallible. False in setters. */
5929 : false, /* isMovable. Not relevant for setters. */
5930 : false, /* isEliminatable. Not relevant for setters. */
5931 : false, /* isAlwaysInSlot. Only relevant for getters. */
5932 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5933 : false, /* isTypedMethod. Only relevant for methods. */
5934 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5935 : };
5936 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5937 : static_assert(0 < 1, "There is no slot for us");
5938 :
5939 : static bool
5940 0 : get_border_collapse(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
5941 : {
5942 0 : binding_detail::FastErrorResult rv;
5943 0 : DOMString result;
5944 0 : self->GetBorderCollapse(result, rv);
5945 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5946 0 : return false;
5947 : }
5948 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5949 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
5950 0 : return false;
5951 : }
5952 0 : return true;
5953 : }
5954 :
5955 : static bool
5956 0 : set_border_collapse(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
5957 : {
5958 0 : binding_detail::FakeString arg0;
5959 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
5960 0 : return false;
5961 : }
5962 0 : binding_detail::FastErrorResult rv;
5963 0 : self->SetBorderCollapse(NonNullHelper(Constify(arg0)), rv);
5964 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
5965 0 : return false;
5966 : }
5967 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
5968 :
5969 0 : return true;
5970 : }
5971 :
5972 : static const JSJitInfo border_collapse_getterinfo = {
5973 : { (JSJitGetterOp)get_border_collapse },
5974 : { prototypes::id::CSS2Properties },
5975 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5976 : JSJitInfo::Getter,
5977 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5978 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
5979 : false, /* isInfallible. False in setters. */
5980 : false, /* isMovable. Not relevant for setters. */
5981 : false, /* isEliminatable. Not relevant for setters. */
5982 : false, /* isAlwaysInSlot. Only relevant for getters. */
5983 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
5984 : false, /* isTypedMethod. Only relevant for methods. */
5985 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
5986 : };
5987 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
5988 : static_assert(0 < 1, "There is no slot for us");
5989 : static const JSJitInfo border_collapse_setterinfo = {
5990 : { (JSJitGetterOp)set_border_collapse },
5991 : { prototypes::id::CSS2Properties },
5992 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
5993 : JSJitInfo::Setter,
5994 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
5995 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
5996 : false, /* isInfallible. False in setters. */
5997 : false, /* isMovable. Not relevant for setters. */
5998 : false, /* isEliminatable. Not relevant for setters. */
5999 : false, /* isAlwaysInSlot. Only relevant for getters. */
6000 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6001 : false, /* isTypedMethod. Only relevant for methods. */
6002 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6003 : };
6004 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6005 : static_assert(0 < 1, "There is no slot for us");
6006 :
6007 : static bool
6008 0 : get_borderColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
6009 : {
6010 0 : binding_detail::FastErrorResult rv;
6011 0 : DOMString result;
6012 0 : self->GetBorderColor(result, rv);
6013 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6014 0 : return false;
6015 : }
6016 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6017 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
6018 0 : return false;
6019 : }
6020 0 : return true;
6021 : }
6022 :
6023 : static bool
6024 0 : set_borderColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
6025 : {
6026 0 : binding_detail::FakeString arg0;
6027 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
6028 0 : return false;
6029 : }
6030 0 : binding_detail::FastErrorResult rv;
6031 0 : self->SetBorderColor(NonNullHelper(Constify(arg0)), rv);
6032 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6033 0 : return false;
6034 : }
6035 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6036 :
6037 0 : return true;
6038 : }
6039 :
6040 : static const JSJitInfo borderColor_getterinfo = {
6041 : { (JSJitGetterOp)get_borderColor },
6042 : { prototypes::id::CSS2Properties },
6043 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6044 : JSJitInfo::Getter,
6045 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6046 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
6047 : false, /* isInfallible. False in setters. */
6048 : false, /* isMovable. Not relevant for setters. */
6049 : false, /* isEliminatable. Not relevant for setters. */
6050 : false, /* isAlwaysInSlot. Only relevant for getters. */
6051 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6052 : false, /* isTypedMethod. Only relevant for methods. */
6053 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6054 : };
6055 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6056 : static_assert(0 < 1, "There is no slot for us");
6057 : static const JSJitInfo borderColor_setterinfo = {
6058 : { (JSJitGetterOp)set_borderColor },
6059 : { prototypes::id::CSS2Properties },
6060 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6061 : JSJitInfo::Setter,
6062 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6063 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
6064 : false, /* isInfallible. False in setters. */
6065 : false, /* isMovable. Not relevant for setters. */
6066 : false, /* isEliminatable. Not relevant for setters. */
6067 : false, /* isAlwaysInSlot. Only relevant for getters. */
6068 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6069 : false, /* isTypedMethod. Only relevant for methods. */
6070 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6071 : };
6072 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6073 : static_assert(0 < 1, "There is no slot for us");
6074 :
6075 : static bool
6076 0 : get_border_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
6077 : {
6078 0 : binding_detail::FastErrorResult rv;
6079 0 : DOMString result;
6080 0 : self->GetBorderColor(result, rv);
6081 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6082 0 : return false;
6083 : }
6084 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6085 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
6086 0 : return false;
6087 : }
6088 0 : return true;
6089 : }
6090 :
6091 : static bool
6092 0 : set_border_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
6093 : {
6094 0 : binding_detail::FakeString arg0;
6095 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
6096 0 : return false;
6097 : }
6098 0 : binding_detail::FastErrorResult rv;
6099 0 : self->SetBorderColor(NonNullHelper(Constify(arg0)), rv);
6100 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6101 0 : return false;
6102 : }
6103 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6104 :
6105 0 : return true;
6106 : }
6107 :
6108 : static const JSJitInfo border_color_getterinfo = {
6109 : { (JSJitGetterOp)get_border_color },
6110 : { prototypes::id::CSS2Properties },
6111 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6112 : JSJitInfo::Getter,
6113 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6114 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
6115 : false, /* isInfallible. False in setters. */
6116 : false, /* isMovable. Not relevant for setters. */
6117 : false, /* isEliminatable. Not relevant for setters. */
6118 : false, /* isAlwaysInSlot. Only relevant for getters. */
6119 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6120 : false, /* isTypedMethod. Only relevant for methods. */
6121 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6122 : };
6123 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6124 : static_assert(0 < 1, "There is no slot for us");
6125 : static const JSJitInfo border_color_setterinfo = {
6126 : { (JSJitGetterOp)set_border_color },
6127 : { prototypes::id::CSS2Properties },
6128 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6129 : JSJitInfo::Setter,
6130 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6131 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
6132 : false, /* isInfallible. False in setters. */
6133 : false, /* isMovable. Not relevant for setters. */
6134 : false, /* isEliminatable. Not relevant for setters. */
6135 : false, /* isAlwaysInSlot. Only relevant for getters. */
6136 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6137 : false, /* isTypedMethod. Only relevant for methods. */
6138 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6139 : };
6140 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6141 : static_assert(0 < 1, "There is no slot for us");
6142 :
6143 : static bool
6144 0 : get_borderImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
6145 : {
6146 0 : binding_detail::FastErrorResult rv;
6147 0 : DOMString result;
6148 0 : self->GetBorderImage(result, rv);
6149 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6150 0 : return false;
6151 : }
6152 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6153 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
6154 0 : return false;
6155 : }
6156 0 : return true;
6157 : }
6158 :
6159 : static bool
6160 0 : set_borderImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
6161 : {
6162 0 : binding_detail::FakeString arg0;
6163 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
6164 0 : return false;
6165 : }
6166 0 : binding_detail::FastErrorResult rv;
6167 0 : self->SetBorderImage(NonNullHelper(Constify(arg0)), rv);
6168 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6169 0 : return false;
6170 : }
6171 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6172 :
6173 0 : return true;
6174 : }
6175 :
6176 : static const JSJitInfo borderImage_getterinfo = {
6177 : { (JSJitGetterOp)get_borderImage },
6178 : { prototypes::id::CSS2Properties },
6179 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6180 : JSJitInfo::Getter,
6181 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6182 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
6183 : false, /* isInfallible. False in setters. */
6184 : false, /* isMovable. Not relevant for setters. */
6185 : false, /* isEliminatable. Not relevant for setters. */
6186 : false, /* isAlwaysInSlot. Only relevant for getters. */
6187 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6188 : false, /* isTypedMethod. Only relevant for methods. */
6189 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6190 : };
6191 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6192 : static_assert(0 < 1, "There is no slot for us");
6193 : static const JSJitInfo borderImage_setterinfo = {
6194 : { (JSJitGetterOp)set_borderImage },
6195 : { prototypes::id::CSS2Properties },
6196 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6197 : JSJitInfo::Setter,
6198 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6199 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
6200 : false, /* isInfallible. False in setters. */
6201 : false, /* isMovable. Not relevant for setters. */
6202 : false, /* isEliminatable. Not relevant for setters. */
6203 : false, /* isAlwaysInSlot. Only relevant for getters. */
6204 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6205 : false, /* isTypedMethod. Only relevant for methods. */
6206 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6207 : };
6208 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6209 : static_assert(0 < 1, "There is no slot for us");
6210 :
6211 : static bool
6212 0 : get_border_image(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
6213 : {
6214 0 : binding_detail::FastErrorResult rv;
6215 0 : DOMString result;
6216 0 : self->GetBorderImage(result, rv);
6217 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6218 0 : return false;
6219 : }
6220 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6221 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
6222 0 : return false;
6223 : }
6224 0 : return true;
6225 : }
6226 :
6227 : static bool
6228 0 : set_border_image(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
6229 : {
6230 0 : binding_detail::FakeString arg0;
6231 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
6232 0 : return false;
6233 : }
6234 0 : binding_detail::FastErrorResult rv;
6235 0 : self->SetBorderImage(NonNullHelper(Constify(arg0)), rv);
6236 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6237 0 : return false;
6238 : }
6239 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6240 :
6241 0 : return true;
6242 : }
6243 :
6244 : static const JSJitInfo border_image_getterinfo = {
6245 : { (JSJitGetterOp)get_border_image },
6246 : { prototypes::id::CSS2Properties },
6247 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6248 : JSJitInfo::Getter,
6249 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6250 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
6251 : false, /* isInfallible. False in setters. */
6252 : false, /* isMovable. Not relevant for setters. */
6253 : false, /* isEliminatable. Not relevant for setters. */
6254 : false, /* isAlwaysInSlot. Only relevant for getters. */
6255 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6256 : false, /* isTypedMethod. Only relevant for methods. */
6257 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6258 : };
6259 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6260 : static_assert(0 < 1, "There is no slot for us");
6261 : static const JSJitInfo border_image_setterinfo = {
6262 : { (JSJitGetterOp)set_border_image },
6263 : { prototypes::id::CSS2Properties },
6264 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6265 : JSJitInfo::Setter,
6266 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6267 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
6268 : false, /* isInfallible. False in setters. */
6269 : false, /* isMovable. Not relevant for setters. */
6270 : false, /* isEliminatable. Not relevant for setters. */
6271 : false, /* isAlwaysInSlot. Only relevant for getters. */
6272 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6273 : false, /* isTypedMethod. Only relevant for methods. */
6274 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6275 : };
6276 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6277 : static_assert(0 < 1, "There is no slot for us");
6278 :
6279 : static bool
6280 0 : get_borderImageOutset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
6281 : {
6282 0 : binding_detail::FastErrorResult rv;
6283 0 : DOMString result;
6284 0 : self->GetBorderImageOutset(result, rv);
6285 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6286 0 : return false;
6287 : }
6288 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6289 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
6290 0 : return false;
6291 : }
6292 0 : return true;
6293 : }
6294 :
6295 : static bool
6296 0 : set_borderImageOutset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
6297 : {
6298 0 : binding_detail::FakeString arg0;
6299 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
6300 0 : return false;
6301 : }
6302 0 : binding_detail::FastErrorResult rv;
6303 0 : self->SetBorderImageOutset(NonNullHelper(Constify(arg0)), rv);
6304 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6305 0 : return false;
6306 : }
6307 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6308 :
6309 0 : return true;
6310 : }
6311 :
6312 : static const JSJitInfo borderImageOutset_getterinfo = {
6313 : { (JSJitGetterOp)get_borderImageOutset },
6314 : { prototypes::id::CSS2Properties },
6315 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6316 : JSJitInfo::Getter,
6317 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6318 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
6319 : false, /* isInfallible. False in setters. */
6320 : false, /* isMovable. Not relevant for setters. */
6321 : false, /* isEliminatable. Not relevant for setters. */
6322 : false, /* isAlwaysInSlot. Only relevant for getters. */
6323 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6324 : false, /* isTypedMethod. Only relevant for methods. */
6325 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6326 : };
6327 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6328 : static_assert(0 < 1, "There is no slot for us");
6329 : static const JSJitInfo borderImageOutset_setterinfo = {
6330 : { (JSJitGetterOp)set_borderImageOutset },
6331 : { prototypes::id::CSS2Properties },
6332 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6333 : JSJitInfo::Setter,
6334 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6335 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
6336 : false, /* isInfallible. False in setters. */
6337 : false, /* isMovable. Not relevant for setters. */
6338 : false, /* isEliminatable. Not relevant for setters. */
6339 : false, /* isAlwaysInSlot. Only relevant for getters. */
6340 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6341 : false, /* isTypedMethod. Only relevant for methods. */
6342 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6343 : };
6344 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6345 : static_assert(0 < 1, "There is no slot for us");
6346 :
6347 : static bool
6348 0 : get_border_image_outset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
6349 : {
6350 0 : binding_detail::FastErrorResult rv;
6351 0 : DOMString result;
6352 0 : self->GetBorderImageOutset(result, rv);
6353 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6354 0 : return false;
6355 : }
6356 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6357 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
6358 0 : return false;
6359 : }
6360 0 : return true;
6361 : }
6362 :
6363 : static bool
6364 0 : set_border_image_outset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
6365 : {
6366 0 : binding_detail::FakeString arg0;
6367 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
6368 0 : return false;
6369 : }
6370 0 : binding_detail::FastErrorResult rv;
6371 0 : self->SetBorderImageOutset(NonNullHelper(Constify(arg0)), rv);
6372 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6373 0 : return false;
6374 : }
6375 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6376 :
6377 0 : return true;
6378 : }
6379 :
6380 : static const JSJitInfo border_image_outset_getterinfo = {
6381 : { (JSJitGetterOp)get_border_image_outset },
6382 : { prototypes::id::CSS2Properties },
6383 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6384 : JSJitInfo::Getter,
6385 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6386 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
6387 : false, /* isInfallible. False in setters. */
6388 : false, /* isMovable. Not relevant for setters. */
6389 : false, /* isEliminatable. Not relevant for setters. */
6390 : false, /* isAlwaysInSlot. Only relevant for getters. */
6391 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6392 : false, /* isTypedMethod. Only relevant for methods. */
6393 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6394 : };
6395 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6396 : static_assert(0 < 1, "There is no slot for us");
6397 : static const JSJitInfo border_image_outset_setterinfo = {
6398 : { (JSJitGetterOp)set_border_image_outset },
6399 : { prototypes::id::CSS2Properties },
6400 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6401 : JSJitInfo::Setter,
6402 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6403 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
6404 : false, /* isInfallible. False in setters. */
6405 : false, /* isMovable. Not relevant for setters. */
6406 : false, /* isEliminatable. Not relevant for setters. */
6407 : false, /* isAlwaysInSlot. Only relevant for getters. */
6408 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6409 : false, /* isTypedMethod. Only relevant for methods. */
6410 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6411 : };
6412 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6413 : static_assert(0 < 1, "There is no slot for us");
6414 :
6415 : static bool
6416 0 : get_borderImageRepeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
6417 : {
6418 0 : binding_detail::FastErrorResult rv;
6419 0 : DOMString result;
6420 0 : self->GetBorderImageRepeat(result, rv);
6421 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6422 0 : return false;
6423 : }
6424 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6425 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
6426 0 : return false;
6427 : }
6428 0 : return true;
6429 : }
6430 :
6431 : static bool
6432 0 : set_borderImageRepeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
6433 : {
6434 0 : binding_detail::FakeString arg0;
6435 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
6436 0 : return false;
6437 : }
6438 0 : binding_detail::FastErrorResult rv;
6439 0 : self->SetBorderImageRepeat(NonNullHelper(Constify(arg0)), rv);
6440 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6441 0 : return false;
6442 : }
6443 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6444 :
6445 0 : return true;
6446 : }
6447 :
6448 : static const JSJitInfo borderImageRepeat_getterinfo = {
6449 : { (JSJitGetterOp)get_borderImageRepeat },
6450 : { prototypes::id::CSS2Properties },
6451 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6452 : JSJitInfo::Getter,
6453 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6454 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
6455 : false, /* isInfallible. False in setters. */
6456 : false, /* isMovable. Not relevant for setters. */
6457 : false, /* isEliminatable. Not relevant for setters. */
6458 : false, /* isAlwaysInSlot. Only relevant for getters. */
6459 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6460 : false, /* isTypedMethod. Only relevant for methods. */
6461 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6462 : };
6463 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6464 : static_assert(0 < 1, "There is no slot for us");
6465 : static const JSJitInfo borderImageRepeat_setterinfo = {
6466 : { (JSJitGetterOp)set_borderImageRepeat },
6467 : { prototypes::id::CSS2Properties },
6468 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6469 : JSJitInfo::Setter,
6470 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6471 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
6472 : false, /* isInfallible. False in setters. */
6473 : false, /* isMovable. Not relevant for setters. */
6474 : false, /* isEliminatable. Not relevant for setters. */
6475 : false, /* isAlwaysInSlot. Only relevant for getters. */
6476 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6477 : false, /* isTypedMethod. Only relevant for methods. */
6478 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6479 : };
6480 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6481 : static_assert(0 < 1, "There is no slot for us");
6482 :
6483 : static bool
6484 0 : get_border_image_repeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
6485 : {
6486 0 : binding_detail::FastErrorResult rv;
6487 0 : DOMString result;
6488 0 : self->GetBorderImageRepeat(result, rv);
6489 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6490 0 : return false;
6491 : }
6492 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6493 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
6494 0 : return false;
6495 : }
6496 0 : return true;
6497 : }
6498 :
6499 : static bool
6500 0 : set_border_image_repeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
6501 : {
6502 0 : binding_detail::FakeString arg0;
6503 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
6504 0 : return false;
6505 : }
6506 0 : binding_detail::FastErrorResult rv;
6507 0 : self->SetBorderImageRepeat(NonNullHelper(Constify(arg0)), rv);
6508 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6509 0 : return false;
6510 : }
6511 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6512 :
6513 0 : return true;
6514 : }
6515 :
6516 : static const JSJitInfo border_image_repeat_getterinfo = {
6517 : { (JSJitGetterOp)get_border_image_repeat },
6518 : { prototypes::id::CSS2Properties },
6519 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6520 : JSJitInfo::Getter,
6521 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6522 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
6523 : false, /* isInfallible. False in setters. */
6524 : false, /* isMovable. Not relevant for setters. */
6525 : false, /* isEliminatable. Not relevant for setters. */
6526 : false, /* isAlwaysInSlot. Only relevant for getters. */
6527 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6528 : false, /* isTypedMethod. Only relevant for methods. */
6529 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6530 : };
6531 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6532 : static_assert(0 < 1, "There is no slot for us");
6533 : static const JSJitInfo border_image_repeat_setterinfo = {
6534 : { (JSJitGetterOp)set_border_image_repeat },
6535 : { prototypes::id::CSS2Properties },
6536 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6537 : JSJitInfo::Setter,
6538 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6539 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
6540 : false, /* isInfallible. False in setters. */
6541 : false, /* isMovable. Not relevant for setters. */
6542 : false, /* isEliminatable. Not relevant for setters. */
6543 : false, /* isAlwaysInSlot. Only relevant for getters. */
6544 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6545 : false, /* isTypedMethod. Only relevant for methods. */
6546 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6547 : };
6548 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6549 : static_assert(0 < 1, "There is no slot for us");
6550 :
6551 : static bool
6552 0 : get_borderImageSlice(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
6553 : {
6554 0 : binding_detail::FastErrorResult rv;
6555 0 : DOMString result;
6556 0 : self->GetBorderImageSlice(result, rv);
6557 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6558 0 : return false;
6559 : }
6560 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6561 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
6562 0 : return false;
6563 : }
6564 0 : return true;
6565 : }
6566 :
6567 : static bool
6568 0 : set_borderImageSlice(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
6569 : {
6570 0 : binding_detail::FakeString arg0;
6571 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
6572 0 : return false;
6573 : }
6574 0 : binding_detail::FastErrorResult rv;
6575 0 : self->SetBorderImageSlice(NonNullHelper(Constify(arg0)), rv);
6576 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6577 0 : return false;
6578 : }
6579 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6580 :
6581 0 : return true;
6582 : }
6583 :
6584 : static const JSJitInfo borderImageSlice_getterinfo = {
6585 : { (JSJitGetterOp)get_borderImageSlice },
6586 : { prototypes::id::CSS2Properties },
6587 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6588 : JSJitInfo::Getter,
6589 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6590 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
6591 : false, /* isInfallible. False in setters. */
6592 : false, /* isMovable. Not relevant for setters. */
6593 : false, /* isEliminatable. Not relevant for setters. */
6594 : false, /* isAlwaysInSlot. Only relevant for getters. */
6595 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6596 : false, /* isTypedMethod. Only relevant for methods. */
6597 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6598 : };
6599 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6600 : static_assert(0 < 1, "There is no slot for us");
6601 : static const JSJitInfo borderImageSlice_setterinfo = {
6602 : { (JSJitGetterOp)set_borderImageSlice },
6603 : { prototypes::id::CSS2Properties },
6604 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6605 : JSJitInfo::Setter,
6606 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6607 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
6608 : false, /* isInfallible. False in setters. */
6609 : false, /* isMovable. Not relevant for setters. */
6610 : false, /* isEliminatable. Not relevant for setters. */
6611 : false, /* isAlwaysInSlot. Only relevant for getters. */
6612 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6613 : false, /* isTypedMethod. Only relevant for methods. */
6614 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6615 : };
6616 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6617 : static_assert(0 < 1, "There is no slot for us");
6618 :
6619 : static bool
6620 0 : get_border_image_slice(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
6621 : {
6622 0 : binding_detail::FastErrorResult rv;
6623 0 : DOMString result;
6624 0 : self->GetBorderImageSlice(result, rv);
6625 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6626 0 : return false;
6627 : }
6628 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6629 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
6630 0 : return false;
6631 : }
6632 0 : return true;
6633 : }
6634 :
6635 : static bool
6636 0 : set_border_image_slice(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
6637 : {
6638 0 : binding_detail::FakeString arg0;
6639 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
6640 0 : return false;
6641 : }
6642 0 : binding_detail::FastErrorResult rv;
6643 0 : self->SetBorderImageSlice(NonNullHelper(Constify(arg0)), rv);
6644 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6645 0 : return false;
6646 : }
6647 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6648 :
6649 0 : return true;
6650 : }
6651 :
6652 : static const JSJitInfo border_image_slice_getterinfo = {
6653 : { (JSJitGetterOp)get_border_image_slice },
6654 : { prototypes::id::CSS2Properties },
6655 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6656 : JSJitInfo::Getter,
6657 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6658 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
6659 : false, /* isInfallible. False in setters. */
6660 : false, /* isMovable. Not relevant for setters. */
6661 : false, /* isEliminatable. Not relevant for setters. */
6662 : false, /* isAlwaysInSlot. Only relevant for getters. */
6663 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6664 : false, /* isTypedMethod. Only relevant for methods. */
6665 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6666 : };
6667 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6668 : static_assert(0 < 1, "There is no slot for us");
6669 : static const JSJitInfo border_image_slice_setterinfo = {
6670 : { (JSJitGetterOp)set_border_image_slice },
6671 : { prototypes::id::CSS2Properties },
6672 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6673 : JSJitInfo::Setter,
6674 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6675 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
6676 : false, /* isInfallible. False in setters. */
6677 : false, /* isMovable. Not relevant for setters. */
6678 : false, /* isEliminatable. Not relevant for setters. */
6679 : false, /* isAlwaysInSlot. Only relevant for getters. */
6680 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6681 : false, /* isTypedMethod. Only relevant for methods. */
6682 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6683 : };
6684 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6685 : static_assert(0 < 1, "There is no slot for us");
6686 :
6687 : static bool
6688 0 : get_borderImageSource(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
6689 : {
6690 0 : binding_detail::FastErrorResult rv;
6691 0 : DOMString result;
6692 0 : self->GetBorderImageSource(result, rv);
6693 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6694 0 : return false;
6695 : }
6696 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6697 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
6698 0 : return false;
6699 : }
6700 0 : return true;
6701 : }
6702 :
6703 : static bool
6704 0 : set_borderImageSource(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
6705 : {
6706 0 : binding_detail::FakeString arg0;
6707 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
6708 0 : return false;
6709 : }
6710 0 : binding_detail::FastErrorResult rv;
6711 0 : self->SetBorderImageSource(NonNullHelper(Constify(arg0)), rv);
6712 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6713 0 : return false;
6714 : }
6715 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6716 :
6717 0 : return true;
6718 : }
6719 :
6720 : static const JSJitInfo borderImageSource_getterinfo = {
6721 : { (JSJitGetterOp)get_borderImageSource },
6722 : { prototypes::id::CSS2Properties },
6723 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6724 : JSJitInfo::Getter,
6725 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6726 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
6727 : false, /* isInfallible. False in setters. */
6728 : false, /* isMovable. Not relevant for setters. */
6729 : false, /* isEliminatable. Not relevant for setters. */
6730 : false, /* isAlwaysInSlot. Only relevant for getters. */
6731 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6732 : false, /* isTypedMethod. Only relevant for methods. */
6733 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6734 : };
6735 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6736 : static_assert(0 < 1, "There is no slot for us");
6737 : static const JSJitInfo borderImageSource_setterinfo = {
6738 : { (JSJitGetterOp)set_borderImageSource },
6739 : { prototypes::id::CSS2Properties },
6740 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6741 : JSJitInfo::Setter,
6742 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6743 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
6744 : false, /* isInfallible. False in setters. */
6745 : false, /* isMovable. Not relevant for setters. */
6746 : false, /* isEliminatable. Not relevant for setters. */
6747 : false, /* isAlwaysInSlot. Only relevant for getters. */
6748 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6749 : false, /* isTypedMethod. Only relevant for methods. */
6750 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6751 : };
6752 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6753 : static_assert(0 < 1, "There is no slot for us");
6754 :
6755 : static bool
6756 0 : get_border_image_source(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
6757 : {
6758 0 : binding_detail::FastErrorResult rv;
6759 0 : DOMString result;
6760 0 : self->GetBorderImageSource(result, rv);
6761 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6762 0 : return false;
6763 : }
6764 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6765 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
6766 0 : return false;
6767 : }
6768 0 : return true;
6769 : }
6770 :
6771 : static bool
6772 0 : set_border_image_source(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
6773 : {
6774 0 : binding_detail::FakeString arg0;
6775 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
6776 0 : return false;
6777 : }
6778 0 : binding_detail::FastErrorResult rv;
6779 0 : self->SetBorderImageSource(NonNullHelper(Constify(arg0)), rv);
6780 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6781 0 : return false;
6782 : }
6783 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6784 :
6785 0 : return true;
6786 : }
6787 :
6788 : static const JSJitInfo border_image_source_getterinfo = {
6789 : { (JSJitGetterOp)get_border_image_source },
6790 : { prototypes::id::CSS2Properties },
6791 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6792 : JSJitInfo::Getter,
6793 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6794 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
6795 : false, /* isInfallible. False in setters. */
6796 : false, /* isMovable. Not relevant for setters. */
6797 : false, /* isEliminatable. Not relevant for setters. */
6798 : false, /* isAlwaysInSlot. Only relevant for getters. */
6799 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6800 : false, /* isTypedMethod. Only relevant for methods. */
6801 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6802 : };
6803 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6804 : static_assert(0 < 1, "There is no slot for us");
6805 : static const JSJitInfo border_image_source_setterinfo = {
6806 : { (JSJitGetterOp)set_border_image_source },
6807 : { prototypes::id::CSS2Properties },
6808 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6809 : JSJitInfo::Setter,
6810 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6811 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
6812 : false, /* isInfallible. False in setters. */
6813 : false, /* isMovable. Not relevant for setters. */
6814 : false, /* isEliminatable. Not relevant for setters. */
6815 : false, /* isAlwaysInSlot. Only relevant for getters. */
6816 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6817 : false, /* isTypedMethod. Only relevant for methods. */
6818 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6819 : };
6820 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6821 : static_assert(0 < 1, "There is no slot for us");
6822 :
6823 : static bool
6824 0 : get_borderImageWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
6825 : {
6826 0 : binding_detail::FastErrorResult rv;
6827 0 : DOMString result;
6828 0 : self->GetBorderImageWidth(result, rv);
6829 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6830 0 : return false;
6831 : }
6832 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6833 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
6834 0 : return false;
6835 : }
6836 0 : return true;
6837 : }
6838 :
6839 : static bool
6840 0 : set_borderImageWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
6841 : {
6842 0 : binding_detail::FakeString arg0;
6843 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
6844 0 : return false;
6845 : }
6846 0 : binding_detail::FastErrorResult rv;
6847 0 : self->SetBorderImageWidth(NonNullHelper(Constify(arg0)), rv);
6848 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6849 0 : return false;
6850 : }
6851 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6852 :
6853 0 : return true;
6854 : }
6855 :
6856 : static const JSJitInfo borderImageWidth_getterinfo = {
6857 : { (JSJitGetterOp)get_borderImageWidth },
6858 : { prototypes::id::CSS2Properties },
6859 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6860 : JSJitInfo::Getter,
6861 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6862 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
6863 : false, /* isInfallible. False in setters. */
6864 : false, /* isMovable. Not relevant for setters. */
6865 : false, /* isEliminatable. Not relevant for setters. */
6866 : false, /* isAlwaysInSlot. Only relevant for getters. */
6867 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6868 : false, /* isTypedMethod. Only relevant for methods. */
6869 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6870 : };
6871 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6872 : static_assert(0 < 1, "There is no slot for us");
6873 : static const JSJitInfo borderImageWidth_setterinfo = {
6874 : { (JSJitGetterOp)set_borderImageWidth },
6875 : { prototypes::id::CSS2Properties },
6876 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6877 : JSJitInfo::Setter,
6878 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6879 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
6880 : false, /* isInfallible. False in setters. */
6881 : false, /* isMovable. Not relevant for setters. */
6882 : false, /* isEliminatable. Not relevant for setters. */
6883 : false, /* isAlwaysInSlot. Only relevant for getters. */
6884 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6885 : false, /* isTypedMethod. Only relevant for methods. */
6886 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6887 : };
6888 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6889 : static_assert(0 < 1, "There is no slot for us");
6890 :
6891 : static bool
6892 0 : get_border_image_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
6893 : {
6894 0 : binding_detail::FastErrorResult rv;
6895 0 : DOMString result;
6896 0 : self->GetBorderImageWidth(result, rv);
6897 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6898 0 : return false;
6899 : }
6900 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6901 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
6902 0 : return false;
6903 : }
6904 0 : return true;
6905 : }
6906 :
6907 : static bool
6908 0 : set_border_image_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
6909 : {
6910 0 : binding_detail::FakeString arg0;
6911 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
6912 0 : return false;
6913 : }
6914 0 : binding_detail::FastErrorResult rv;
6915 0 : self->SetBorderImageWidth(NonNullHelper(Constify(arg0)), rv);
6916 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6917 0 : return false;
6918 : }
6919 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6920 :
6921 0 : return true;
6922 : }
6923 :
6924 : static const JSJitInfo border_image_width_getterinfo = {
6925 : { (JSJitGetterOp)get_border_image_width },
6926 : { prototypes::id::CSS2Properties },
6927 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6928 : JSJitInfo::Getter,
6929 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6930 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
6931 : false, /* isInfallible. False in setters. */
6932 : false, /* isMovable. Not relevant for setters. */
6933 : false, /* isEliminatable. Not relevant for setters. */
6934 : false, /* isAlwaysInSlot. Only relevant for getters. */
6935 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6936 : false, /* isTypedMethod. Only relevant for methods. */
6937 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6938 : };
6939 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6940 : static_assert(0 < 1, "There is no slot for us");
6941 : static const JSJitInfo border_image_width_setterinfo = {
6942 : { (JSJitGetterOp)set_border_image_width },
6943 : { prototypes::id::CSS2Properties },
6944 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6945 : JSJitInfo::Setter,
6946 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6947 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
6948 : false, /* isInfallible. False in setters. */
6949 : false, /* isMovable. Not relevant for setters. */
6950 : false, /* isEliminatable. Not relevant for setters. */
6951 : false, /* isAlwaysInSlot. Only relevant for getters. */
6952 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
6953 : false, /* isTypedMethod. Only relevant for methods. */
6954 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
6955 : };
6956 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
6957 : static_assert(0 < 1, "There is no slot for us");
6958 :
6959 : static bool
6960 0 : get_borderInlineEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
6961 : {
6962 0 : binding_detail::FastErrorResult rv;
6963 0 : DOMString result;
6964 0 : self->GetBorderInlineEnd(result, rv);
6965 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6966 0 : return false;
6967 : }
6968 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6969 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
6970 0 : return false;
6971 : }
6972 0 : return true;
6973 : }
6974 :
6975 : static bool
6976 0 : set_borderInlineEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
6977 : {
6978 0 : binding_detail::FakeString arg0;
6979 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
6980 0 : return false;
6981 : }
6982 0 : binding_detail::FastErrorResult rv;
6983 0 : self->SetBorderInlineEnd(NonNullHelper(Constify(arg0)), rv);
6984 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
6985 0 : return false;
6986 : }
6987 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
6988 :
6989 0 : return true;
6990 : }
6991 :
6992 : static const JSJitInfo borderInlineEnd_getterinfo = {
6993 : { (JSJitGetterOp)get_borderInlineEnd },
6994 : { prototypes::id::CSS2Properties },
6995 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
6996 : JSJitInfo::Getter,
6997 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
6998 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
6999 : false, /* isInfallible. False in setters. */
7000 : false, /* isMovable. Not relevant for setters. */
7001 : false, /* isEliminatable. Not relevant for setters. */
7002 : false, /* isAlwaysInSlot. Only relevant for getters. */
7003 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7004 : false, /* isTypedMethod. Only relevant for methods. */
7005 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7006 : };
7007 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7008 : static_assert(0 < 1, "There is no slot for us");
7009 : static const JSJitInfo borderInlineEnd_setterinfo = {
7010 : { (JSJitGetterOp)set_borderInlineEnd },
7011 : { prototypes::id::CSS2Properties },
7012 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7013 : JSJitInfo::Setter,
7014 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7015 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
7016 : false, /* isInfallible. False in setters. */
7017 : false, /* isMovable. Not relevant for setters. */
7018 : false, /* isEliminatable. Not relevant for setters. */
7019 : false, /* isAlwaysInSlot. Only relevant for getters. */
7020 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7021 : false, /* isTypedMethod. Only relevant for methods. */
7022 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7023 : };
7024 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7025 : static_assert(0 < 1, "There is no slot for us");
7026 :
7027 : static bool
7028 0 : get_border_inline_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
7029 : {
7030 0 : binding_detail::FastErrorResult rv;
7031 0 : DOMString result;
7032 0 : self->GetBorderInlineEnd(result, rv);
7033 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7034 0 : return false;
7035 : }
7036 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7037 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
7038 0 : return false;
7039 : }
7040 0 : return true;
7041 : }
7042 :
7043 : static bool
7044 0 : set_border_inline_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
7045 : {
7046 0 : binding_detail::FakeString arg0;
7047 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
7048 0 : return false;
7049 : }
7050 0 : binding_detail::FastErrorResult rv;
7051 0 : self->SetBorderInlineEnd(NonNullHelper(Constify(arg0)), rv);
7052 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7053 0 : return false;
7054 : }
7055 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7056 :
7057 0 : return true;
7058 : }
7059 :
7060 : static const JSJitInfo border_inline_end_getterinfo = {
7061 : { (JSJitGetterOp)get_border_inline_end },
7062 : { prototypes::id::CSS2Properties },
7063 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7064 : JSJitInfo::Getter,
7065 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7066 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
7067 : false, /* isInfallible. False in setters. */
7068 : false, /* isMovable. Not relevant for setters. */
7069 : false, /* isEliminatable. Not relevant for setters. */
7070 : false, /* isAlwaysInSlot. Only relevant for getters. */
7071 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7072 : false, /* isTypedMethod. Only relevant for methods. */
7073 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7074 : };
7075 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7076 : static_assert(0 < 1, "There is no slot for us");
7077 : static const JSJitInfo border_inline_end_setterinfo = {
7078 : { (JSJitGetterOp)set_border_inline_end },
7079 : { prototypes::id::CSS2Properties },
7080 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7081 : JSJitInfo::Setter,
7082 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7083 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
7084 : false, /* isInfallible. False in setters. */
7085 : false, /* isMovable. Not relevant for setters. */
7086 : false, /* isEliminatable. Not relevant for setters. */
7087 : false, /* isAlwaysInSlot. Only relevant for getters. */
7088 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7089 : false, /* isTypedMethod. Only relevant for methods. */
7090 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7091 : };
7092 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7093 : static_assert(0 < 1, "There is no slot for us");
7094 :
7095 : static bool
7096 0 : get_borderInlineEndColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
7097 : {
7098 0 : binding_detail::FastErrorResult rv;
7099 0 : DOMString result;
7100 0 : self->GetBorderInlineEndColor(result, rv);
7101 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7102 0 : return false;
7103 : }
7104 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7105 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
7106 0 : return false;
7107 : }
7108 0 : return true;
7109 : }
7110 :
7111 : static bool
7112 0 : set_borderInlineEndColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
7113 : {
7114 0 : binding_detail::FakeString arg0;
7115 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
7116 0 : return false;
7117 : }
7118 0 : binding_detail::FastErrorResult rv;
7119 0 : self->SetBorderInlineEndColor(NonNullHelper(Constify(arg0)), rv);
7120 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7121 0 : return false;
7122 : }
7123 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7124 :
7125 0 : return true;
7126 : }
7127 :
7128 : static const JSJitInfo borderInlineEndColor_getterinfo = {
7129 : { (JSJitGetterOp)get_borderInlineEndColor },
7130 : { prototypes::id::CSS2Properties },
7131 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7132 : JSJitInfo::Getter,
7133 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7134 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
7135 : false, /* isInfallible. False in setters. */
7136 : false, /* isMovable. Not relevant for setters. */
7137 : false, /* isEliminatable. Not relevant for setters. */
7138 : false, /* isAlwaysInSlot. Only relevant for getters. */
7139 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7140 : false, /* isTypedMethod. Only relevant for methods. */
7141 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7142 : };
7143 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7144 : static_assert(0 < 1, "There is no slot for us");
7145 : static const JSJitInfo borderInlineEndColor_setterinfo = {
7146 : { (JSJitGetterOp)set_borderInlineEndColor },
7147 : { prototypes::id::CSS2Properties },
7148 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7149 : JSJitInfo::Setter,
7150 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7151 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
7152 : false, /* isInfallible. False in setters. */
7153 : false, /* isMovable. Not relevant for setters. */
7154 : false, /* isEliminatable. Not relevant for setters. */
7155 : false, /* isAlwaysInSlot. Only relevant for getters. */
7156 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7157 : false, /* isTypedMethod. Only relevant for methods. */
7158 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7159 : };
7160 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7161 : static_assert(0 < 1, "There is no slot for us");
7162 :
7163 : static bool
7164 0 : get_border_inline_end_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
7165 : {
7166 0 : binding_detail::FastErrorResult rv;
7167 0 : DOMString result;
7168 0 : self->GetBorderInlineEndColor(result, rv);
7169 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7170 0 : return false;
7171 : }
7172 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7173 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
7174 0 : return false;
7175 : }
7176 0 : return true;
7177 : }
7178 :
7179 : static bool
7180 0 : set_border_inline_end_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
7181 : {
7182 0 : binding_detail::FakeString arg0;
7183 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
7184 0 : return false;
7185 : }
7186 0 : binding_detail::FastErrorResult rv;
7187 0 : self->SetBorderInlineEndColor(NonNullHelper(Constify(arg0)), rv);
7188 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7189 0 : return false;
7190 : }
7191 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7192 :
7193 0 : return true;
7194 : }
7195 :
7196 : static const JSJitInfo border_inline_end_color_getterinfo = {
7197 : { (JSJitGetterOp)get_border_inline_end_color },
7198 : { prototypes::id::CSS2Properties },
7199 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7200 : JSJitInfo::Getter,
7201 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7202 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
7203 : false, /* isInfallible. False in setters. */
7204 : false, /* isMovable. Not relevant for setters. */
7205 : false, /* isEliminatable. Not relevant for setters. */
7206 : false, /* isAlwaysInSlot. Only relevant for getters. */
7207 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7208 : false, /* isTypedMethod. Only relevant for methods. */
7209 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7210 : };
7211 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7212 : static_assert(0 < 1, "There is no slot for us");
7213 : static const JSJitInfo border_inline_end_color_setterinfo = {
7214 : { (JSJitGetterOp)set_border_inline_end_color },
7215 : { prototypes::id::CSS2Properties },
7216 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7217 : JSJitInfo::Setter,
7218 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7219 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
7220 : false, /* isInfallible. False in setters. */
7221 : false, /* isMovable. Not relevant for setters. */
7222 : false, /* isEliminatable. Not relevant for setters. */
7223 : false, /* isAlwaysInSlot. Only relevant for getters. */
7224 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7225 : false, /* isTypedMethod. Only relevant for methods. */
7226 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7227 : };
7228 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7229 : static_assert(0 < 1, "There is no slot for us");
7230 :
7231 : static bool
7232 0 : get_borderInlineEndStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
7233 : {
7234 0 : binding_detail::FastErrorResult rv;
7235 0 : DOMString result;
7236 0 : self->GetBorderInlineEndStyle(result, rv);
7237 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7238 0 : return false;
7239 : }
7240 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7241 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
7242 0 : return false;
7243 : }
7244 0 : return true;
7245 : }
7246 :
7247 : static bool
7248 0 : set_borderInlineEndStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
7249 : {
7250 0 : binding_detail::FakeString arg0;
7251 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
7252 0 : return false;
7253 : }
7254 0 : binding_detail::FastErrorResult rv;
7255 0 : self->SetBorderInlineEndStyle(NonNullHelper(Constify(arg0)), rv);
7256 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7257 0 : return false;
7258 : }
7259 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7260 :
7261 0 : return true;
7262 : }
7263 :
7264 : static const JSJitInfo borderInlineEndStyle_getterinfo = {
7265 : { (JSJitGetterOp)get_borderInlineEndStyle },
7266 : { prototypes::id::CSS2Properties },
7267 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7268 : JSJitInfo::Getter,
7269 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7270 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
7271 : false, /* isInfallible. False in setters. */
7272 : false, /* isMovable. Not relevant for setters. */
7273 : false, /* isEliminatable. Not relevant for setters. */
7274 : false, /* isAlwaysInSlot. Only relevant for getters. */
7275 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7276 : false, /* isTypedMethod. Only relevant for methods. */
7277 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7278 : };
7279 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7280 : static_assert(0 < 1, "There is no slot for us");
7281 : static const JSJitInfo borderInlineEndStyle_setterinfo = {
7282 : { (JSJitGetterOp)set_borderInlineEndStyle },
7283 : { prototypes::id::CSS2Properties },
7284 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7285 : JSJitInfo::Setter,
7286 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7287 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
7288 : false, /* isInfallible. False in setters. */
7289 : false, /* isMovable. Not relevant for setters. */
7290 : false, /* isEliminatable. Not relevant for setters. */
7291 : false, /* isAlwaysInSlot. Only relevant for getters. */
7292 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7293 : false, /* isTypedMethod. Only relevant for methods. */
7294 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7295 : };
7296 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7297 : static_assert(0 < 1, "There is no slot for us");
7298 :
7299 : static bool
7300 0 : get_border_inline_end_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
7301 : {
7302 0 : binding_detail::FastErrorResult rv;
7303 0 : DOMString result;
7304 0 : self->GetBorderInlineEndStyle(result, rv);
7305 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7306 0 : return false;
7307 : }
7308 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7309 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
7310 0 : return false;
7311 : }
7312 0 : return true;
7313 : }
7314 :
7315 : static bool
7316 0 : set_border_inline_end_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
7317 : {
7318 0 : binding_detail::FakeString arg0;
7319 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
7320 0 : return false;
7321 : }
7322 0 : binding_detail::FastErrorResult rv;
7323 0 : self->SetBorderInlineEndStyle(NonNullHelper(Constify(arg0)), rv);
7324 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7325 0 : return false;
7326 : }
7327 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7328 :
7329 0 : return true;
7330 : }
7331 :
7332 : static const JSJitInfo border_inline_end_style_getterinfo = {
7333 : { (JSJitGetterOp)get_border_inline_end_style },
7334 : { prototypes::id::CSS2Properties },
7335 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7336 : JSJitInfo::Getter,
7337 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7338 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
7339 : false, /* isInfallible. False in setters. */
7340 : false, /* isMovable. Not relevant for setters. */
7341 : false, /* isEliminatable. Not relevant for setters. */
7342 : false, /* isAlwaysInSlot. Only relevant for getters. */
7343 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7344 : false, /* isTypedMethod. Only relevant for methods. */
7345 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7346 : };
7347 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7348 : static_assert(0 < 1, "There is no slot for us");
7349 : static const JSJitInfo border_inline_end_style_setterinfo = {
7350 : { (JSJitGetterOp)set_border_inline_end_style },
7351 : { prototypes::id::CSS2Properties },
7352 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7353 : JSJitInfo::Setter,
7354 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7355 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
7356 : false, /* isInfallible. False in setters. */
7357 : false, /* isMovable. Not relevant for setters. */
7358 : false, /* isEliminatable. Not relevant for setters. */
7359 : false, /* isAlwaysInSlot. Only relevant for getters. */
7360 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7361 : false, /* isTypedMethod. Only relevant for methods. */
7362 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7363 : };
7364 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7365 : static_assert(0 < 1, "There is no slot for us");
7366 :
7367 : static bool
7368 0 : get_borderInlineEndWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
7369 : {
7370 0 : binding_detail::FastErrorResult rv;
7371 0 : DOMString result;
7372 0 : self->GetBorderInlineEndWidth(result, rv);
7373 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7374 0 : return false;
7375 : }
7376 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7377 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
7378 0 : return false;
7379 : }
7380 0 : return true;
7381 : }
7382 :
7383 : static bool
7384 0 : set_borderInlineEndWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
7385 : {
7386 0 : binding_detail::FakeString arg0;
7387 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
7388 0 : return false;
7389 : }
7390 0 : binding_detail::FastErrorResult rv;
7391 0 : self->SetBorderInlineEndWidth(NonNullHelper(Constify(arg0)), rv);
7392 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7393 0 : return false;
7394 : }
7395 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7396 :
7397 0 : return true;
7398 : }
7399 :
7400 : static const JSJitInfo borderInlineEndWidth_getterinfo = {
7401 : { (JSJitGetterOp)get_borderInlineEndWidth },
7402 : { prototypes::id::CSS2Properties },
7403 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7404 : JSJitInfo::Getter,
7405 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7406 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
7407 : false, /* isInfallible. False in setters. */
7408 : false, /* isMovable. Not relevant for setters. */
7409 : false, /* isEliminatable. Not relevant for setters. */
7410 : false, /* isAlwaysInSlot. Only relevant for getters. */
7411 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7412 : false, /* isTypedMethod. Only relevant for methods. */
7413 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7414 : };
7415 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7416 : static_assert(0 < 1, "There is no slot for us");
7417 : static const JSJitInfo borderInlineEndWidth_setterinfo = {
7418 : { (JSJitGetterOp)set_borderInlineEndWidth },
7419 : { prototypes::id::CSS2Properties },
7420 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7421 : JSJitInfo::Setter,
7422 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7423 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
7424 : false, /* isInfallible. False in setters. */
7425 : false, /* isMovable. Not relevant for setters. */
7426 : false, /* isEliminatable. Not relevant for setters. */
7427 : false, /* isAlwaysInSlot. Only relevant for getters. */
7428 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7429 : false, /* isTypedMethod. Only relevant for methods. */
7430 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7431 : };
7432 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7433 : static_assert(0 < 1, "There is no slot for us");
7434 :
7435 : static bool
7436 0 : get_border_inline_end_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
7437 : {
7438 0 : binding_detail::FastErrorResult rv;
7439 0 : DOMString result;
7440 0 : self->GetBorderInlineEndWidth(result, rv);
7441 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7442 0 : return false;
7443 : }
7444 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7445 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
7446 0 : return false;
7447 : }
7448 0 : return true;
7449 : }
7450 :
7451 : static bool
7452 0 : set_border_inline_end_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
7453 : {
7454 0 : binding_detail::FakeString arg0;
7455 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
7456 0 : return false;
7457 : }
7458 0 : binding_detail::FastErrorResult rv;
7459 0 : self->SetBorderInlineEndWidth(NonNullHelper(Constify(arg0)), rv);
7460 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7461 0 : return false;
7462 : }
7463 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7464 :
7465 0 : return true;
7466 : }
7467 :
7468 : static const JSJitInfo border_inline_end_width_getterinfo = {
7469 : { (JSJitGetterOp)get_border_inline_end_width },
7470 : { prototypes::id::CSS2Properties },
7471 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7472 : JSJitInfo::Getter,
7473 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7474 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
7475 : false, /* isInfallible. False in setters. */
7476 : false, /* isMovable. Not relevant for setters. */
7477 : false, /* isEliminatable. Not relevant for setters. */
7478 : false, /* isAlwaysInSlot. Only relevant for getters. */
7479 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7480 : false, /* isTypedMethod. Only relevant for methods. */
7481 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7482 : };
7483 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7484 : static_assert(0 < 1, "There is no slot for us");
7485 : static const JSJitInfo border_inline_end_width_setterinfo = {
7486 : { (JSJitGetterOp)set_border_inline_end_width },
7487 : { prototypes::id::CSS2Properties },
7488 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7489 : JSJitInfo::Setter,
7490 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7491 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
7492 : false, /* isInfallible. False in setters. */
7493 : false, /* isMovable. Not relevant for setters. */
7494 : false, /* isEliminatable. Not relevant for setters. */
7495 : false, /* isAlwaysInSlot. Only relevant for getters. */
7496 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7497 : false, /* isTypedMethod. Only relevant for methods. */
7498 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7499 : };
7500 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7501 : static_assert(0 < 1, "There is no slot for us");
7502 :
7503 : static bool
7504 0 : get_borderInlineStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
7505 : {
7506 0 : binding_detail::FastErrorResult rv;
7507 0 : DOMString result;
7508 0 : self->GetBorderInlineStart(result, rv);
7509 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7510 0 : return false;
7511 : }
7512 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7513 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
7514 0 : return false;
7515 : }
7516 0 : return true;
7517 : }
7518 :
7519 : static bool
7520 0 : set_borderInlineStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
7521 : {
7522 0 : binding_detail::FakeString arg0;
7523 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
7524 0 : return false;
7525 : }
7526 0 : binding_detail::FastErrorResult rv;
7527 0 : self->SetBorderInlineStart(NonNullHelper(Constify(arg0)), rv);
7528 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7529 0 : return false;
7530 : }
7531 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7532 :
7533 0 : return true;
7534 : }
7535 :
7536 : static const JSJitInfo borderInlineStart_getterinfo = {
7537 : { (JSJitGetterOp)get_borderInlineStart },
7538 : { prototypes::id::CSS2Properties },
7539 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7540 : JSJitInfo::Getter,
7541 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7542 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
7543 : false, /* isInfallible. False in setters. */
7544 : false, /* isMovable. Not relevant for setters. */
7545 : false, /* isEliminatable. Not relevant for setters. */
7546 : false, /* isAlwaysInSlot. Only relevant for getters. */
7547 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7548 : false, /* isTypedMethod. Only relevant for methods. */
7549 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7550 : };
7551 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7552 : static_assert(0 < 1, "There is no slot for us");
7553 : static const JSJitInfo borderInlineStart_setterinfo = {
7554 : { (JSJitGetterOp)set_borderInlineStart },
7555 : { prototypes::id::CSS2Properties },
7556 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7557 : JSJitInfo::Setter,
7558 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7559 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
7560 : false, /* isInfallible. False in setters. */
7561 : false, /* isMovable. Not relevant for setters. */
7562 : false, /* isEliminatable. Not relevant for setters. */
7563 : false, /* isAlwaysInSlot. Only relevant for getters. */
7564 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7565 : false, /* isTypedMethod. Only relevant for methods. */
7566 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7567 : };
7568 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7569 : static_assert(0 < 1, "There is no slot for us");
7570 :
7571 : static bool
7572 0 : get_border_inline_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
7573 : {
7574 0 : binding_detail::FastErrorResult rv;
7575 0 : DOMString result;
7576 0 : self->GetBorderInlineStart(result, rv);
7577 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7578 0 : return false;
7579 : }
7580 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7581 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
7582 0 : return false;
7583 : }
7584 0 : return true;
7585 : }
7586 :
7587 : static bool
7588 0 : set_border_inline_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
7589 : {
7590 0 : binding_detail::FakeString arg0;
7591 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
7592 0 : return false;
7593 : }
7594 0 : binding_detail::FastErrorResult rv;
7595 0 : self->SetBorderInlineStart(NonNullHelper(Constify(arg0)), rv);
7596 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7597 0 : return false;
7598 : }
7599 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7600 :
7601 0 : return true;
7602 : }
7603 :
7604 : static const JSJitInfo border_inline_start_getterinfo = {
7605 : { (JSJitGetterOp)get_border_inline_start },
7606 : { prototypes::id::CSS2Properties },
7607 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7608 : JSJitInfo::Getter,
7609 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7610 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
7611 : false, /* isInfallible. False in setters. */
7612 : false, /* isMovable. Not relevant for setters. */
7613 : false, /* isEliminatable. Not relevant for setters. */
7614 : false, /* isAlwaysInSlot. Only relevant for getters. */
7615 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7616 : false, /* isTypedMethod. Only relevant for methods. */
7617 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7618 : };
7619 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7620 : static_assert(0 < 1, "There is no slot for us");
7621 : static const JSJitInfo border_inline_start_setterinfo = {
7622 : { (JSJitGetterOp)set_border_inline_start },
7623 : { prototypes::id::CSS2Properties },
7624 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7625 : JSJitInfo::Setter,
7626 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7627 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
7628 : false, /* isInfallible. False in setters. */
7629 : false, /* isMovable. Not relevant for setters. */
7630 : false, /* isEliminatable. Not relevant for setters. */
7631 : false, /* isAlwaysInSlot. Only relevant for getters. */
7632 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7633 : false, /* isTypedMethod. Only relevant for methods. */
7634 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7635 : };
7636 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7637 : static_assert(0 < 1, "There is no slot for us");
7638 :
7639 : static bool
7640 0 : get_borderInlineStartColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
7641 : {
7642 0 : binding_detail::FastErrorResult rv;
7643 0 : DOMString result;
7644 0 : self->GetBorderInlineStartColor(result, rv);
7645 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7646 0 : return false;
7647 : }
7648 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7649 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
7650 0 : return false;
7651 : }
7652 0 : return true;
7653 : }
7654 :
7655 : static bool
7656 0 : set_borderInlineStartColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
7657 : {
7658 0 : binding_detail::FakeString arg0;
7659 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
7660 0 : return false;
7661 : }
7662 0 : binding_detail::FastErrorResult rv;
7663 0 : self->SetBorderInlineStartColor(NonNullHelper(Constify(arg0)), rv);
7664 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7665 0 : return false;
7666 : }
7667 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7668 :
7669 0 : return true;
7670 : }
7671 :
7672 : static const JSJitInfo borderInlineStartColor_getterinfo = {
7673 : { (JSJitGetterOp)get_borderInlineStartColor },
7674 : { prototypes::id::CSS2Properties },
7675 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7676 : JSJitInfo::Getter,
7677 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7678 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
7679 : false, /* isInfallible. False in setters. */
7680 : false, /* isMovable. Not relevant for setters. */
7681 : false, /* isEliminatable. Not relevant for setters. */
7682 : false, /* isAlwaysInSlot. Only relevant for getters. */
7683 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7684 : false, /* isTypedMethod. Only relevant for methods. */
7685 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7686 : };
7687 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7688 : static_assert(0 < 1, "There is no slot for us");
7689 : static const JSJitInfo borderInlineStartColor_setterinfo = {
7690 : { (JSJitGetterOp)set_borderInlineStartColor },
7691 : { prototypes::id::CSS2Properties },
7692 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7693 : JSJitInfo::Setter,
7694 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7695 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
7696 : false, /* isInfallible. False in setters. */
7697 : false, /* isMovable. Not relevant for setters. */
7698 : false, /* isEliminatable. Not relevant for setters. */
7699 : false, /* isAlwaysInSlot. Only relevant for getters. */
7700 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7701 : false, /* isTypedMethod. Only relevant for methods. */
7702 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7703 : };
7704 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7705 : static_assert(0 < 1, "There is no slot for us");
7706 :
7707 : static bool
7708 0 : get_border_inline_start_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
7709 : {
7710 0 : binding_detail::FastErrorResult rv;
7711 0 : DOMString result;
7712 0 : self->GetBorderInlineStartColor(result, rv);
7713 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7714 0 : return false;
7715 : }
7716 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7717 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
7718 0 : return false;
7719 : }
7720 0 : return true;
7721 : }
7722 :
7723 : static bool
7724 0 : set_border_inline_start_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
7725 : {
7726 0 : binding_detail::FakeString arg0;
7727 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
7728 0 : return false;
7729 : }
7730 0 : binding_detail::FastErrorResult rv;
7731 0 : self->SetBorderInlineStartColor(NonNullHelper(Constify(arg0)), rv);
7732 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7733 0 : return false;
7734 : }
7735 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7736 :
7737 0 : return true;
7738 : }
7739 :
7740 : static const JSJitInfo border_inline_start_color_getterinfo = {
7741 : { (JSJitGetterOp)get_border_inline_start_color },
7742 : { prototypes::id::CSS2Properties },
7743 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7744 : JSJitInfo::Getter,
7745 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7746 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
7747 : false, /* isInfallible. False in setters. */
7748 : false, /* isMovable. Not relevant for setters. */
7749 : false, /* isEliminatable. Not relevant for setters. */
7750 : false, /* isAlwaysInSlot. Only relevant for getters. */
7751 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7752 : false, /* isTypedMethod. Only relevant for methods. */
7753 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7754 : };
7755 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7756 : static_assert(0 < 1, "There is no slot for us");
7757 : static const JSJitInfo border_inline_start_color_setterinfo = {
7758 : { (JSJitGetterOp)set_border_inline_start_color },
7759 : { prototypes::id::CSS2Properties },
7760 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7761 : JSJitInfo::Setter,
7762 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7763 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
7764 : false, /* isInfallible. False in setters. */
7765 : false, /* isMovable. Not relevant for setters. */
7766 : false, /* isEliminatable. Not relevant for setters. */
7767 : false, /* isAlwaysInSlot. Only relevant for getters. */
7768 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7769 : false, /* isTypedMethod. Only relevant for methods. */
7770 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7771 : };
7772 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7773 : static_assert(0 < 1, "There is no slot for us");
7774 :
7775 : static bool
7776 0 : get_borderInlineStartStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
7777 : {
7778 0 : binding_detail::FastErrorResult rv;
7779 0 : DOMString result;
7780 0 : self->GetBorderInlineStartStyle(result, rv);
7781 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7782 0 : return false;
7783 : }
7784 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7785 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
7786 0 : return false;
7787 : }
7788 0 : return true;
7789 : }
7790 :
7791 : static bool
7792 0 : set_borderInlineStartStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
7793 : {
7794 0 : binding_detail::FakeString arg0;
7795 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
7796 0 : return false;
7797 : }
7798 0 : binding_detail::FastErrorResult rv;
7799 0 : self->SetBorderInlineStartStyle(NonNullHelper(Constify(arg0)), rv);
7800 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7801 0 : return false;
7802 : }
7803 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7804 :
7805 0 : return true;
7806 : }
7807 :
7808 : static const JSJitInfo borderInlineStartStyle_getterinfo = {
7809 : { (JSJitGetterOp)get_borderInlineStartStyle },
7810 : { prototypes::id::CSS2Properties },
7811 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7812 : JSJitInfo::Getter,
7813 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7814 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
7815 : false, /* isInfallible. False in setters. */
7816 : false, /* isMovable. Not relevant for setters. */
7817 : false, /* isEliminatable. Not relevant for setters. */
7818 : false, /* isAlwaysInSlot. Only relevant for getters. */
7819 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7820 : false, /* isTypedMethod. Only relevant for methods. */
7821 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7822 : };
7823 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7824 : static_assert(0 < 1, "There is no slot for us");
7825 : static const JSJitInfo borderInlineStartStyle_setterinfo = {
7826 : { (JSJitGetterOp)set_borderInlineStartStyle },
7827 : { prototypes::id::CSS2Properties },
7828 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7829 : JSJitInfo::Setter,
7830 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7831 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
7832 : false, /* isInfallible. False in setters. */
7833 : false, /* isMovable. Not relevant for setters. */
7834 : false, /* isEliminatable. Not relevant for setters. */
7835 : false, /* isAlwaysInSlot. Only relevant for getters. */
7836 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7837 : false, /* isTypedMethod. Only relevant for methods. */
7838 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7839 : };
7840 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7841 : static_assert(0 < 1, "There is no slot for us");
7842 :
7843 : static bool
7844 0 : get_border_inline_start_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
7845 : {
7846 0 : binding_detail::FastErrorResult rv;
7847 0 : DOMString result;
7848 0 : self->GetBorderInlineStartStyle(result, rv);
7849 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7850 0 : return false;
7851 : }
7852 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7853 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
7854 0 : return false;
7855 : }
7856 0 : return true;
7857 : }
7858 :
7859 : static bool
7860 0 : set_border_inline_start_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
7861 : {
7862 0 : binding_detail::FakeString arg0;
7863 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
7864 0 : return false;
7865 : }
7866 0 : binding_detail::FastErrorResult rv;
7867 0 : self->SetBorderInlineStartStyle(NonNullHelper(Constify(arg0)), rv);
7868 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7869 0 : return false;
7870 : }
7871 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7872 :
7873 0 : return true;
7874 : }
7875 :
7876 : static const JSJitInfo border_inline_start_style_getterinfo = {
7877 : { (JSJitGetterOp)get_border_inline_start_style },
7878 : { prototypes::id::CSS2Properties },
7879 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7880 : JSJitInfo::Getter,
7881 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7882 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
7883 : false, /* isInfallible. False in setters. */
7884 : false, /* isMovable. Not relevant for setters. */
7885 : false, /* isEliminatable. Not relevant for setters. */
7886 : false, /* isAlwaysInSlot. Only relevant for getters. */
7887 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7888 : false, /* isTypedMethod. Only relevant for methods. */
7889 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7890 : };
7891 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7892 : static_assert(0 < 1, "There is no slot for us");
7893 : static const JSJitInfo border_inline_start_style_setterinfo = {
7894 : { (JSJitGetterOp)set_border_inline_start_style },
7895 : { prototypes::id::CSS2Properties },
7896 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7897 : JSJitInfo::Setter,
7898 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7899 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
7900 : false, /* isInfallible. False in setters. */
7901 : false, /* isMovable. Not relevant for setters. */
7902 : false, /* isEliminatable. Not relevant for setters. */
7903 : false, /* isAlwaysInSlot. Only relevant for getters. */
7904 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7905 : false, /* isTypedMethod. Only relevant for methods. */
7906 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7907 : };
7908 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7909 : static_assert(0 < 1, "There is no slot for us");
7910 :
7911 : static bool
7912 0 : get_borderInlineStartWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
7913 : {
7914 0 : binding_detail::FastErrorResult rv;
7915 0 : DOMString result;
7916 0 : self->GetBorderInlineStartWidth(result, rv);
7917 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7918 0 : return false;
7919 : }
7920 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7921 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
7922 0 : return false;
7923 : }
7924 0 : return true;
7925 : }
7926 :
7927 : static bool
7928 0 : set_borderInlineStartWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
7929 : {
7930 0 : binding_detail::FakeString arg0;
7931 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
7932 0 : return false;
7933 : }
7934 0 : binding_detail::FastErrorResult rv;
7935 0 : self->SetBorderInlineStartWidth(NonNullHelper(Constify(arg0)), rv);
7936 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7937 0 : return false;
7938 : }
7939 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7940 :
7941 0 : return true;
7942 : }
7943 :
7944 : static const JSJitInfo borderInlineStartWidth_getterinfo = {
7945 : { (JSJitGetterOp)get_borderInlineStartWidth },
7946 : { prototypes::id::CSS2Properties },
7947 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7948 : JSJitInfo::Getter,
7949 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7950 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
7951 : false, /* isInfallible. False in setters. */
7952 : false, /* isMovable. Not relevant for setters. */
7953 : false, /* isEliminatable. Not relevant for setters. */
7954 : false, /* isAlwaysInSlot. Only relevant for getters. */
7955 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7956 : false, /* isTypedMethod. Only relevant for methods. */
7957 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7958 : };
7959 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7960 : static_assert(0 < 1, "There is no slot for us");
7961 : static const JSJitInfo borderInlineStartWidth_setterinfo = {
7962 : { (JSJitGetterOp)set_borderInlineStartWidth },
7963 : { prototypes::id::CSS2Properties },
7964 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
7965 : JSJitInfo::Setter,
7966 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
7967 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
7968 : false, /* isInfallible. False in setters. */
7969 : false, /* isMovable. Not relevant for setters. */
7970 : false, /* isEliminatable. Not relevant for setters. */
7971 : false, /* isAlwaysInSlot. Only relevant for getters. */
7972 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
7973 : false, /* isTypedMethod. Only relevant for methods. */
7974 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
7975 : };
7976 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
7977 : static_assert(0 < 1, "There is no slot for us");
7978 :
7979 : static bool
7980 0 : get_border_inline_start_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
7981 : {
7982 0 : binding_detail::FastErrorResult rv;
7983 0 : DOMString result;
7984 0 : self->GetBorderInlineStartWidth(result, rv);
7985 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
7986 0 : return false;
7987 : }
7988 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
7989 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
7990 0 : return false;
7991 : }
7992 0 : return true;
7993 : }
7994 :
7995 : static bool
7996 0 : set_border_inline_start_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
7997 : {
7998 0 : binding_detail::FakeString arg0;
7999 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
8000 0 : return false;
8001 : }
8002 0 : binding_detail::FastErrorResult rv;
8003 0 : self->SetBorderInlineStartWidth(NonNullHelper(Constify(arg0)), rv);
8004 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8005 0 : return false;
8006 : }
8007 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8008 :
8009 0 : return true;
8010 : }
8011 :
8012 : static const JSJitInfo border_inline_start_width_getterinfo = {
8013 : { (JSJitGetterOp)get_border_inline_start_width },
8014 : { prototypes::id::CSS2Properties },
8015 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8016 : JSJitInfo::Getter,
8017 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8018 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
8019 : false, /* isInfallible. False in setters. */
8020 : false, /* isMovable. Not relevant for setters. */
8021 : false, /* isEliminatable. Not relevant for setters. */
8022 : false, /* isAlwaysInSlot. Only relevant for getters. */
8023 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8024 : false, /* isTypedMethod. Only relevant for methods. */
8025 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8026 : };
8027 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8028 : static_assert(0 < 1, "There is no slot for us");
8029 : static const JSJitInfo border_inline_start_width_setterinfo = {
8030 : { (JSJitGetterOp)set_border_inline_start_width },
8031 : { prototypes::id::CSS2Properties },
8032 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8033 : JSJitInfo::Setter,
8034 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8035 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
8036 : false, /* isInfallible. False in setters. */
8037 : false, /* isMovable. Not relevant for setters. */
8038 : false, /* isEliminatable. Not relevant for setters. */
8039 : false, /* isAlwaysInSlot. Only relevant for getters. */
8040 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8041 : false, /* isTypedMethod. Only relevant for methods. */
8042 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8043 : };
8044 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8045 : static_assert(0 < 1, "There is no slot for us");
8046 :
8047 : static bool
8048 0 : get_borderLeft(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
8049 : {
8050 0 : binding_detail::FastErrorResult rv;
8051 0 : DOMString result;
8052 0 : self->GetBorderLeft(result, rv);
8053 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8054 0 : return false;
8055 : }
8056 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8057 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
8058 0 : return false;
8059 : }
8060 0 : return true;
8061 : }
8062 :
8063 : static bool
8064 0 : set_borderLeft(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
8065 : {
8066 0 : binding_detail::FakeString arg0;
8067 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
8068 0 : return false;
8069 : }
8070 0 : binding_detail::FastErrorResult rv;
8071 0 : self->SetBorderLeft(NonNullHelper(Constify(arg0)), rv);
8072 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8073 0 : return false;
8074 : }
8075 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8076 :
8077 0 : return true;
8078 : }
8079 :
8080 : static const JSJitInfo borderLeft_getterinfo = {
8081 : { (JSJitGetterOp)get_borderLeft },
8082 : { prototypes::id::CSS2Properties },
8083 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8084 : JSJitInfo::Getter,
8085 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8086 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
8087 : false, /* isInfallible. False in setters. */
8088 : false, /* isMovable. Not relevant for setters. */
8089 : false, /* isEliminatable. Not relevant for setters. */
8090 : false, /* isAlwaysInSlot. Only relevant for getters. */
8091 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8092 : false, /* isTypedMethod. Only relevant for methods. */
8093 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8094 : };
8095 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8096 : static_assert(0 < 1, "There is no slot for us");
8097 : static const JSJitInfo borderLeft_setterinfo = {
8098 : { (JSJitGetterOp)set_borderLeft },
8099 : { prototypes::id::CSS2Properties },
8100 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8101 : JSJitInfo::Setter,
8102 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8103 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
8104 : false, /* isInfallible. False in setters. */
8105 : false, /* isMovable. Not relevant for setters. */
8106 : false, /* isEliminatable. Not relevant for setters. */
8107 : false, /* isAlwaysInSlot. Only relevant for getters. */
8108 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8109 : false, /* isTypedMethod. Only relevant for methods. */
8110 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8111 : };
8112 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8113 : static_assert(0 < 1, "There is no slot for us");
8114 :
8115 : static bool
8116 0 : get_border_left(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
8117 : {
8118 0 : binding_detail::FastErrorResult rv;
8119 0 : DOMString result;
8120 0 : self->GetBorderLeft(result, rv);
8121 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8122 0 : return false;
8123 : }
8124 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8125 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
8126 0 : return false;
8127 : }
8128 0 : return true;
8129 : }
8130 :
8131 : static bool
8132 0 : set_border_left(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
8133 : {
8134 0 : binding_detail::FakeString arg0;
8135 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
8136 0 : return false;
8137 : }
8138 0 : binding_detail::FastErrorResult rv;
8139 0 : self->SetBorderLeft(NonNullHelper(Constify(arg0)), rv);
8140 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8141 0 : return false;
8142 : }
8143 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8144 :
8145 0 : return true;
8146 : }
8147 :
8148 : static const JSJitInfo border_left_getterinfo = {
8149 : { (JSJitGetterOp)get_border_left },
8150 : { prototypes::id::CSS2Properties },
8151 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8152 : JSJitInfo::Getter,
8153 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8154 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
8155 : false, /* isInfallible. False in setters. */
8156 : false, /* isMovable. Not relevant for setters. */
8157 : false, /* isEliminatable. Not relevant for setters. */
8158 : false, /* isAlwaysInSlot. Only relevant for getters. */
8159 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8160 : false, /* isTypedMethod. Only relevant for methods. */
8161 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8162 : };
8163 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8164 : static_assert(0 < 1, "There is no slot for us");
8165 : static const JSJitInfo border_left_setterinfo = {
8166 : { (JSJitGetterOp)set_border_left },
8167 : { prototypes::id::CSS2Properties },
8168 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8169 : JSJitInfo::Setter,
8170 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8171 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
8172 : false, /* isInfallible. False in setters. */
8173 : false, /* isMovable. Not relevant for setters. */
8174 : false, /* isEliminatable. Not relevant for setters. */
8175 : false, /* isAlwaysInSlot. Only relevant for getters. */
8176 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8177 : false, /* isTypedMethod. Only relevant for methods. */
8178 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8179 : };
8180 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8181 : static_assert(0 < 1, "There is no slot for us");
8182 :
8183 : static bool
8184 0 : get_borderLeftColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
8185 : {
8186 0 : binding_detail::FastErrorResult rv;
8187 0 : DOMString result;
8188 0 : self->GetBorderLeftColor(result, rv);
8189 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8190 0 : return false;
8191 : }
8192 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8193 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
8194 0 : return false;
8195 : }
8196 0 : return true;
8197 : }
8198 :
8199 : static bool
8200 0 : set_borderLeftColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
8201 : {
8202 0 : binding_detail::FakeString arg0;
8203 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
8204 0 : return false;
8205 : }
8206 0 : binding_detail::FastErrorResult rv;
8207 0 : self->SetBorderLeftColor(NonNullHelper(Constify(arg0)), rv);
8208 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8209 0 : return false;
8210 : }
8211 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8212 :
8213 0 : return true;
8214 : }
8215 :
8216 : static const JSJitInfo borderLeftColor_getterinfo = {
8217 : { (JSJitGetterOp)get_borderLeftColor },
8218 : { prototypes::id::CSS2Properties },
8219 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8220 : JSJitInfo::Getter,
8221 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8222 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
8223 : false, /* isInfallible. False in setters. */
8224 : false, /* isMovable. Not relevant for setters. */
8225 : false, /* isEliminatable. Not relevant for setters. */
8226 : false, /* isAlwaysInSlot. Only relevant for getters. */
8227 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8228 : false, /* isTypedMethod. Only relevant for methods. */
8229 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8230 : };
8231 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8232 : static_assert(0 < 1, "There is no slot for us");
8233 : static const JSJitInfo borderLeftColor_setterinfo = {
8234 : { (JSJitGetterOp)set_borderLeftColor },
8235 : { prototypes::id::CSS2Properties },
8236 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8237 : JSJitInfo::Setter,
8238 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8239 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
8240 : false, /* isInfallible. False in setters. */
8241 : false, /* isMovable. Not relevant for setters. */
8242 : false, /* isEliminatable. Not relevant for setters. */
8243 : false, /* isAlwaysInSlot. Only relevant for getters. */
8244 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8245 : false, /* isTypedMethod. Only relevant for methods. */
8246 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8247 : };
8248 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8249 : static_assert(0 < 1, "There is no slot for us");
8250 :
8251 : static bool
8252 0 : get_border_left_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
8253 : {
8254 0 : binding_detail::FastErrorResult rv;
8255 0 : DOMString result;
8256 0 : self->GetBorderLeftColor(result, rv);
8257 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8258 0 : return false;
8259 : }
8260 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8261 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
8262 0 : return false;
8263 : }
8264 0 : return true;
8265 : }
8266 :
8267 : static bool
8268 0 : set_border_left_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
8269 : {
8270 0 : binding_detail::FakeString arg0;
8271 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
8272 0 : return false;
8273 : }
8274 0 : binding_detail::FastErrorResult rv;
8275 0 : self->SetBorderLeftColor(NonNullHelper(Constify(arg0)), rv);
8276 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8277 0 : return false;
8278 : }
8279 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8280 :
8281 0 : return true;
8282 : }
8283 :
8284 : static const JSJitInfo border_left_color_getterinfo = {
8285 : { (JSJitGetterOp)get_border_left_color },
8286 : { prototypes::id::CSS2Properties },
8287 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8288 : JSJitInfo::Getter,
8289 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8290 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
8291 : false, /* isInfallible. False in setters. */
8292 : false, /* isMovable. Not relevant for setters. */
8293 : false, /* isEliminatable. Not relevant for setters. */
8294 : false, /* isAlwaysInSlot. Only relevant for getters. */
8295 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8296 : false, /* isTypedMethod. Only relevant for methods. */
8297 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8298 : };
8299 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8300 : static_assert(0 < 1, "There is no slot for us");
8301 : static const JSJitInfo border_left_color_setterinfo = {
8302 : { (JSJitGetterOp)set_border_left_color },
8303 : { prototypes::id::CSS2Properties },
8304 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8305 : JSJitInfo::Setter,
8306 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8307 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
8308 : false, /* isInfallible. False in setters. */
8309 : false, /* isMovable. Not relevant for setters. */
8310 : false, /* isEliminatable. Not relevant for setters. */
8311 : false, /* isAlwaysInSlot. Only relevant for getters. */
8312 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8313 : false, /* isTypedMethod. Only relevant for methods. */
8314 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8315 : };
8316 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8317 : static_assert(0 < 1, "There is no slot for us");
8318 :
8319 : static bool
8320 0 : get_MozBorderLeftColors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
8321 : {
8322 0 : binding_detail::FastErrorResult rv;
8323 0 : DOMString result;
8324 0 : self->GetMozBorderLeftColors(result, rv);
8325 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8326 0 : return false;
8327 : }
8328 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8329 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
8330 0 : return false;
8331 : }
8332 0 : return true;
8333 : }
8334 :
8335 : static bool
8336 0 : set_MozBorderLeftColors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
8337 : {
8338 0 : binding_detail::FakeString arg0;
8339 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
8340 0 : return false;
8341 : }
8342 0 : binding_detail::FastErrorResult rv;
8343 0 : self->SetMozBorderLeftColors(NonNullHelper(Constify(arg0)), rv);
8344 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8345 0 : return false;
8346 : }
8347 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8348 :
8349 0 : return true;
8350 : }
8351 :
8352 : static const JSJitInfo MozBorderLeftColors_getterinfo = {
8353 : { (JSJitGetterOp)get_MozBorderLeftColors },
8354 : { prototypes::id::CSS2Properties },
8355 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8356 : JSJitInfo::Getter,
8357 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8358 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
8359 : false, /* isInfallible. False in setters. */
8360 : false, /* isMovable. Not relevant for setters. */
8361 : false, /* isEliminatable. Not relevant for setters. */
8362 : false, /* isAlwaysInSlot. Only relevant for getters. */
8363 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8364 : false, /* isTypedMethod. Only relevant for methods. */
8365 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8366 : };
8367 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8368 : static_assert(0 < 1, "There is no slot for us");
8369 : static const JSJitInfo MozBorderLeftColors_setterinfo = {
8370 : { (JSJitGetterOp)set_MozBorderLeftColors },
8371 : { prototypes::id::CSS2Properties },
8372 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8373 : JSJitInfo::Setter,
8374 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8375 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
8376 : false, /* isInfallible. False in setters. */
8377 : false, /* isMovable. Not relevant for setters. */
8378 : false, /* isEliminatable. Not relevant for setters. */
8379 : false, /* isAlwaysInSlot. Only relevant for getters. */
8380 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8381 : false, /* isTypedMethod. Only relevant for methods. */
8382 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8383 : };
8384 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8385 : static_assert(0 < 1, "There is no slot for us");
8386 :
8387 : static bool
8388 0 : get__moz_border_left_colors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
8389 : {
8390 0 : binding_detail::FastErrorResult rv;
8391 0 : DOMString result;
8392 0 : self->GetMozBorderLeftColors(result, rv);
8393 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8394 0 : return false;
8395 : }
8396 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8397 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
8398 0 : return false;
8399 : }
8400 0 : return true;
8401 : }
8402 :
8403 : static bool
8404 0 : set__moz_border_left_colors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
8405 : {
8406 0 : binding_detail::FakeString arg0;
8407 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
8408 0 : return false;
8409 : }
8410 0 : binding_detail::FastErrorResult rv;
8411 0 : self->SetMozBorderLeftColors(NonNullHelper(Constify(arg0)), rv);
8412 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8413 0 : return false;
8414 : }
8415 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8416 :
8417 0 : return true;
8418 : }
8419 :
8420 : static const JSJitInfo _moz_border_left_colors_getterinfo = {
8421 : { (JSJitGetterOp)get__moz_border_left_colors },
8422 : { prototypes::id::CSS2Properties },
8423 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8424 : JSJitInfo::Getter,
8425 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8426 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
8427 : false, /* isInfallible. False in setters. */
8428 : false, /* isMovable. Not relevant for setters. */
8429 : false, /* isEliminatable. Not relevant for setters. */
8430 : false, /* isAlwaysInSlot. Only relevant for getters. */
8431 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8432 : false, /* isTypedMethod. Only relevant for methods. */
8433 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8434 : };
8435 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8436 : static_assert(0 < 1, "There is no slot for us");
8437 : static const JSJitInfo _moz_border_left_colors_setterinfo = {
8438 : { (JSJitGetterOp)set__moz_border_left_colors },
8439 : { prototypes::id::CSS2Properties },
8440 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8441 : JSJitInfo::Setter,
8442 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8443 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
8444 : false, /* isInfallible. False in setters. */
8445 : false, /* isMovable. Not relevant for setters. */
8446 : false, /* isEliminatable. Not relevant for setters. */
8447 : false, /* isAlwaysInSlot. Only relevant for getters. */
8448 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8449 : false, /* isTypedMethod. Only relevant for methods. */
8450 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8451 : };
8452 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8453 : static_assert(0 < 1, "There is no slot for us");
8454 :
8455 : static bool
8456 0 : get_borderLeftStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
8457 : {
8458 0 : binding_detail::FastErrorResult rv;
8459 0 : DOMString result;
8460 0 : self->GetBorderLeftStyle(result, rv);
8461 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8462 0 : return false;
8463 : }
8464 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8465 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
8466 0 : return false;
8467 : }
8468 0 : return true;
8469 : }
8470 :
8471 : static bool
8472 0 : set_borderLeftStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
8473 : {
8474 0 : binding_detail::FakeString arg0;
8475 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
8476 0 : return false;
8477 : }
8478 0 : binding_detail::FastErrorResult rv;
8479 0 : self->SetBorderLeftStyle(NonNullHelper(Constify(arg0)), rv);
8480 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8481 0 : return false;
8482 : }
8483 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8484 :
8485 0 : return true;
8486 : }
8487 :
8488 : static const JSJitInfo borderLeftStyle_getterinfo = {
8489 : { (JSJitGetterOp)get_borderLeftStyle },
8490 : { prototypes::id::CSS2Properties },
8491 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8492 : JSJitInfo::Getter,
8493 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8494 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
8495 : false, /* isInfallible. False in setters. */
8496 : false, /* isMovable. Not relevant for setters. */
8497 : false, /* isEliminatable. Not relevant for setters. */
8498 : false, /* isAlwaysInSlot. Only relevant for getters. */
8499 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8500 : false, /* isTypedMethod. Only relevant for methods. */
8501 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8502 : };
8503 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8504 : static_assert(0 < 1, "There is no slot for us");
8505 : static const JSJitInfo borderLeftStyle_setterinfo = {
8506 : { (JSJitGetterOp)set_borderLeftStyle },
8507 : { prototypes::id::CSS2Properties },
8508 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8509 : JSJitInfo::Setter,
8510 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8511 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
8512 : false, /* isInfallible. False in setters. */
8513 : false, /* isMovable. Not relevant for setters. */
8514 : false, /* isEliminatable. Not relevant for setters. */
8515 : false, /* isAlwaysInSlot. Only relevant for getters. */
8516 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8517 : false, /* isTypedMethod. Only relevant for methods. */
8518 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8519 : };
8520 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8521 : static_assert(0 < 1, "There is no slot for us");
8522 :
8523 : static bool
8524 0 : get_border_left_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
8525 : {
8526 0 : binding_detail::FastErrorResult rv;
8527 0 : DOMString result;
8528 0 : self->GetBorderLeftStyle(result, rv);
8529 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8530 0 : return false;
8531 : }
8532 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8533 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
8534 0 : return false;
8535 : }
8536 0 : return true;
8537 : }
8538 :
8539 : static bool
8540 0 : set_border_left_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
8541 : {
8542 0 : binding_detail::FakeString arg0;
8543 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
8544 0 : return false;
8545 : }
8546 0 : binding_detail::FastErrorResult rv;
8547 0 : self->SetBorderLeftStyle(NonNullHelper(Constify(arg0)), rv);
8548 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8549 0 : return false;
8550 : }
8551 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8552 :
8553 0 : return true;
8554 : }
8555 :
8556 : static const JSJitInfo border_left_style_getterinfo = {
8557 : { (JSJitGetterOp)get_border_left_style },
8558 : { prototypes::id::CSS2Properties },
8559 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8560 : JSJitInfo::Getter,
8561 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8562 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
8563 : false, /* isInfallible. False in setters. */
8564 : false, /* isMovable. Not relevant for setters. */
8565 : false, /* isEliminatable. Not relevant for setters. */
8566 : false, /* isAlwaysInSlot. Only relevant for getters. */
8567 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8568 : false, /* isTypedMethod. Only relevant for methods. */
8569 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8570 : };
8571 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8572 : static_assert(0 < 1, "There is no slot for us");
8573 : static const JSJitInfo border_left_style_setterinfo = {
8574 : { (JSJitGetterOp)set_border_left_style },
8575 : { prototypes::id::CSS2Properties },
8576 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8577 : JSJitInfo::Setter,
8578 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8579 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
8580 : false, /* isInfallible. False in setters. */
8581 : false, /* isMovable. Not relevant for setters. */
8582 : false, /* isEliminatable. Not relevant for setters. */
8583 : false, /* isAlwaysInSlot. Only relevant for getters. */
8584 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8585 : false, /* isTypedMethod. Only relevant for methods. */
8586 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8587 : };
8588 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8589 : static_assert(0 < 1, "There is no slot for us");
8590 :
8591 : static bool
8592 0 : get_borderLeftWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
8593 : {
8594 0 : binding_detail::FastErrorResult rv;
8595 0 : DOMString result;
8596 0 : self->GetBorderLeftWidth(result, rv);
8597 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8598 0 : return false;
8599 : }
8600 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8601 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
8602 0 : return false;
8603 : }
8604 0 : return true;
8605 : }
8606 :
8607 : static bool
8608 0 : set_borderLeftWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
8609 : {
8610 0 : binding_detail::FakeString arg0;
8611 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
8612 0 : return false;
8613 : }
8614 0 : binding_detail::FastErrorResult rv;
8615 0 : self->SetBorderLeftWidth(NonNullHelper(Constify(arg0)), rv);
8616 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8617 0 : return false;
8618 : }
8619 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8620 :
8621 0 : return true;
8622 : }
8623 :
8624 : static const JSJitInfo borderLeftWidth_getterinfo = {
8625 : { (JSJitGetterOp)get_borderLeftWidth },
8626 : { prototypes::id::CSS2Properties },
8627 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8628 : JSJitInfo::Getter,
8629 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8630 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
8631 : false, /* isInfallible. False in setters. */
8632 : false, /* isMovable. Not relevant for setters. */
8633 : false, /* isEliminatable. Not relevant for setters. */
8634 : false, /* isAlwaysInSlot. Only relevant for getters. */
8635 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8636 : false, /* isTypedMethod. Only relevant for methods. */
8637 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8638 : };
8639 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8640 : static_assert(0 < 1, "There is no slot for us");
8641 : static const JSJitInfo borderLeftWidth_setterinfo = {
8642 : { (JSJitGetterOp)set_borderLeftWidth },
8643 : { prototypes::id::CSS2Properties },
8644 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8645 : JSJitInfo::Setter,
8646 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8647 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
8648 : false, /* isInfallible. False in setters. */
8649 : false, /* isMovable. Not relevant for setters. */
8650 : false, /* isEliminatable. Not relevant for setters. */
8651 : false, /* isAlwaysInSlot. Only relevant for getters. */
8652 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8653 : false, /* isTypedMethod. Only relevant for methods. */
8654 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8655 : };
8656 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8657 : static_assert(0 < 1, "There is no slot for us");
8658 :
8659 : static bool
8660 0 : get_border_left_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
8661 : {
8662 0 : binding_detail::FastErrorResult rv;
8663 0 : DOMString result;
8664 0 : self->GetBorderLeftWidth(result, rv);
8665 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8666 0 : return false;
8667 : }
8668 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8669 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
8670 0 : return false;
8671 : }
8672 0 : return true;
8673 : }
8674 :
8675 : static bool
8676 0 : set_border_left_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
8677 : {
8678 0 : binding_detail::FakeString arg0;
8679 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
8680 0 : return false;
8681 : }
8682 0 : binding_detail::FastErrorResult rv;
8683 0 : self->SetBorderLeftWidth(NonNullHelper(Constify(arg0)), rv);
8684 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8685 0 : return false;
8686 : }
8687 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8688 :
8689 0 : return true;
8690 : }
8691 :
8692 : static const JSJitInfo border_left_width_getterinfo = {
8693 : { (JSJitGetterOp)get_border_left_width },
8694 : { prototypes::id::CSS2Properties },
8695 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8696 : JSJitInfo::Getter,
8697 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8698 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
8699 : false, /* isInfallible. False in setters. */
8700 : false, /* isMovable. Not relevant for setters. */
8701 : false, /* isEliminatable. Not relevant for setters. */
8702 : false, /* isAlwaysInSlot. Only relevant for getters. */
8703 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8704 : false, /* isTypedMethod. Only relevant for methods. */
8705 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8706 : };
8707 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8708 : static_assert(0 < 1, "There is no slot for us");
8709 : static const JSJitInfo border_left_width_setterinfo = {
8710 : { (JSJitGetterOp)set_border_left_width },
8711 : { prototypes::id::CSS2Properties },
8712 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8713 : JSJitInfo::Setter,
8714 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8715 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
8716 : false, /* isInfallible. False in setters. */
8717 : false, /* isMovable. Not relevant for setters. */
8718 : false, /* isEliminatable. Not relevant for setters. */
8719 : false, /* isAlwaysInSlot. Only relevant for getters. */
8720 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8721 : false, /* isTypedMethod. Only relevant for methods. */
8722 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8723 : };
8724 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8725 : static_assert(0 < 1, "There is no slot for us");
8726 :
8727 : static bool
8728 0 : get_borderRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
8729 : {
8730 0 : binding_detail::FastErrorResult rv;
8731 0 : DOMString result;
8732 0 : self->GetBorderRadius(result, rv);
8733 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8734 0 : return false;
8735 : }
8736 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8737 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
8738 0 : return false;
8739 : }
8740 0 : return true;
8741 : }
8742 :
8743 : static bool
8744 0 : set_borderRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
8745 : {
8746 0 : binding_detail::FakeString arg0;
8747 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
8748 0 : return false;
8749 : }
8750 0 : binding_detail::FastErrorResult rv;
8751 0 : self->SetBorderRadius(NonNullHelper(Constify(arg0)), rv);
8752 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8753 0 : return false;
8754 : }
8755 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8756 :
8757 0 : return true;
8758 : }
8759 :
8760 : static const JSJitInfo borderRadius_getterinfo = {
8761 : { (JSJitGetterOp)get_borderRadius },
8762 : { prototypes::id::CSS2Properties },
8763 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8764 : JSJitInfo::Getter,
8765 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8766 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
8767 : false, /* isInfallible. False in setters. */
8768 : false, /* isMovable. Not relevant for setters. */
8769 : false, /* isEliminatable. Not relevant for setters. */
8770 : false, /* isAlwaysInSlot. Only relevant for getters. */
8771 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8772 : false, /* isTypedMethod. Only relevant for methods. */
8773 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8774 : };
8775 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8776 : static_assert(0 < 1, "There is no slot for us");
8777 : static const JSJitInfo borderRadius_setterinfo = {
8778 : { (JSJitGetterOp)set_borderRadius },
8779 : { prototypes::id::CSS2Properties },
8780 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8781 : JSJitInfo::Setter,
8782 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8783 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
8784 : false, /* isInfallible. False in setters. */
8785 : false, /* isMovable. Not relevant for setters. */
8786 : false, /* isEliminatable. Not relevant for setters. */
8787 : false, /* isAlwaysInSlot. Only relevant for getters. */
8788 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8789 : false, /* isTypedMethod. Only relevant for methods. */
8790 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8791 : };
8792 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8793 : static_assert(0 < 1, "There is no slot for us");
8794 :
8795 : static bool
8796 0 : get_border_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
8797 : {
8798 0 : binding_detail::FastErrorResult rv;
8799 0 : DOMString result;
8800 0 : self->GetBorderRadius(result, rv);
8801 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8802 0 : return false;
8803 : }
8804 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8805 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
8806 0 : return false;
8807 : }
8808 0 : return true;
8809 : }
8810 :
8811 : static bool
8812 0 : set_border_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
8813 : {
8814 0 : binding_detail::FakeString arg0;
8815 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
8816 0 : return false;
8817 : }
8818 0 : binding_detail::FastErrorResult rv;
8819 0 : self->SetBorderRadius(NonNullHelper(Constify(arg0)), rv);
8820 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8821 0 : return false;
8822 : }
8823 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8824 :
8825 0 : return true;
8826 : }
8827 :
8828 : static const JSJitInfo border_radius_getterinfo = {
8829 : { (JSJitGetterOp)get_border_radius },
8830 : { prototypes::id::CSS2Properties },
8831 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8832 : JSJitInfo::Getter,
8833 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8834 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
8835 : false, /* isInfallible. False in setters. */
8836 : false, /* isMovable. Not relevant for setters. */
8837 : false, /* isEliminatable. Not relevant for setters. */
8838 : false, /* isAlwaysInSlot. Only relevant for getters. */
8839 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8840 : false, /* isTypedMethod. Only relevant for methods. */
8841 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8842 : };
8843 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8844 : static_assert(0 < 1, "There is no slot for us");
8845 : static const JSJitInfo border_radius_setterinfo = {
8846 : { (JSJitGetterOp)set_border_radius },
8847 : { prototypes::id::CSS2Properties },
8848 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8849 : JSJitInfo::Setter,
8850 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8851 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
8852 : false, /* isInfallible. False in setters. */
8853 : false, /* isMovable. Not relevant for setters. */
8854 : false, /* isEliminatable. Not relevant for setters. */
8855 : false, /* isAlwaysInSlot. Only relevant for getters. */
8856 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8857 : false, /* isTypedMethod. Only relevant for methods. */
8858 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8859 : };
8860 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8861 : static_assert(0 < 1, "There is no slot for us");
8862 :
8863 : static bool
8864 0 : get_borderRight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
8865 : {
8866 0 : binding_detail::FastErrorResult rv;
8867 0 : DOMString result;
8868 0 : self->GetBorderRight(result, rv);
8869 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8870 0 : return false;
8871 : }
8872 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8873 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
8874 0 : return false;
8875 : }
8876 0 : return true;
8877 : }
8878 :
8879 : static bool
8880 0 : set_borderRight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
8881 : {
8882 0 : binding_detail::FakeString arg0;
8883 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
8884 0 : return false;
8885 : }
8886 0 : binding_detail::FastErrorResult rv;
8887 0 : self->SetBorderRight(NonNullHelper(Constify(arg0)), rv);
8888 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8889 0 : return false;
8890 : }
8891 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8892 :
8893 0 : return true;
8894 : }
8895 :
8896 : static const JSJitInfo borderRight_getterinfo = {
8897 : { (JSJitGetterOp)get_borderRight },
8898 : { prototypes::id::CSS2Properties },
8899 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8900 : JSJitInfo::Getter,
8901 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8902 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
8903 : false, /* isInfallible. False in setters. */
8904 : false, /* isMovable. Not relevant for setters. */
8905 : false, /* isEliminatable. Not relevant for setters. */
8906 : false, /* isAlwaysInSlot. Only relevant for getters. */
8907 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8908 : false, /* isTypedMethod. Only relevant for methods. */
8909 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8910 : };
8911 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8912 : static_assert(0 < 1, "There is no slot for us");
8913 : static const JSJitInfo borderRight_setterinfo = {
8914 : { (JSJitGetterOp)set_borderRight },
8915 : { prototypes::id::CSS2Properties },
8916 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8917 : JSJitInfo::Setter,
8918 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8919 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
8920 : false, /* isInfallible. False in setters. */
8921 : false, /* isMovable. Not relevant for setters. */
8922 : false, /* isEliminatable. Not relevant for setters. */
8923 : false, /* isAlwaysInSlot. Only relevant for getters. */
8924 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8925 : false, /* isTypedMethod. Only relevant for methods. */
8926 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8927 : };
8928 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8929 : static_assert(0 < 1, "There is no slot for us");
8930 :
8931 : static bool
8932 0 : get_border_right(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
8933 : {
8934 0 : binding_detail::FastErrorResult rv;
8935 0 : DOMString result;
8936 0 : self->GetBorderRight(result, rv);
8937 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8938 0 : return false;
8939 : }
8940 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8941 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
8942 0 : return false;
8943 : }
8944 0 : return true;
8945 : }
8946 :
8947 : static bool
8948 0 : set_border_right(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
8949 : {
8950 0 : binding_detail::FakeString arg0;
8951 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
8952 0 : return false;
8953 : }
8954 0 : binding_detail::FastErrorResult rv;
8955 0 : self->SetBorderRight(NonNullHelper(Constify(arg0)), rv);
8956 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
8957 0 : return false;
8958 : }
8959 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
8960 :
8961 0 : return true;
8962 : }
8963 :
8964 : static const JSJitInfo border_right_getterinfo = {
8965 : { (JSJitGetterOp)get_border_right },
8966 : { prototypes::id::CSS2Properties },
8967 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8968 : JSJitInfo::Getter,
8969 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8970 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
8971 : false, /* isInfallible. False in setters. */
8972 : false, /* isMovable. Not relevant for setters. */
8973 : false, /* isEliminatable. Not relevant for setters. */
8974 : false, /* isAlwaysInSlot. Only relevant for getters. */
8975 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8976 : false, /* isTypedMethod. Only relevant for methods. */
8977 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8978 : };
8979 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8980 : static_assert(0 < 1, "There is no slot for us");
8981 : static const JSJitInfo border_right_setterinfo = {
8982 : { (JSJitGetterOp)set_border_right },
8983 : { prototypes::id::CSS2Properties },
8984 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
8985 : JSJitInfo::Setter,
8986 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
8987 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
8988 : false, /* isInfallible. False in setters. */
8989 : false, /* isMovable. Not relevant for setters. */
8990 : false, /* isEliminatable. Not relevant for setters. */
8991 : false, /* isAlwaysInSlot. Only relevant for getters. */
8992 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
8993 : false, /* isTypedMethod. Only relevant for methods. */
8994 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
8995 : };
8996 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
8997 : static_assert(0 < 1, "There is no slot for us");
8998 :
8999 : static bool
9000 0 : get_borderRightColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
9001 : {
9002 0 : binding_detail::FastErrorResult rv;
9003 0 : DOMString result;
9004 0 : self->GetBorderRightColor(result, rv);
9005 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9006 0 : return false;
9007 : }
9008 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9009 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
9010 0 : return false;
9011 : }
9012 0 : return true;
9013 : }
9014 :
9015 : static bool
9016 0 : set_borderRightColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
9017 : {
9018 0 : binding_detail::FakeString arg0;
9019 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
9020 0 : return false;
9021 : }
9022 0 : binding_detail::FastErrorResult rv;
9023 0 : self->SetBorderRightColor(NonNullHelper(Constify(arg0)), rv);
9024 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9025 0 : return false;
9026 : }
9027 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9028 :
9029 0 : return true;
9030 : }
9031 :
9032 : static const JSJitInfo borderRightColor_getterinfo = {
9033 : { (JSJitGetterOp)get_borderRightColor },
9034 : { prototypes::id::CSS2Properties },
9035 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9036 : JSJitInfo::Getter,
9037 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9038 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
9039 : false, /* isInfallible. False in setters. */
9040 : false, /* isMovable. Not relevant for setters. */
9041 : false, /* isEliminatable. Not relevant for setters. */
9042 : false, /* isAlwaysInSlot. Only relevant for getters. */
9043 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9044 : false, /* isTypedMethod. Only relevant for methods. */
9045 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9046 : };
9047 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9048 : static_assert(0 < 1, "There is no slot for us");
9049 : static const JSJitInfo borderRightColor_setterinfo = {
9050 : { (JSJitGetterOp)set_borderRightColor },
9051 : { prototypes::id::CSS2Properties },
9052 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9053 : JSJitInfo::Setter,
9054 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9055 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
9056 : false, /* isInfallible. False in setters. */
9057 : false, /* isMovable. Not relevant for setters. */
9058 : false, /* isEliminatable. Not relevant for setters. */
9059 : false, /* isAlwaysInSlot. Only relevant for getters. */
9060 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9061 : false, /* isTypedMethod. Only relevant for methods. */
9062 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9063 : };
9064 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9065 : static_assert(0 < 1, "There is no slot for us");
9066 :
9067 : static bool
9068 0 : get_border_right_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
9069 : {
9070 0 : binding_detail::FastErrorResult rv;
9071 0 : DOMString result;
9072 0 : self->GetBorderRightColor(result, rv);
9073 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9074 0 : return false;
9075 : }
9076 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9077 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
9078 0 : return false;
9079 : }
9080 0 : return true;
9081 : }
9082 :
9083 : static bool
9084 0 : set_border_right_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
9085 : {
9086 0 : binding_detail::FakeString arg0;
9087 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
9088 0 : return false;
9089 : }
9090 0 : binding_detail::FastErrorResult rv;
9091 0 : self->SetBorderRightColor(NonNullHelper(Constify(arg0)), rv);
9092 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9093 0 : return false;
9094 : }
9095 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9096 :
9097 0 : return true;
9098 : }
9099 :
9100 : static const JSJitInfo border_right_color_getterinfo = {
9101 : { (JSJitGetterOp)get_border_right_color },
9102 : { prototypes::id::CSS2Properties },
9103 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9104 : JSJitInfo::Getter,
9105 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9106 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
9107 : false, /* isInfallible. False in setters. */
9108 : false, /* isMovable. Not relevant for setters. */
9109 : false, /* isEliminatable. Not relevant for setters. */
9110 : false, /* isAlwaysInSlot. Only relevant for getters. */
9111 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9112 : false, /* isTypedMethod. Only relevant for methods. */
9113 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9114 : };
9115 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9116 : static_assert(0 < 1, "There is no slot for us");
9117 : static const JSJitInfo border_right_color_setterinfo = {
9118 : { (JSJitGetterOp)set_border_right_color },
9119 : { prototypes::id::CSS2Properties },
9120 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9121 : JSJitInfo::Setter,
9122 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9123 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
9124 : false, /* isInfallible. False in setters. */
9125 : false, /* isMovable. Not relevant for setters. */
9126 : false, /* isEliminatable. Not relevant for setters. */
9127 : false, /* isAlwaysInSlot. Only relevant for getters. */
9128 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9129 : false, /* isTypedMethod. Only relevant for methods. */
9130 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9131 : };
9132 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9133 : static_assert(0 < 1, "There is no slot for us");
9134 :
9135 : static bool
9136 0 : get_MozBorderRightColors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
9137 : {
9138 0 : binding_detail::FastErrorResult rv;
9139 0 : DOMString result;
9140 0 : self->GetMozBorderRightColors(result, rv);
9141 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9142 0 : return false;
9143 : }
9144 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9145 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
9146 0 : return false;
9147 : }
9148 0 : return true;
9149 : }
9150 :
9151 : static bool
9152 0 : set_MozBorderRightColors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
9153 : {
9154 0 : binding_detail::FakeString arg0;
9155 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
9156 0 : return false;
9157 : }
9158 0 : binding_detail::FastErrorResult rv;
9159 0 : self->SetMozBorderRightColors(NonNullHelper(Constify(arg0)), rv);
9160 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9161 0 : return false;
9162 : }
9163 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9164 :
9165 0 : return true;
9166 : }
9167 :
9168 : static const JSJitInfo MozBorderRightColors_getterinfo = {
9169 : { (JSJitGetterOp)get_MozBorderRightColors },
9170 : { prototypes::id::CSS2Properties },
9171 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9172 : JSJitInfo::Getter,
9173 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9174 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
9175 : false, /* isInfallible. False in setters. */
9176 : false, /* isMovable. Not relevant for setters. */
9177 : false, /* isEliminatable. Not relevant for setters. */
9178 : false, /* isAlwaysInSlot. Only relevant for getters. */
9179 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9180 : false, /* isTypedMethod. Only relevant for methods. */
9181 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9182 : };
9183 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9184 : static_assert(0 < 1, "There is no slot for us");
9185 : static const JSJitInfo MozBorderRightColors_setterinfo = {
9186 : { (JSJitGetterOp)set_MozBorderRightColors },
9187 : { prototypes::id::CSS2Properties },
9188 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9189 : JSJitInfo::Setter,
9190 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9191 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
9192 : false, /* isInfallible. False in setters. */
9193 : false, /* isMovable. Not relevant for setters. */
9194 : false, /* isEliminatable. Not relevant for setters. */
9195 : false, /* isAlwaysInSlot. Only relevant for getters. */
9196 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9197 : false, /* isTypedMethod. Only relevant for methods. */
9198 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9199 : };
9200 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9201 : static_assert(0 < 1, "There is no slot for us");
9202 :
9203 : static bool
9204 0 : get__moz_border_right_colors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
9205 : {
9206 0 : binding_detail::FastErrorResult rv;
9207 0 : DOMString result;
9208 0 : self->GetMozBorderRightColors(result, rv);
9209 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9210 0 : return false;
9211 : }
9212 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9213 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
9214 0 : return false;
9215 : }
9216 0 : return true;
9217 : }
9218 :
9219 : static bool
9220 0 : set__moz_border_right_colors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
9221 : {
9222 0 : binding_detail::FakeString arg0;
9223 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
9224 0 : return false;
9225 : }
9226 0 : binding_detail::FastErrorResult rv;
9227 0 : self->SetMozBorderRightColors(NonNullHelper(Constify(arg0)), rv);
9228 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9229 0 : return false;
9230 : }
9231 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9232 :
9233 0 : return true;
9234 : }
9235 :
9236 : static const JSJitInfo _moz_border_right_colors_getterinfo = {
9237 : { (JSJitGetterOp)get__moz_border_right_colors },
9238 : { prototypes::id::CSS2Properties },
9239 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9240 : JSJitInfo::Getter,
9241 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9242 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
9243 : false, /* isInfallible. False in setters. */
9244 : false, /* isMovable. Not relevant for setters. */
9245 : false, /* isEliminatable. Not relevant for setters. */
9246 : false, /* isAlwaysInSlot. Only relevant for getters. */
9247 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9248 : false, /* isTypedMethod. Only relevant for methods. */
9249 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9250 : };
9251 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9252 : static_assert(0 < 1, "There is no slot for us");
9253 : static const JSJitInfo _moz_border_right_colors_setterinfo = {
9254 : { (JSJitGetterOp)set__moz_border_right_colors },
9255 : { prototypes::id::CSS2Properties },
9256 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9257 : JSJitInfo::Setter,
9258 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9259 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
9260 : false, /* isInfallible. False in setters. */
9261 : false, /* isMovable. Not relevant for setters. */
9262 : false, /* isEliminatable. Not relevant for setters. */
9263 : false, /* isAlwaysInSlot. Only relevant for getters. */
9264 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9265 : false, /* isTypedMethod. Only relevant for methods. */
9266 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9267 : };
9268 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9269 : static_assert(0 < 1, "There is no slot for us");
9270 :
9271 : static bool
9272 0 : get_borderRightStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
9273 : {
9274 0 : binding_detail::FastErrorResult rv;
9275 0 : DOMString result;
9276 0 : self->GetBorderRightStyle(result, rv);
9277 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9278 0 : return false;
9279 : }
9280 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9281 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
9282 0 : return false;
9283 : }
9284 0 : return true;
9285 : }
9286 :
9287 : static bool
9288 0 : set_borderRightStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
9289 : {
9290 0 : binding_detail::FakeString arg0;
9291 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
9292 0 : return false;
9293 : }
9294 0 : binding_detail::FastErrorResult rv;
9295 0 : self->SetBorderRightStyle(NonNullHelper(Constify(arg0)), rv);
9296 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9297 0 : return false;
9298 : }
9299 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9300 :
9301 0 : return true;
9302 : }
9303 :
9304 : static const JSJitInfo borderRightStyle_getterinfo = {
9305 : { (JSJitGetterOp)get_borderRightStyle },
9306 : { prototypes::id::CSS2Properties },
9307 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9308 : JSJitInfo::Getter,
9309 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9310 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
9311 : false, /* isInfallible. False in setters. */
9312 : false, /* isMovable. Not relevant for setters. */
9313 : false, /* isEliminatable. Not relevant for setters. */
9314 : false, /* isAlwaysInSlot. Only relevant for getters. */
9315 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9316 : false, /* isTypedMethod. Only relevant for methods. */
9317 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9318 : };
9319 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9320 : static_assert(0 < 1, "There is no slot for us");
9321 : static const JSJitInfo borderRightStyle_setterinfo = {
9322 : { (JSJitGetterOp)set_borderRightStyle },
9323 : { prototypes::id::CSS2Properties },
9324 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9325 : JSJitInfo::Setter,
9326 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9327 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
9328 : false, /* isInfallible. False in setters. */
9329 : false, /* isMovable. Not relevant for setters. */
9330 : false, /* isEliminatable. Not relevant for setters. */
9331 : false, /* isAlwaysInSlot. Only relevant for getters. */
9332 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9333 : false, /* isTypedMethod. Only relevant for methods. */
9334 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9335 : };
9336 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9337 : static_assert(0 < 1, "There is no slot for us");
9338 :
9339 : static bool
9340 0 : get_border_right_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
9341 : {
9342 0 : binding_detail::FastErrorResult rv;
9343 0 : DOMString result;
9344 0 : self->GetBorderRightStyle(result, rv);
9345 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9346 0 : return false;
9347 : }
9348 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9349 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
9350 0 : return false;
9351 : }
9352 0 : return true;
9353 : }
9354 :
9355 : static bool
9356 0 : set_border_right_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
9357 : {
9358 0 : binding_detail::FakeString arg0;
9359 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
9360 0 : return false;
9361 : }
9362 0 : binding_detail::FastErrorResult rv;
9363 0 : self->SetBorderRightStyle(NonNullHelper(Constify(arg0)), rv);
9364 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9365 0 : return false;
9366 : }
9367 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9368 :
9369 0 : return true;
9370 : }
9371 :
9372 : static const JSJitInfo border_right_style_getterinfo = {
9373 : { (JSJitGetterOp)get_border_right_style },
9374 : { prototypes::id::CSS2Properties },
9375 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9376 : JSJitInfo::Getter,
9377 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9378 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
9379 : false, /* isInfallible. False in setters. */
9380 : false, /* isMovable. Not relevant for setters. */
9381 : false, /* isEliminatable. Not relevant for setters. */
9382 : false, /* isAlwaysInSlot. Only relevant for getters. */
9383 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9384 : false, /* isTypedMethod. Only relevant for methods. */
9385 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9386 : };
9387 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9388 : static_assert(0 < 1, "There is no slot for us");
9389 : static const JSJitInfo border_right_style_setterinfo = {
9390 : { (JSJitGetterOp)set_border_right_style },
9391 : { prototypes::id::CSS2Properties },
9392 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9393 : JSJitInfo::Setter,
9394 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9395 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
9396 : false, /* isInfallible. False in setters. */
9397 : false, /* isMovable. Not relevant for setters. */
9398 : false, /* isEliminatable. Not relevant for setters. */
9399 : false, /* isAlwaysInSlot. Only relevant for getters. */
9400 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9401 : false, /* isTypedMethod. Only relevant for methods. */
9402 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9403 : };
9404 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9405 : static_assert(0 < 1, "There is no slot for us");
9406 :
9407 : static bool
9408 0 : get_borderRightWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
9409 : {
9410 0 : binding_detail::FastErrorResult rv;
9411 0 : DOMString result;
9412 0 : self->GetBorderRightWidth(result, rv);
9413 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9414 0 : return false;
9415 : }
9416 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9417 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
9418 0 : return false;
9419 : }
9420 0 : return true;
9421 : }
9422 :
9423 : static bool
9424 0 : set_borderRightWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
9425 : {
9426 0 : binding_detail::FakeString arg0;
9427 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
9428 0 : return false;
9429 : }
9430 0 : binding_detail::FastErrorResult rv;
9431 0 : self->SetBorderRightWidth(NonNullHelper(Constify(arg0)), rv);
9432 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9433 0 : return false;
9434 : }
9435 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9436 :
9437 0 : return true;
9438 : }
9439 :
9440 : static const JSJitInfo borderRightWidth_getterinfo = {
9441 : { (JSJitGetterOp)get_borderRightWidth },
9442 : { prototypes::id::CSS2Properties },
9443 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9444 : JSJitInfo::Getter,
9445 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9446 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
9447 : false, /* isInfallible. False in setters. */
9448 : false, /* isMovable. Not relevant for setters. */
9449 : false, /* isEliminatable. Not relevant for setters. */
9450 : false, /* isAlwaysInSlot. Only relevant for getters. */
9451 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9452 : false, /* isTypedMethod. Only relevant for methods. */
9453 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9454 : };
9455 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9456 : static_assert(0 < 1, "There is no slot for us");
9457 : static const JSJitInfo borderRightWidth_setterinfo = {
9458 : { (JSJitGetterOp)set_borderRightWidth },
9459 : { prototypes::id::CSS2Properties },
9460 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9461 : JSJitInfo::Setter,
9462 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9463 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
9464 : false, /* isInfallible. False in setters. */
9465 : false, /* isMovable. Not relevant for setters. */
9466 : false, /* isEliminatable. Not relevant for setters. */
9467 : false, /* isAlwaysInSlot. Only relevant for getters. */
9468 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9469 : false, /* isTypedMethod. Only relevant for methods. */
9470 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9471 : };
9472 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9473 : static_assert(0 < 1, "There is no slot for us");
9474 :
9475 : static bool
9476 0 : get_border_right_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
9477 : {
9478 0 : binding_detail::FastErrorResult rv;
9479 0 : DOMString result;
9480 0 : self->GetBorderRightWidth(result, rv);
9481 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9482 0 : return false;
9483 : }
9484 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9485 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
9486 0 : return false;
9487 : }
9488 0 : return true;
9489 : }
9490 :
9491 : static bool
9492 0 : set_border_right_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
9493 : {
9494 0 : binding_detail::FakeString arg0;
9495 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
9496 0 : return false;
9497 : }
9498 0 : binding_detail::FastErrorResult rv;
9499 0 : self->SetBorderRightWidth(NonNullHelper(Constify(arg0)), rv);
9500 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9501 0 : return false;
9502 : }
9503 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9504 :
9505 0 : return true;
9506 : }
9507 :
9508 : static const JSJitInfo border_right_width_getterinfo = {
9509 : { (JSJitGetterOp)get_border_right_width },
9510 : { prototypes::id::CSS2Properties },
9511 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9512 : JSJitInfo::Getter,
9513 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9514 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
9515 : false, /* isInfallible. False in setters. */
9516 : false, /* isMovable. Not relevant for setters. */
9517 : false, /* isEliminatable. Not relevant for setters. */
9518 : false, /* isAlwaysInSlot. Only relevant for getters. */
9519 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9520 : false, /* isTypedMethod. Only relevant for methods. */
9521 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9522 : };
9523 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9524 : static_assert(0 < 1, "There is no slot for us");
9525 : static const JSJitInfo border_right_width_setterinfo = {
9526 : { (JSJitGetterOp)set_border_right_width },
9527 : { prototypes::id::CSS2Properties },
9528 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9529 : JSJitInfo::Setter,
9530 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9531 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
9532 : false, /* isInfallible. False in setters. */
9533 : false, /* isMovable. Not relevant for setters. */
9534 : false, /* isEliminatable. Not relevant for setters. */
9535 : false, /* isAlwaysInSlot. Only relevant for getters. */
9536 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9537 : false, /* isTypedMethod. Only relevant for methods. */
9538 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9539 : };
9540 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9541 : static_assert(0 < 1, "There is no slot for us");
9542 :
9543 : static bool
9544 0 : get_borderSpacing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
9545 : {
9546 0 : binding_detail::FastErrorResult rv;
9547 0 : DOMString result;
9548 0 : self->GetBorderSpacing(result, rv);
9549 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9550 0 : return false;
9551 : }
9552 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9553 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
9554 0 : return false;
9555 : }
9556 0 : return true;
9557 : }
9558 :
9559 : static bool
9560 0 : set_borderSpacing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
9561 : {
9562 0 : binding_detail::FakeString arg0;
9563 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
9564 0 : return false;
9565 : }
9566 0 : binding_detail::FastErrorResult rv;
9567 0 : self->SetBorderSpacing(NonNullHelper(Constify(arg0)), rv);
9568 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9569 0 : return false;
9570 : }
9571 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9572 :
9573 0 : return true;
9574 : }
9575 :
9576 : static const JSJitInfo borderSpacing_getterinfo = {
9577 : { (JSJitGetterOp)get_borderSpacing },
9578 : { prototypes::id::CSS2Properties },
9579 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9580 : JSJitInfo::Getter,
9581 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9582 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
9583 : false, /* isInfallible. False in setters. */
9584 : false, /* isMovable. Not relevant for setters. */
9585 : false, /* isEliminatable. Not relevant for setters. */
9586 : false, /* isAlwaysInSlot. Only relevant for getters. */
9587 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9588 : false, /* isTypedMethod. Only relevant for methods. */
9589 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9590 : };
9591 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9592 : static_assert(0 < 1, "There is no slot for us");
9593 : static const JSJitInfo borderSpacing_setterinfo = {
9594 : { (JSJitGetterOp)set_borderSpacing },
9595 : { prototypes::id::CSS2Properties },
9596 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9597 : JSJitInfo::Setter,
9598 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9599 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
9600 : false, /* isInfallible. False in setters. */
9601 : false, /* isMovable. Not relevant for setters. */
9602 : false, /* isEliminatable. Not relevant for setters. */
9603 : false, /* isAlwaysInSlot. Only relevant for getters. */
9604 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9605 : false, /* isTypedMethod. Only relevant for methods. */
9606 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9607 : };
9608 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9609 : static_assert(0 < 1, "There is no slot for us");
9610 :
9611 : static bool
9612 0 : get_border_spacing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
9613 : {
9614 0 : binding_detail::FastErrorResult rv;
9615 0 : DOMString result;
9616 0 : self->GetBorderSpacing(result, rv);
9617 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9618 0 : return false;
9619 : }
9620 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9621 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
9622 0 : return false;
9623 : }
9624 0 : return true;
9625 : }
9626 :
9627 : static bool
9628 0 : set_border_spacing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
9629 : {
9630 0 : binding_detail::FakeString arg0;
9631 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
9632 0 : return false;
9633 : }
9634 0 : binding_detail::FastErrorResult rv;
9635 0 : self->SetBorderSpacing(NonNullHelper(Constify(arg0)), rv);
9636 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9637 0 : return false;
9638 : }
9639 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9640 :
9641 0 : return true;
9642 : }
9643 :
9644 : static const JSJitInfo border_spacing_getterinfo = {
9645 : { (JSJitGetterOp)get_border_spacing },
9646 : { prototypes::id::CSS2Properties },
9647 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9648 : JSJitInfo::Getter,
9649 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9650 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
9651 : false, /* isInfallible. False in setters. */
9652 : false, /* isMovable. Not relevant for setters. */
9653 : false, /* isEliminatable. Not relevant for setters. */
9654 : false, /* isAlwaysInSlot. Only relevant for getters. */
9655 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9656 : false, /* isTypedMethod. Only relevant for methods. */
9657 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9658 : };
9659 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9660 : static_assert(0 < 1, "There is no slot for us");
9661 : static const JSJitInfo border_spacing_setterinfo = {
9662 : { (JSJitGetterOp)set_border_spacing },
9663 : { prototypes::id::CSS2Properties },
9664 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9665 : JSJitInfo::Setter,
9666 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9667 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
9668 : false, /* isInfallible. False in setters. */
9669 : false, /* isMovable. Not relevant for setters. */
9670 : false, /* isEliminatable. Not relevant for setters. */
9671 : false, /* isAlwaysInSlot. Only relevant for getters. */
9672 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9673 : false, /* isTypedMethod. Only relevant for methods. */
9674 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9675 : };
9676 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9677 : static_assert(0 < 1, "There is no slot for us");
9678 :
9679 : static bool
9680 0 : get_borderStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
9681 : {
9682 0 : binding_detail::FastErrorResult rv;
9683 0 : DOMString result;
9684 0 : self->GetBorderStyle(result, rv);
9685 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9686 0 : return false;
9687 : }
9688 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9689 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
9690 0 : return false;
9691 : }
9692 0 : return true;
9693 : }
9694 :
9695 : static bool
9696 0 : set_borderStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
9697 : {
9698 0 : binding_detail::FakeString arg0;
9699 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
9700 0 : return false;
9701 : }
9702 0 : binding_detail::FastErrorResult rv;
9703 0 : self->SetBorderStyle(NonNullHelper(Constify(arg0)), rv);
9704 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9705 0 : return false;
9706 : }
9707 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9708 :
9709 0 : return true;
9710 : }
9711 :
9712 : static const JSJitInfo borderStyle_getterinfo = {
9713 : { (JSJitGetterOp)get_borderStyle },
9714 : { prototypes::id::CSS2Properties },
9715 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9716 : JSJitInfo::Getter,
9717 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9718 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
9719 : false, /* isInfallible. False in setters. */
9720 : false, /* isMovable. Not relevant for setters. */
9721 : false, /* isEliminatable. Not relevant for setters. */
9722 : false, /* isAlwaysInSlot. Only relevant for getters. */
9723 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9724 : false, /* isTypedMethod. Only relevant for methods. */
9725 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9726 : };
9727 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9728 : static_assert(0 < 1, "There is no slot for us");
9729 : static const JSJitInfo borderStyle_setterinfo = {
9730 : { (JSJitGetterOp)set_borderStyle },
9731 : { prototypes::id::CSS2Properties },
9732 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9733 : JSJitInfo::Setter,
9734 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9735 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
9736 : false, /* isInfallible. False in setters. */
9737 : false, /* isMovable. Not relevant for setters. */
9738 : false, /* isEliminatable. Not relevant for setters. */
9739 : false, /* isAlwaysInSlot. Only relevant for getters. */
9740 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9741 : false, /* isTypedMethod. Only relevant for methods. */
9742 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9743 : };
9744 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9745 : static_assert(0 < 1, "There is no slot for us");
9746 :
9747 : static bool
9748 0 : get_border_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
9749 : {
9750 0 : binding_detail::FastErrorResult rv;
9751 0 : DOMString result;
9752 0 : self->GetBorderStyle(result, rv);
9753 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9754 0 : return false;
9755 : }
9756 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9757 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
9758 0 : return false;
9759 : }
9760 0 : return true;
9761 : }
9762 :
9763 : static bool
9764 0 : set_border_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
9765 : {
9766 0 : binding_detail::FakeString arg0;
9767 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
9768 0 : return false;
9769 : }
9770 0 : binding_detail::FastErrorResult rv;
9771 0 : self->SetBorderStyle(NonNullHelper(Constify(arg0)), rv);
9772 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9773 0 : return false;
9774 : }
9775 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9776 :
9777 0 : return true;
9778 : }
9779 :
9780 : static const JSJitInfo border_style_getterinfo = {
9781 : { (JSJitGetterOp)get_border_style },
9782 : { prototypes::id::CSS2Properties },
9783 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9784 : JSJitInfo::Getter,
9785 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9786 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
9787 : false, /* isInfallible. False in setters. */
9788 : false, /* isMovable. Not relevant for setters. */
9789 : false, /* isEliminatable. Not relevant for setters. */
9790 : false, /* isAlwaysInSlot. Only relevant for getters. */
9791 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9792 : false, /* isTypedMethod. Only relevant for methods. */
9793 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9794 : };
9795 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9796 : static_assert(0 < 1, "There is no slot for us");
9797 : static const JSJitInfo border_style_setterinfo = {
9798 : { (JSJitGetterOp)set_border_style },
9799 : { prototypes::id::CSS2Properties },
9800 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9801 : JSJitInfo::Setter,
9802 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9803 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
9804 : false, /* isInfallible. False in setters. */
9805 : false, /* isMovable. Not relevant for setters. */
9806 : false, /* isEliminatable. Not relevant for setters. */
9807 : false, /* isAlwaysInSlot. Only relevant for getters. */
9808 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9809 : false, /* isTypedMethod. Only relevant for methods. */
9810 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9811 : };
9812 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9813 : static_assert(0 < 1, "There is no slot for us");
9814 :
9815 : static bool
9816 0 : get_borderTop(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
9817 : {
9818 0 : binding_detail::FastErrorResult rv;
9819 0 : DOMString result;
9820 0 : self->GetBorderTop(result, rv);
9821 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9822 0 : return false;
9823 : }
9824 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9825 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
9826 0 : return false;
9827 : }
9828 0 : return true;
9829 : }
9830 :
9831 : static bool
9832 0 : set_borderTop(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
9833 : {
9834 0 : binding_detail::FakeString arg0;
9835 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
9836 0 : return false;
9837 : }
9838 0 : binding_detail::FastErrorResult rv;
9839 0 : self->SetBorderTop(NonNullHelper(Constify(arg0)), rv);
9840 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9841 0 : return false;
9842 : }
9843 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9844 :
9845 0 : return true;
9846 : }
9847 :
9848 : static const JSJitInfo borderTop_getterinfo = {
9849 : { (JSJitGetterOp)get_borderTop },
9850 : { prototypes::id::CSS2Properties },
9851 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9852 : JSJitInfo::Getter,
9853 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9854 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
9855 : false, /* isInfallible. False in setters. */
9856 : false, /* isMovable. Not relevant for setters. */
9857 : false, /* isEliminatable. Not relevant for setters. */
9858 : false, /* isAlwaysInSlot. Only relevant for getters. */
9859 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9860 : false, /* isTypedMethod. Only relevant for methods. */
9861 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9862 : };
9863 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9864 : static_assert(0 < 1, "There is no slot for us");
9865 : static const JSJitInfo borderTop_setterinfo = {
9866 : { (JSJitGetterOp)set_borderTop },
9867 : { prototypes::id::CSS2Properties },
9868 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9869 : JSJitInfo::Setter,
9870 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9871 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
9872 : false, /* isInfallible. False in setters. */
9873 : false, /* isMovable. Not relevant for setters. */
9874 : false, /* isEliminatable. Not relevant for setters. */
9875 : false, /* isAlwaysInSlot. Only relevant for getters. */
9876 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9877 : false, /* isTypedMethod. Only relevant for methods. */
9878 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9879 : };
9880 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9881 : static_assert(0 < 1, "There is no slot for us");
9882 :
9883 : static bool
9884 0 : get_border_top(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
9885 : {
9886 0 : binding_detail::FastErrorResult rv;
9887 0 : DOMString result;
9888 0 : self->GetBorderTop(result, rv);
9889 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9890 0 : return false;
9891 : }
9892 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9893 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
9894 0 : return false;
9895 : }
9896 0 : return true;
9897 : }
9898 :
9899 : static bool
9900 0 : set_border_top(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
9901 : {
9902 0 : binding_detail::FakeString arg0;
9903 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
9904 0 : return false;
9905 : }
9906 0 : binding_detail::FastErrorResult rv;
9907 0 : self->SetBorderTop(NonNullHelper(Constify(arg0)), rv);
9908 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9909 0 : return false;
9910 : }
9911 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9912 :
9913 0 : return true;
9914 : }
9915 :
9916 : static const JSJitInfo border_top_getterinfo = {
9917 : { (JSJitGetterOp)get_border_top },
9918 : { prototypes::id::CSS2Properties },
9919 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9920 : JSJitInfo::Getter,
9921 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9922 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
9923 : false, /* isInfallible. False in setters. */
9924 : false, /* isMovable. Not relevant for setters. */
9925 : false, /* isEliminatable. Not relevant for setters. */
9926 : false, /* isAlwaysInSlot. Only relevant for getters. */
9927 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9928 : false, /* isTypedMethod. Only relevant for methods. */
9929 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9930 : };
9931 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9932 : static_assert(0 < 1, "There is no slot for us");
9933 : static const JSJitInfo border_top_setterinfo = {
9934 : { (JSJitGetterOp)set_border_top },
9935 : { prototypes::id::CSS2Properties },
9936 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9937 : JSJitInfo::Setter,
9938 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9939 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
9940 : false, /* isInfallible. False in setters. */
9941 : false, /* isMovable. Not relevant for setters. */
9942 : false, /* isEliminatable. Not relevant for setters. */
9943 : false, /* isAlwaysInSlot. Only relevant for getters. */
9944 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9945 : false, /* isTypedMethod. Only relevant for methods. */
9946 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9947 : };
9948 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
9949 : static_assert(0 < 1, "There is no slot for us");
9950 :
9951 : static bool
9952 0 : get_borderTopColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
9953 : {
9954 0 : binding_detail::FastErrorResult rv;
9955 0 : DOMString result;
9956 0 : self->GetBorderTopColor(result, rv);
9957 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9958 0 : return false;
9959 : }
9960 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9961 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
9962 0 : return false;
9963 : }
9964 0 : return true;
9965 : }
9966 :
9967 : static bool
9968 0 : set_borderTopColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
9969 : {
9970 0 : binding_detail::FakeString arg0;
9971 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
9972 0 : return false;
9973 : }
9974 0 : binding_detail::FastErrorResult rv;
9975 0 : self->SetBorderTopColor(NonNullHelper(Constify(arg0)), rv);
9976 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
9977 0 : return false;
9978 : }
9979 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
9980 :
9981 0 : return true;
9982 : }
9983 :
9984 : static const JSJitInfo borderTopColor_getterinfo = {
9985 : { (JSJitGetterOp)get_borderTopColor },
9986 : { prototypes::id::CSS2Properties },
9987 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
9988 : JSJitInfo::Getter,
9989 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
9990 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
9991 : false, /* isInfallible. False in setters. */
9992 : false, /* isMovable. Not relevant for setters. */
9993 : false, /* isEliminatable. Not relevant for setters. */
9994 : false, /* isAlwaysInSlot. Only relevant for getters. */
9995 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
9996 : false, /* isTypedMethod. Only relevant for methods. */
9997 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
9998 : };
9999 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10000 : static_assert(0 < 1, "There is no slot for us");
10001 : static const JSJitInfo borderTopColor_setterinfo = {
10002 : { (JSJitGetterOp)set_borderTopColor },
10003 : { prototypes::id::CSS2Properties },
10004 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10005 : JSJitInfo::Setter,
10006 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10007 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
10008 : false, /* isInfallible. False in setters. */
10009 : false, /* isMovable. Not relevant for setters. */
10010 : false, /* isEliminatable. Not relevant for setters. */
10011 : false, /* isAlwaysInSlot. Only relevant for getters. */
10012 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10013 : false, /* isTypedMethod. Only relevant for methods. */
10014 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10015 : };
10016 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10017 : static_assert(0 < 1, "There is no slot for us");
10018 :
10019 : static bool
10020 0 : get_border_top_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
10021 : {
10022 0 : binding_detail::FastErrorResult rv;
10023 0 : DOMString result;
10024 0 : self->GetBorderTopColor(result, rv);
10025 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10026 0 : return false;
10027 : }
10028 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10029 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
10030 0 : return false;
10031 : }
10032 0 : return true;
10033 : }
10034 :
10035 : static bool
10036 0 : set_border_top_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
10037 : {
10038 0 : binding_detail::FakeString arg0;
10039 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
10040 0 : return false;
10041 : }
10042 0 : binding_detail::FastErrorResult rv;
10043 0 : self->SetBorderTopColor(NonNullHelper(Constify(arg0)), rv);
10044 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10045 0 : return false;
10046 : }
10047 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10048 :
10049 0 : return true;
10050 : }
10051 :
10052 : static const JSJitInfo border_top_color_getterinfo = {
10053 : { (JSJitGetterOp)get_border_top_color },
10054 : { prototypes::id::CSS2Properties },
10055 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10056 : JSJitInfo::Getter,
10057 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10058 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
10059 : false, /* isInfallible. False in setters. */
10060 : false, /* isMovable. Not relevant for setters. */
10061 : false, /* isEliminatable. Not relevant for setters. */
10062 : false, /* isAlwaysInSlot. Only relevant for getters. */
10063 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10064 : false, /* isTypedMethod. Only relevant for methods. */
10065 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10066 : };
10067 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10068 : static_assert(0 < 1, "There is no slot for us");
10069 : static const JSJitInfo border_top_color_setterinfo = {
10070 : { (JSJitGetterOp)set_border_top_color },
10071 : { prototypes::id::CSS2Properties },
10072 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10073 : JSJitInfo::Setter,
10074 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10075 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
10076 : false, /* isInfallible. False in setters. */
10077 : false, /* isMovable. Not relevant for setters. */
10078 : false, /* isEliminatable. Not relevant for setters. */
10079 : false, /* isAlwaysInSlot. Only relevant for getters. */
10080 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10081 : false, /* isTypedMethod. Only relevant for methods. */
10082 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10083 : };
10084 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10085 : static_assert(0 < 1, "There is no slot for us");
10086 :
10087 : static bool
10088 0 : get_MozBorderTopColors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
10089 : {
10090 0 : binding_detail::FastErrorResult rv;
10091 0 : DOMString result;
10092 0 : self->GetMozBorderTopColors(result, rv);
10093 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10094 0 : return false;
10095 : }
10096 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10097 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
10098 0 : return false;
10099 : }
10100 0 : return true;
10101 : }
10102 :
10103 : static bool
10104 0 : set_MozBorderTopColors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
10105 : {
10106 0 : binding_detail::FakeString arg0;
10107 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
10108 0 : return false;
10109 : }
10110 0 : binding_detail::FastErrorResult rv;
10111 0 : self->SetMozBorderTopColors(NonNullHelper(Constify(arg0)), rv);
10112 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10113 0 : return false;
10114 : }
10115 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10116 :
10117 0 : return true;
10118 : }
10119 :
10120 : static const JSJitInfo MozBorderTopColors_getterinfo = {
10121 : { (JSJitGetterOp)get_MozBorderTopColors },
10122 : { prototypes::id::CSS2Properties },
10123 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10124 : JSJitInfo::Getter,
10125 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10126 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
10127 : false, /* isInfallible. False in setters. */
10128 : false, /* isMovable. Not relevant for setters. */
10129 : false, /* isEliminatable. Not relevant for setters. */
10130 : false, /* isAlwaysInSlot. Only relevant for getters. */
10131 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10132 : false, /* isTypedMethod. Only relevant for methods. */
10133 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10134 : };
10135 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10136 : static_assert(0 < 1, "There is no slot for us");
10137 : static const JSJitInfo MozBorderTopColors_setterinfo = {
10138 : { (JSJitGetterOp)set_MozBorderTopColors },
10139 : { prototypes::id::CSS2Properties },
10140 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10141 : JSJitInfo::Setter,
10142 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10143 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
10144 : false, /* isInfallible. False in setters. */
10145 : false, /* isMovable. Not relevant for setters. */
10146 : false, /* isEliminatable. Not relevant for setters. */
10147 : false, /* isAlwaysInSlot. Only relevant for getters. */
10148 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10149 : false, /* isTypedMethod. Only relevant for methods. */
10150 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10151 : };
10152 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10153 : static_assert(0 < 1, "There is no slot for us");
10154 :
10155 : static bool
10156 0 : get__moz_border_top_colors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
10157 : {
10158 0 : binding_detail::FastErrorResult rv;
10159 0 : DOMString result;
10160 0 : self->GetMozBorderTopColors(result, rv);
10161 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10162 0 : return false;
10163 : }
10164 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10165 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
10166 0 : return false;
10167 : }
10168 0 : return true;
10169 : }
10170 :
10171 : static bool
10172 0 : set__moz_border_top_colors(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
10173 : {
10174 0 : binding_detail::FakeString arg0;
10175 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
10176 0 : return false;
10177 : }
10178 0 : binding_detail::FastErrorResult rv;
10179 0 : self->SetMozBorderTopColors(NonNullHelper(Constify(arg0)), rv);
10180 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10181 0 : return false;
10182 : }
10183 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10184 :
10185 0 : return true;
10186 : }
10187 :
10188 : static const JSJitInfo _moz_border_top_colors_getterinfo = {
10189 : { (JSJitGetterOp)get__moz_border_top_colors },
10190 : { prototypes::id::CSS2Properties },
10191 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10192 : JSJitInfo::Getter,
10193 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10194 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
10195 : false, /* isInfallible. False in setters. */
10196 : false, /* isMovable. Not relevant for setters. */
10197 : false, /* isEliminatable. Not relevant for setters. */
10198 : false, /* isAlwaysInSlot. Only relevant for getters. */
10199 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10200 : false, /* isTypedMethod. Only relevant for methods. */
10201 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10202 : };
10203 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10204 : static_assert(0 < 1, "There is no slot for us");
10205 : static const JSJitInfo _moz_border_top_colors_setterinfo = {
10206 : { (JSJitGetterOp)set__moz_border_top_colors },
10207 : { prototypes::id::CSS2Properties },
10208 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10209 : JSJitInfo::Setter,
10210 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10211 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
10212 : false, /* isInfallible. False in setters. */
10213 : false, /* isMovable. Not relevant for setters. */
10214 : false, /* isEliminatable. Not relevant for setters. */
10215 : false, /* isAlwaysInSlot. Only relevant for getters. */
10216 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10217 : false, /* isTypedMethod. Only relevant for methods. */
10218 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10219 : };
10220 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10221 : static_assert(0 < 1, "There is no slot for us");
10222 :
10223 : static bool
10224 0 : get_borderTopLeftRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
10225 : {
10226 0 : binding_detail::FastErrorResult rv;
10227 0 : DOMString result;
10228 0 : self->GetBorderTopLeftRadius(result, rv);
10229 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10230 0 : return false;
10231 : }
10232 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10233 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
10234 0 : return false;
10235 : }
10236 0 : return true;
10237 : }
10238 :
10239 : static bool
10240 0 : set_borderTopLeftRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
10241 : {
10242 0 : binding_detail::FakeString arg0;
10243 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
10244 0 : return false;
10245 : }
10246 0 : binding_detail::FastErrorResult rv;
10247 0 : self->SetBorderTopLeftRadius(NonNullHelper(Constify(arg0)), rv);
10248 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10249 0 : return false;
10250 : }
10251 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10252 :
10253 0 : return true;
10254 : }
10255 :
10256 : static const JSJitInfo borderTopLeftRadius_getterinfo = {
10257 : { (JSJitGetterOp)get_borderTopLeftRadius },
10258 : { prototypes::id::CSS2Properties },
10259 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10260 : JSJitInfo::Getter,
10261 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10262 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
10263 : false, /* isInfallible. False in setters. */
10264 : false, /* isMovable. Not relevant for setters. */
10265 : false, /* isEliminatable. Not relevant for setters. */
10266 : false, /* isAlwaysInSlot. Only relevant for getters. */
10267 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10268 : false, /* isTypedMethod. Only relevant for methods. */
10269 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10270 : };
10271 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10272 : static_assert(0 < 1, "There is no slot for us");
10273 : static const JSJitInfo borderTopLeftRadius_setterinfo = {
10274 : { (JSJitGetterOp)set_borderTopLeftRadius },
10275 : { prototypes::id::CSS2Properties },
10276 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10277 : JSJitInfo::Setter,
10278 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10279 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
10280 : false, /* isInfallible. False in setters. */
10281 : false, /* isMovable. Not relevant for setters. */
10282 : false, /* isEliminatable. Not relevant for setters. */
10283 : false, /* isAlwaysInSlot. Only relevant for getters. */
10284 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10285 : false, /* isTypedMethod. Only relevant for methods. */
10286 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10287 : };
10288 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10289 : static_assert(0 < 1, "There is no slot for us");
10290 :
10291 : static bool
10292 0 : get_border_top_left_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
10293 : {
10294 0 : binding_detail::FastErrorResult rv;
10295 0 : DOMString result;
10296 0 : self->GetBorderTopLeftRadius(result, rv);
10297 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10298 0 : return false;
10299 : }
10300 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10301 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
10302 0 : return false;
10303 : }
10304 0 : return true;
10305 : }
10306 :
10307 : static bool
10308 0 : set_border_top_left_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
10309 : {
10310 0 : binding_detail::FakeString arg0;
10311 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
10312 0 : return false;
10313 : }
10314 0 : binding_detail::FastErrorResult rv;
10315 0 : self->SetBorderTopLeftRadius(NonNullHelper(Constify(arg0)), rv);
10316 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10317 0 : return false;
10318 : }
10319 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10320 :
10321 0 : return true;
10322 : }
10323 :
10324 : static const JSJitInfo border_top_left_radius_getterinfo = {
10325 : { (JSJitGetterOp)get_border_top_left_radius },
10326 : { prototypes::id::CSS2Properties },
10327 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10328 : JSJitInfo::Getter,
10329 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10330 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
10331 : false, /* isInfallible. False in setters. */
10332 : false, /* isMovable. Not relevant for setters. */
10333 : false, /* isEliminatable. Not relevant for setters. */
10334 : false, /* isAlwaysInSlot. Only relevant for getters. */
10335 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10336 : false, /* isTypedMethod. Only relevant for methods. */
10337 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10338 : };
10339 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10340 : static_assert(0 < 1, "There is no slot for us");
10341 : static const JSJitInfo border_top_left_radius_setterinfo = {
10342 : { (JSJitGetterOp)set_border_top_left_radius },
10343 : { prototypes::id::CSS2Properties },
10344 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10345 : JSJitInfo::Setter,
10346 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10347 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
10348 : false, /* isInfallible. False in setters. */
10349 : false, /* isMovable. Not relevant for setters. */
10350 : false, /* isEliminatable. Not relevant for setters. */
10351 : false, /* isAlwaysInSlot. Only relevant for getters. */
10352 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10353 : false, /* isTypedMethod. Only relevant for methods. */
10354 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10355 : };
10356 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10357 : static_assert(0 < 1, "There is no slot for us");
10358 :
10359 : static bool
10360 0 : get_borderTopRightRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
10361 : {
10362 0 : binding_detail::FastErrorResult rv;
10363 0 : DOMString result;
10364 0 : self->GetBorderTopRightRadius(result, rv);
10365 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10366 0 : return false;
10367 : }
10368 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10369 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
10370 0 : return false;
10371 : }
10372 0 : return true;
10373 : }
10374 :
10375 : static bool
10376 0 : set_borderTopRightRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
10377 : {
10378 0 : binding_detail::FakeString arg0;
10379 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
10380 0 : return false;
10381 : }
10382 0 : binding_detail::FastErrorResult rv;
10383 0 : self->SetBorderTopRightRadius(NonNullHelper(Constify(arg0)), rv);
10384 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10385 0 : return false;
10386 : }
10387 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10388 :
10389 0 : return true;
10390 : }
10391 :
10392 : static const JSJitInfo borderTopRightRadius_getterinfo = {
10393 : { (JSJitGetterOp)get_borderTopRightRadius },
10394 : { prototypes::id::CSS2Properties },
10395 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10396 : JSJitInfo::Getter,
10397 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10398 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
10399 : false, /* isInfallible. False in setters. */
10400 : false, /* isMovable. Not relevant for setters. */
10401 : false, /* isEliminatable. Not relevant for setters. */
10402 : false, /* isAlwaysInSlot. Only relevant for getters. */
10403 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10404 : false, /* isTypedMethod. Only relevant for methods. */
10405 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10406 : };
10407 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10408 : static_assert(0 < 1, "There is no slot for us");
10409 : static const JSJitInfo borderTopRightRadius_setterinfo = {
10410 : { (JSJitGetterOp)set_borderTopRightRadius },
10411 : { prototypes::id::CSS2Properties },
10412 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10413 : JSJitInfo::Setter,
10414 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10415 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
10416 : false, /* isInfallible. False in setters. */
10417 : false, /* isMovable. Not relevant for setters. */
10418 : false, /* isEliminatable. Not relevant for setters. */
10419 : false, /* isAlwaysInSlot. Only relevant for getters. */
10420 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10421 : false, /* isTypedMethod. Only relevant for methods. */
10422 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10423 : };
10424 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10425 : static_assert(0 < 1, "There is no slot for us");
10426 :
10427 : static bool
10428 0 : get_border_top_right_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
10429 : {
10430 0 : binding_detail::FastErrorResult rv;
10431 0 : DOMString result;
10432 0 : self->GetBorderTopRightRadius(result, rv);
10433 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10434 0 : return false;
10435 : }
10436 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10437 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
10438 0 : return false;
10439 : }
10440 0 : return true;
10441 : }
10442 :
10443 : static bool
10444 0 : set_border_top_right_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
10445 : {
10446 0 : binding_detail::FakeString arg0;
10447 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
10448 0 : return false;
10449 : }
10450 0 : binding_detail::FastErrorResult rv;
10451 0 : self->SetBorderTopRightRadius(NonNullHelper(Constify(arg0)), rv);
10452 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10453 0 : return false;
10454 : }
10455 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10456 :
10457 0 : return true;
10458 : }
10459 :
10460 : static const JSJitInfo border_top_right_radius_getterinfo = {
10461 : { (JSJitGetterOp)get_border_top_right_radius },
10462 : { prototypes::id::CSS2Properties },
10463 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10464 : JSJitInfo::Getter,
10465 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10466 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
10467 : false, /* isInfallible. False in setters. */
10468 : false, /* isMovable. Not relevant for setters. */
10469 : false, /* isEliminatable. Not relevant for setters. */
10470 : false, /* isAlwaysInSlot. Only relevant for getters. */
10471 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10472 : false, /* isTypedMethod. Only relevant for methods. */
10473 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10474 : };
10475 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10476 : static_assert(0 < 1, "There is no slot for us");
10477 : static const JSJitInfo border_top_right_radius_setterinfo = {
10478 : { (JSJitGetterOp)set_border_top_right_radius },
10479 : { prototypes::id::CSS2Properties },
10480 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10481 : JSJitInfo::Setter,
10482 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10483 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
10484 : false, /* isInfallible. False in setters. */
10485 : false, /* isMovable. Not relevant for setters. */
10486 : false, /* isEliminatable. Not relevant for setters. */
10487 : false, /* isAlwaysInSlot. Only relevant for getters. */
10488 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10489 : false, /* isTypedMethod. Only relevant for methods. */
10490 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10491 : };
10492 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10493 : static_assert(0 < 1, "There is no slot for us");
10494 :
10495 : static bool
10496 0 : get_borderTopStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
10497 : {
10498 0 : binding_detail::FastErrorResult rv;
10499 0 : DOMString result;
10500 0 : self->GetBorderTopStyle(result, rv);
10501 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10502 0 : return false;
10503 : }
10504 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10505 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
10506 0 : return false;
10507 : }
10508 0 : return true;
10509 : }
10510 :
10511 : static bool
10512 0 : set_borderTopStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
10513 : {
10514 0 : binding_detail::FakeString arg0;
10515 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
10516 0 : return false;
10517 : }
10518 0 : binding_detail::FastErrorResult rv;
10519 0 : self->SetBorderTopStyle(NonNullHelper(Constify(arg0)), rv);
10520 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10521 0 : return false;
10522 : }
10523 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10524 :
10525 0 : return true;
10526 : }
10527 :
10528 : static const JSJitInfo borderTopStyle_getterinfo = {
10529 : { (JSJitGetterOp)get_borderTopStyle },
10530 : { prototypes::id::CSS2Properties },
10531 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10532 : JSJitInfo::Getter,
10533 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10534 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
10535 : false, /* isInfallible. False in setters. */
10536 : false, /* isMovable. Not relevant for setters. */
10537 : false, /* isEliminatable. Not relevant for setters. */
10538 : false, /* isAlwaysInSlot. Only relevant for getters. */
10539 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10540 : false, /* isTypedMethod. Only relevant for methods. */
10541 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10542 : };
10543 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10544 : static_assert(0 < 1, "There is no slot for us");
10545 : static const JSJitInfo borderTopStyle_setterinfo = {
10546 : { (JSJitGetterOp)set_borderTopStyle },
10547 : { prototypes::id::CSS2Properties },
10548 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10549 : JSJitInfo::Setter,
10550 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10551 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
10552 : false, /* isInfallible. False in setters. */
10553 : false, /* isMovable. Not relevant for setters. */
10554 : false, /* isEliminatable. Not relevant for setters. */
10555 : false, /* isAlwaysInSlot. Only relevant for getters. */
10556 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10557 : false, /* isTypedMethod. Only relevant for methods. */
10558 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10559 : };
10560 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10561 : static_assert(0 < 1, "There is no slot for us");
10562 :
10563 : static bool
10564 0 : get_border_top_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
10565 : {
10566 0 : binding_detail::FastErrorResult rv;
10567 0 : DOMString result;
10568 0 : self->GetBorderTopStyle(result, rv);
10569 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10570 0 : return false;
10571 : }
10572 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10573 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
10574 0 : return false;
10575 : }
10576 0 : return true;
10577 : }
10578 :
10579 : static bool
10580 0 : set_border_top_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
10581 : {
10582 0 : binding_detail::FakeString arg0;
10583 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
10584 0 : return false;
10585 : }
10586 0 : binding_detail::FastErrorResult rv;
10587 0 : self->SetBorderTopStyle(NonNullHelper(Constify(arg0)), rv);
10588 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10589 0 : return false;
10590 : }
10591 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10592 :
10593 0 : return true;
10594 : }
10595 :
10596 : static const JSJitInfo border_top_style_getterinfo = {
10597 : { (JSJitGetterOp)get_border_top_style },
10598 : { prototypes::id::CSS2Properties },
10599 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10600 : JSJitInfo::Getter,
10601 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10602 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
10603 : false, /* isInfallible. False in setters. */
10604 : false, /* isMovable. Not relevant for setters. */
10605 : false, /* isEliminatable. Not relevant for setters. */
10606 : false, /* isAlwaysInSlot. Only relevant for getters. */
10607 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10608 : false, /* isTypedMethod. Only relevant for methods. */
10609 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10610 : };
10611 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10612 : static_assert(0 < 1, "There is no slot for us");
10613 : static const JSJitInfo border_top_style_setterinfo = {
10614 : { (JSJitGetterOp)set_border_top_style },
10615 : { prototypes::id::CSS2Properties },
10616 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10617 : JSJitInfo::Setter,
10618 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10619 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
10620 : false, /* isInfallible. False in setters. */
10621 : false, /* isMovable. Not relevant for setters. */
10622 : false, /* isEliminatable. Not relevant for setters. */
10623 : false, /* isAlwaysInSlot. Only relevant for getters. */
10624 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10625 : false, /* isTypedMethod. Only relevant for methods. */
10626 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10627 : };
10628 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10629 : static_assert(0 < 1, "There is no slot for us");
10630 :
10631 : static bool
10632 0 : get_borderTopWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
10633 : {
10634 0 : binding_detail::FastErrorResult rv;
10635 0 : DOMString result;
10636 0 : self->GetBorderTopWidth(result, rv);
10637 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10638 0 : return false;
10639 : }
10640 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10641 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
10642 0 : return false;
10643 : }
10644 0 : return true;
10645 : }
10646 :
10647 : static bool
10648 0 : set_borderTopWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
10649 : {
10650 0 : binding_detail::FakeString arg0;
10651 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
10652 0 : return false;
10653 : }
10654 0 : binding_detail::FastErrorResult rv;
10655 0 : self->SetBorderTopWidth(NonNullHelper(Constify(arg0)), rv);
10656 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10657 0 : return false;
10658 : }
10659 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10660 :
10661 0 : return true;
10662 : }
10663 :
10664 : static const JSJitInfo borderTopWidth_getterinfo = {
10665 : { (JSJitGetterOp)get_borderTopWidth },
10666 : { prototypes::id::CSS2Properties },
10667 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10668 : JSJitInfo::Getter,
10669 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10670 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
10671 : false, /* isInfallible. False in setters. */
10672 : false, /* isMovable. Not relevant for setters. */
10673 : false, /* isEliminatable. Not relevant for setters. */
10674 : false, /* isAlwaysInSlot. Only relevant for getters. */
10675 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10676 : false, /* isTypedMethod. Only relevant for methods. */
10677 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10678 : };
10679 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10680 : static_assert(0 < 1, "There is no slot for us");
10681 : static const JSJitInfo borderTopWidth_setterinfo = {
10682 : { (JSJitGetterOp)set_borderTopWidth },
10683 : { prototypes::id::CSS2Properties },
10684 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10685 : JSJitInfo::Setter,
10686 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10687 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
10688 : false, /* isInfallible. False in setters. */
10689 : false, /* isMovable. Not relevant for setters. */
10690 : false, /* isEliminatable. Not relevant for setters. */
10691 : false, /* isAlwaysInSlot. Only relevant for getters. */
10692 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10693 : false, /* isTypedMethod. Only relevant for methods. */
10694 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10695 : };
10696 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10697 : static_assert(0 < 1, "There is no slot for us");
10698 :
10699 : static bool
10700 0 : get_border_top_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
10701 : {
10702 0 : binding_detail::FastErrorResult rv;
10703 0 : DOMString result;
10704 0 : self->GetBorderTopWidth(result, rv);
10705 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10706 0 : return false;
10707 : }
10708 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10709 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
10710 0 : return false;
10711 : }
10712 0 : return true;
10713 : }
10714 :
10715 : static bool
10716 0 : set_border_top_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
10717 : {
10718 0 : binding_detail::FakeString arg0;
10719 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
10720 0 : return false;
10721 : }
10722 0 : binding_detail::FastErrorResult rv;
10723 0 : self->SetBorderTopWidth(NonNullHelper(Constify(arg0)), rv);
10724 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10725 0 : return false;
10726 : }
10727 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10728 :
10729 0 : return true;
10730 : }
10731 :
10732 : static const JSJitInfo border_top_width_getterinfo = {
10733 : { (JSJitGetterOp)get_border_top_width },
10734 : { prototypes::id::CSS2Properties },
10735 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10736 : JSJitInfo::Getter,
10737 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10738 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
10739 : false, /* isInfallible. False in setters. */
10740 : false, /* isMovable. Not relevant for setters. */
10741 : false, /* isEliminatable. Not relevant for setters. */
10742 : false, /* isAlwaysInSlot. Only relevant for getters. */
10743 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10744 : false, /* isTypedMethod. Only relevant for methods. */
10745 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10746 : };
10747 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10748 : static_assert(0 < 1, "There is no slot for us");
10749 : static const JSJitInfo border_top_width_setterinfo = {
10750 : { (JSJitGetterOp)set_border_top_width },
10751 : { prototypes::id::CSS2Properties },
10752 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10753 : JSJitInfo::Setter,
10754 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10755 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
10756 : false, /* isInfallible. False in setters. */
10757 : false, /* isMovable. Not relevant for setters. */
10758 : false, /* isEliminatable. Not relevant for setters. */
10759 : false, /* isAlwaysInSlot. Only relevant for getters. */
10760 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10761 : false, /* isTypedMethod. Only relevant for methods. */
10762 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10763 : };
10764 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10765 : static_assert(0 < 1, "There is no slot for us");
10766 :
10767 : static bool
10768 0 : get_borderWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
10769 : {
10770 0 : binding_detail::FastErrorResult rv;
10771 0 : DOMString result;
10772 0 : self->GetBorderWidth(result, rv);
10773 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10774 0 : return false;
10775 : }
10776 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10777 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
10778 0 : return false;
10779 : }
10780 0 : return true;
10781 : }
10782 :
10783 : static bool
10784 0 : set_borderWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
10785 : {
10786 0 : binding_detail::FakeString arg0;
10787 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
10788 0 : return false;
10789 : }
10790 0 : binding_detail::FastErrorResult rv;
10791 0 : self->SetBorderWidth(NonNullHelper(Constify(arg0)), rv);
10792 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10793 0 : return false;
10794 : }
10795 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10796 :
10797 0 : return true;
10798 : }
10799 :
10800 : static const JSJitInfo borderWidth_getterinfo = {
10801 : { (JSJitGetterOp)get_borderWidth },
10802 : { prototypes::id::CSS2Properties },
10803 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10804 : JSJitInfo::Getter,
10805 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10806 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
10807 : false, /* isInfallible. False in setters. */
10808 : false, /* isMovable. Not relevant for setters. */
10809 : false, /* isEliminatable. Not relevant for setters. */
10810 : false, /* isAlwaysInSlot. Only relevant for getters. */
10811 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10812 : false, /* isTypedMethod. Only relevant for methods. */
10813 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10814 : };
10815 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10816 : static_assert(0 < 1, "There is no slot for us");
10817 : static const JSJitInfo borderWidth_setterinfo = {
10818 : { (JSJitGetterOp)set_borderWidth },
10819 : { prototypes::id::CSS2Properties },
10820 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10821 : JSJitInfo::Setter,
10822 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10823 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
10824 : false, /* isInfallible. False in setters. */
10825 : false, /* isMovable. Not relevant for setters. */
10826 : false, /* isEliminatable. Not relevant for setters. */
10827 : false, /* isAlwaysInSlot. Only relevant for getters. */
10828 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10829 : false, /* isTypedMethod. Only relevant for methods. */
10830 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10831 : };
10832 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10833 : static_assert(0 < 1, "There is no slot for us");
10834 :
10835 : static bool
10836 0 : get_border_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
10837 : {
10838 0 : binding_detail::FastErrorResult rv;
10839 0 : DOMString result;
10840 0 : self->GetBorderWidth(result, rv);
10841 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10842 0 : return false;
10843 : }
10844 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10845 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
10846 0 : return false;
10847 : }
10848 0 : return true;
10849 : }
10850 :
10851 : static bool
10852 0 : set_border_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
10853 : {
10854 0 : binding_detail::FakeString arg0;
10855 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
10856 0 : return false;
10857 : }
10858 0 : binding_detail::FastErrorResult rv;
10859 0 : self->SetBorderWidth(NonNullHelper(Constify(arg0)), rv);
10860 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10861 0 : return false;
10862 : }
10863 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10864 :
10865 0 : return true;
10866 : }
10867 :
10868 : static const JSJitInfo border_width_getterinfo = {
10869 : { (JSJitGetterOp)get_border_width },
10870 : { prototypes::id::CSS2Properties },
10871 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10872 : JSJitInfo::Getter,
10873 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10874 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
10875 : false, /* isInfallible. False in setters. */
10876 : false, /* isMovable. Not relevant for setters. */
10877 : false, /* isEliminatable. Not relevant for setters. */
10878 : false, /* isAlwaysInSlot. Only relevant for getters. */
10879 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10880 : false, /* isTypedMethod. Only relevant for methods. */
10881 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10882 : };
10883 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10884 : static_assert(0 < 1, "There is no slot for us");
10885 : static const JSJitInfo border_width_setterinfo = {
10886 : { (JSJitGetterOp)set_border_width },
10887 : { prototypes::id::CSS2Properties },
10888 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10889 : JSJitInfo::Setter,
10890 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10891 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
10892 : false, /* isInfallible. False in setters. */
10893 : false, /* isMovable. Not relevant for setters. */
10894 : false, /* isEliminatable. Not relevant for setters. */
10895 : false, /* isAlwaysInSlot. Only relevant for getters. */
10896 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10897 : false, /* isTypedMethod. Only relevant for methods. */
10898 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10899 : };
10900 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10901 : static_assert(0 < 1, "There is no slot for us");
10902 :
10903 : static bool
10904 0 : get_bottom(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
10905 : {
10906 0 : binding_detail::FastErrorResult rv;
10907 0 : DOMString result;
10908 0 : self->GetBottom(result, rv);
10909 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10910 0 : return false;
10911 : }
10912 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10913 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
10914 0 : return false;
10915 : }
10916 0 : return true;
10917 : }
10918 :
10919 : static bool
10920 0 : set_bottom(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
10921 : {
10922 0 : binding_detail::FakeString arg0;
10923 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
10924 0 : return false;
10925 : }
10926 0 : binding_detail::FastErrorResult rv;
10927 0 : self->SetBottom(NonNullHelper(Constify(arg0)), rv);
10928 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10929 0 : return false;
10930 : }
10931 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10932 :
10933 0 : return true;
10934 : }
10935 :
10936 : static const JSJitInfo bottom_getterinfo = {
10937 : { (JSJitGetterOp)get_bottom },
10938 : { prototypes::id::CSS2Properties },
10939 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10940 : JSJitInfo::Getter,
10941 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10942 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
10943 : false, /* isInfallible. False in setters. */
10944 : false, /* isMovable. Not relevant for setters. */
10945 : false, /* isEliminatable. Not relevant for setters. */
10946 : false, /* isAlwaysInSlot. Only relevant for getters. */
10947 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10948 : false, /* isTypedMethod. Only relevant for methods. */
10949 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10950 : };
10951 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10952 : static_assert(0 < 1, "There is no slot for us");
10953 : static const JSJitInfo bottom_setterinfo = {
10954 : { (JSJitGetterOp)set_bottom },
10955 : { prototypes::id::CSS2Properties },
10956 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
10957 : JSJitInfo::Setter,
10958 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
10959 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
10960 : false, /* isInfallible. False in setters. */
10961 : false, /* isMovable. Not relevant for setters. */
10962 : false, /* isEliminatable. Not relevant for setters. */
10963 : false, /* isAlwaysInSlot. Only relevant for getters. */
10964 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
10965 : false, /* isTypedMethod. Only relevant for methods. */
10966 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
10967 : };
10968 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
10969 : static_assert(0 < 1, "There is no slot for us");
10970 :
10971 : static bool
10972 0 : get_MozBoxAlign(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
10973 : {
10974 0 : binding_detail::FastErrorResult rv;
10975 0 : DOMString result;
10976 0 : self->GetMozBoxAlign(result, rv);
10977 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10978 0 : return false;
10979 : }
10980 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
10981 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
10982 0 : return false;
10983 : }
10984 0 : return true;
10985 : }
10986 :
10987 : static bool
10988 0 : set_MozBoxAlign(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
10989 : {
10990 0 : binding_detail::FakeString arg0;
10991 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
10992 0 : return false;
10993 : }
10994 0 : binding_detail::FastErrorResult rv;
10995 0 : self->SetMozBoxAlign(NonNullHelper(Constify(arg0)), rv);
10996 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
10997 0 : return false;
10998 : }
10999 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11000 :
11001 0 : return true;
11002 : }
11003 :
11004 : static const JSJitInfo MozBoxAlign_getterinfo = {
11005 : { (JSJitGetterOp)get_MozBoxAlign },
11006 : { prototypes::id::CSS2Properties },
11007 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11008 : JSJitInfo::Getter,
11009 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11010 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
11011 : false, /* isInfallible. False in setters. */
11012 : false, /* isMovable. Not relevant for setters. */
11013 : false, /* isEliminatable. Not relevant for setters. */
11014 : false, /* isAlwaysInSlot. Only relevant for getters. */
11015 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11016 : false, /* isTypedMethod. Only relevant for methods. */
11017 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11018 : };
11019 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11020 : static_assert(0 < 1, "There is no slot for us");
11021 : static const JSJitInfo MozBoxAlign_setterinfo = {
11022 : { (JSJitGetterOp)set_MozBoxAlign },
11023 : { prototypes::id::CSS2Properties },
11024 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11025 : JSJitInfo::Setter,
11026 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11027 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
11028 : false, /* isInfallible. False in setters. */
11029 : false, /* isMovable. Not relevant for setters. */
11030 : false, /* isEliminatable. Not relevant for setters. */
11031 : false, /* isAlwaysInSlot. Only relevant for getters. */
11032 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11033 : false, /* isTypedMethod. Only relevant for methods. */
11034 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11035 : };
11036 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11037 : static_assert(0 < 1, "There is no slot for us");
11038 :
11039 : static bool
11040 0 : get__moz_box_align(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
11041 : {
11042 0 : binding_detail::FastErrorResult rv;
11043 0 : DOMString result;
11044 0 : self->GetMozBoxAlign(result, rv);
11045 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11046 0 : return false;
11047 : }
11048 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11049 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
11050 0 : return false;
11051 : }
11052 0 : return true;
11053 : }
11054 :
11055 : static bool
11056 0 : set__moz_box_align(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
11057 : {
11058 0 : binding_detail::FakeString arg0;
11059 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
11060 0 : return false;
11061 : }
11062 0 : binding_detail::FastErrorResult rv;
11063 0 : self->SetMozBoxAlign(NonNullHelper(Constify(arg0)), rv);
11064 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11065 0 : return false;
11066 : }
11067 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11068 :
11069 0 : return true;
11070 : }
11071 :
11072 : static const JSJitInfo _moz_box_align_getterinfo = {
11073 : { (JSJitGetterOp)get__moz_box_align },
11074 : { prototypes::id::CSS2Properties },
11075 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11076 : JSJitInfo::Getter,
11077 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11078 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
11079 : false, /* isInfallible. False in setters. */
11080 : false, /* isMovable. Not relevant for setters. */
11081 : false, /* isEliminatable. Not relevant for setters. */
11082 : false, /* isAlwaysInSlot. Only relevant for getters. */
11083 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11084 : false, /* isTypedMethod. Only relevant for methods. */
11085 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11086 : };
11087 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11088 : static_assert(0 < 1, "There is no slot for us");
11089 : static const JSJitInfo _moz_box_align_setterinfo = {
11090 : { (JSJitGetterOp)set__moz_box_align },
11091 : { prototypes::id::CSS2Properties },
11092 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11093 : JSJitInfo::Setter,
11094 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11095 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
11096 : false, /* isInfallible. False in setters. */
11097 : false, /* isMovable. Not relevant for setters. */
11098 : false, /* isEliminatable. Not relevant for setters. */
11099 : false, /* isAlwaysInSlot. Only relevant for getters. */
11100 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11101 : false, /* isTypedMethod. Only relevant for methods. */
11102 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11103 : };
11104 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11105 : static_assert(0 < 1, "There is no slot for us");
11106 :
11107 : static bool
11108 0 : get_boxDecorationBreak(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
11109 : {
11110 0 : binding_detail::FastErrorResult rv;
11111 0 : DOMString result;
11112 0 : self->GetBoxDecorationBreak(result, rv);
11113 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11114 0 : return false;
11115 : }
11116 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11117 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
11118 0 : return false;
11119 : }
11120 0 : return true;
11121 : }
11122 :
11123 : static bool
11124 0 : set_boxDecorationBreak(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
11125 : {
11126 0 : binding_detail::FakeString arg0;
11127 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
11128 0 : return false;
11129 : }
11130 0 : binding_detail::FastErrorResult rv;
11131 0 : self->SetBoxDecorationBreak(NonNullHelper(Constify(arg0)), rv);
11132 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11133 0 : return false;
11134 : }
11135 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11136 :
11137 0 : return true;
11138 : }
11139 :
11140 : static const JSJitInfo boxDecorationBreak_getterinfo = {
11141 : { (JSJitGetterOp)get_boxDecorationBreak },
11142 : { prototypes::id::CSS2Properties },
11143 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11144 : JSJitInfo::Getter,
11145 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11146 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
11147 : false, /* isInfallible. False in setters. */
11148 : false, /* isMovable. Not relevant for setters. */
11149 : false, /* isEliminatable. Not relevant for setters. */
11150 : false, /* isAlwaysInSlot. Only relevant for getters. */
11151 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11152 : false, /* isTypedMethod. Only relevant for methods. */
11153 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11154 : };
11155 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11156 : static_assert(0 < 1, "There is no slot for us");
11157 : static const JSJitInfo boxDecorationBreak_setterinfo = {
11158 : { (JSJitGetterOp)set_boxDecorationBreak },
11159 : { prototypes::id::CSS2Properties },
11160 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11161 : JSJitInfo::Setter,
11162 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11163 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
11164 : false, /* isInfallible. False in setters. */
11165 : false, /* isMovable. Not relevant for setters. */
11166 : false, /* isEliminatable. Not relevant for setters. */
11167 : false, /* isAlwaysInSlot. Only relevant for getters. */
11168 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11169 : false, /* isTypedMethod. Only relevant for methods. */
11170 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11171 : };
11172 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11173 : static_assert(0 < 1, "There is no slot for us");
11174 :
11175 : static bool
11176 0 : get_box_decoration_break(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
11177 : {
11178 0 : binding_detail::FastErrorResult rv;
11179 0 : DOMString result;
11180 0 : self->GetBoxDecorationBreak(result, rv);
11181 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11182 0 : return false;
11183 : }
11184 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11185 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
11186 0 : return false;
11187 : }
11188 0 : return true;
11189 : }
11190 :
11191 : static bool
11192 0 : set_box_decoration_break(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
11193 : {
11194 0 : binding_detail::FakeString arg0;
11195 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
11196 0 : return false;
11197 : }
11198 0 : binding_detail::FastErrorResult rv;
11199 0 : self->SetBoxDecorationBreak(NonNullHelper(Constify(arg0)), rv);
11200 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11201 0 : return false;
11202 : }
11203 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11204 :
11205 0 : return true;
11206 : }
11207 :
11208 : static const JSJitInfo box_decoration_break_getterinfo = {
11209 : { (JSJitGetterOp)get_box_decoration_break },
11210 : { prototypes::id::CSS2Properties },
11211 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11212 : JSJitInfo::Getter,
11213 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11214 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
11215 : false, /* isInfallible. False in setters. */
11216 : false, /* isMovable. Not relevant for setters. */
11217 : false, /* isEliminatable. Not relevant for setters. */
11218 : false, /* isAlwaysInSlot. Only relevant for getters. */
11219 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11220 : false, /* isTypedMethod. Only relevant for methods. */
11221 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11222 : };
11223 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11224 : static_assert(0 < 1, "There is no slot for us");
11225 : static const JSJitInfo box_decoration_break_setterinfo = {
11226 : { (JSJitGetterOp)set_box_decoration_break },
11227 : { prototypes::id::CSS2Properties },
11228 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11229 : JSJitInfo::Setter,
11230 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11231 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
11232 : false, /* isInfallible. False in setters. */
11233 : false, /* isMovable. Not relevant for setters. */
11234 : false, /* isEliminatable. Not relevant for setters. */
11235 : false, /* isAlwaysInSlot. Only relevant for getters. */
11236 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11237 : false, /* isTypedMethod. Only relevant for methods. */
11238 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11239 : };
11240 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11241 : static_assert(0 < 1, "There is no slot for us");
11242 :
11243 : static bool
11244 0 : get_MozBoxDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
11245 : {
11246 0 : binding_detail::FastErrorResult rv;
11247 0 : DOMString result;
11248 0 : self->GetMozBoxDirection(result, rv);
11249 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11250 0 : return false;
11251 : }
11252 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11253 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
11254 0 : return false;
11255 : }
11256 0 : return true;
11257 : }
11258 :
11259 : static bool
11260 0 : set_MozBoxDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
11261 : {
11262 0 : binding_detail::FakeString arg0;
11263 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
11264 0 : return false;
11265 : }
11266 0 : binding_detail::FastErrorResult rv;
11267 0 : self->SetMozBoxDirection(NonNullHelper(Constify(arg0)), rv);
11268 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11269 0 : return false;
11270 : }
11271 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11272 :
11273 0 : return true;
11274 : }
11275 :
11276 : static const JSJitInfo MozBoxDirection_getterinfo = {
11277 : { (JSJitGetterOp)get_MozBoxDirection },
11278 : { prototypes::id::CSS2Properties },
11279 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11280 : JSJitInfo::Getter,
11281 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11282 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
11283 : false, /* isInfallible. False in setters. */
11284 : false, /* isMovable. Not relevant for setters. */
11285 : false, /* isEliminatable. Not relevant for setters. */
11286 : false, /* isAlwaysInSlot. Only relevant for getters. */
11287 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11288 : false, /* isTypedMethod. Only relevant for methods. */
11289 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11290 : };
11291 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11292 : static_assert(0 < 1, "There is no slot for us");
11293 : static const JSJitInfo MozBoxDirection_setterinfo = {
11294 : { (JSJitGetterOp)set_MozBoxDirection },
11295 : { prototypes::id::CSS2Properties },
11296 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11297 : JSJitInfo::Setter,
11298 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11299 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
11300 : false, /* isInfallible. False in setters. */
11301 : false, /* isMovable. Not relevant for setters. */
11302 : false, /* isEliminatable. Not relevant for setters. */
11303 : false, /* isAlwaysInSlot. Only relevant for getters. */
11304 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11305 : false, /* isTypedMethod. Only relevant for methods. */
11306 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11307 : };
11308 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11309 : static_assert(0 < 1, "There is no slot for us");
11310 :
11311 : static bool
11312 0 : get__moz_box_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
11313 : {
11314 0 : binding_detail::FastErrorResult rv;
11315 0 : DOMString result;
11316 0 : self->GetMozBoxDirection(result, rv);
11317 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11318 0 : return false;
11319 : }
11320 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11321 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
11322 0 : return false;
11323 : }
11324 0 : return true;
11325 : }
11326 :
11327 : static bool
11328 0 : set__moz_box_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
11329 : {
11330 0 : binding_detail::FakeString arg0;
11331 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
11332 0 : return false;
11333 : }
11334 0 : binding_detail::FastErrorResult rv;
11335 0 : self->SetMozBoxDirection(NonNullHelper(Constify(arg0)), rv);
11336 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11337 0 : return false;
11338 : }
11339 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11340 :
11341 0 : return true;
11342 : }
11343 :
11344 : static const JSJitInfo _moz_box_direction_getterinfo = {
11345 : { (JSJitGetterOp)get__moz_box_direction },
11346 : { prototypes::id::CSS2Properties },
11347 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11348 : JSJitInfo::Getter,
11349 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11350 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
11351 : false, /* isInfallible. False in setters. */
11352 : false, /* isMovable. Not relevant for setters. */
11353 : false, /* isEliminatable. Not relevant for setters. */
11354 : false, /* isAlwaysInSlot. Only relevant for getters. */
11355 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11356 : false, /* isTypedMethod. Only relevant for methods. */
11357 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11358 : };
11359 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11360 : static_assert(0 < 1, "There is no slot for us");
11361 : static const JSJitInfo _moz_box_direction_setterinfo = {
11362 : { (JSJitGetterOp)set__moz_box_direction },
11363 : { prototypes::id::CSS2Properties },
11364 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11365 : JSJitInfo::Setter,
11366 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11367 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
11368 : false, /* isInfallible. False in setters. */
11369 : false, /* isMovable. Not relevant for setters. */
11370 : false, /* isEliminatable. Not relevant for setters. */
11371 : false, /* isAlwaysInSlot. Only relevant for getters. */
11372 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11373 : false, /* isTypedMethod. Only relevant for methods. */
11374 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11375 : };
11376 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11377 : static_assert(0 < 1, "There is no slot for us");
11378 :
11379 : static bool
11380 0 : get_MozBoxFlex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
11381 : {
11382 0 : binding_detail::FastErrorResult rv;
11383 0 : DOMString result;
11384 0 : self->GetMozBoxFlex(result, rv);
11385 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11386 0 : return false;
11387 : }
11388 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11389 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
11390 0 : return false;
11391 : }
11392 0 : return true;
11393 : }
11394 :
11395 : static bool
11396 0 : set_MozBoxFlex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
11397 : {
11398 0 : binding_detail::FakeString arg0;
11399 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
11400 0 : return false;
11401 : }
11402 0 : binding_detail::FastErrorResult rv;
11403 0 : self->SetMozBoxFlex(NonNullHelper(Constify(arg0)), rv);
11404 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11405 0 : return false;
11406 : }
11407 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11408 :
11409 0 : return true;
11410 : }
11411 :
11412 : static const JSJitInfo MozBoxFlex_getterinfo = {
11413 : { (JSJitGetterOp)get_MozBoxFlex },
11414 : { prototypes::id::CSS2Properties },
11415 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11416 : JSJitInfo::Getter,
11417 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11418 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
11419 : false, /* isInfallible. False in setters. */
11420 : false, /* isMovable. Not relevant for setters. */
11421 : false, /* isEliminatable. Not relevant for setters. */
11422 : false, /* isAlwaysInSlot. Only relevant for getters. */
11423 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11424 : false, /* isTypedMethod. Only relevant for methods. */
11425 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11426 : };
11427 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11428 : static_assert(0 < 1, "There is no slot for us");
11429 : static const JSJitInfo MozBoxFlex_setterinfo = {
11430 : { (JSJitGetterOp)set_MozBoxFlex },
11431 : { prototypes::id::CSS2Properties },
11432 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11433 : JSJitInfo::Setter,
11434 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11435 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
11436 : false, /* isInfallible. False in setters. */
11437 : false, /* isMovable. Not relevant for setters. */
11438 : false, /* isEliminatable. Not relevant for setters. */
11439 : false, /* isAlwaysInSlot. Only relevant for getters. */
11440 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11441 : false, /* isTypedMethod. Only relevant for methods. */
11442 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11443 : };
11444 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11445 : static_assert(0 < 1, "There is no slot for us");
11446 :
11447 : static bool
11448 0 : get__moz_box_flex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
11449 : {
11450 0 : binding_detail::FastErrorResult rv;
11451 0 : DOMString result;
11452 0 : self->GetMozBoxFlex(result, rv);
11453 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11454 0 : return false;
11455 : }
11456 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11457 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
11458 0 : return false;
11459 : }
11460 0 : return true;
11461 : }
11462 :
11463 : static bool
11464 0 : set__moz_box_flex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
11465 : {
11466 0 : binding_detail::FakeString arg0;
11467 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
11468 0 : return false;
11469 : }
11470 0 : binding_detail::FastErrorResult rv;
11471 0 : self->SetMozBoxFlex(NonNullHelper(Constify(arg0)), rv);
11472 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11473 0 : return false;
11474 : }
11475 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11476 :
11477 0 : return true;
11478 : }
11479 :
11480 : static const JSJitInfo _moz_box_flex_getterinfo = {
11481 : { (JSJitGetterOp)get__moz_box_flex },
11482 : { prototypes::id::CSS2Properties },
11483 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11484 : JSJitInfo::Getter,
11485 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11486 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
11487 : false, /* isInfallible. False in setters. */
11488 : false, /* isMovable. Not relevant for setters. */
11489 : false, /* isEliminatable. Not relevant for setters. */
11490 : false, /* isAlwaysInSlot. Only relevant for getters. */
11491 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11492 : false, /* isTypedMethod. Only relevant for methods. */
11493 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11494 : };
11495 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11496 : static_assert(0 < 1, "There is no slot for us");
11497 : static const JSJitInfo _moz_box_flex_setterinfo = {
11498 : { (JSJitGetterOp)set__moz_box_flex },
11499 : { prototypes::id::CSS2Properties },
11500 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11501 : JSJitInfo::Setter,
11502 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11503 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
11504 : false, /* isInfallible. False in setters. */
11505 : false, /* isMovable. Not relevant for setters. */
11506 : false, /* isEliminatable. Not relevant for setters. */
11507 : false, /* isAlwaysInSlot. Only relevant for getters. */
11508 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11509 : false, /* isTypedMethod. Only relevant for methods. */
11510 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11511 : };
11512 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11513 : static_assert(0 < 1, "There is no slot for us");
11514 :
11515 : static bool
11516 0 : get_MozBoxOrdinalGroup(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
11517 : {
11518 0 : binding_detail::FastErrorResult rv;
11519 0 : DOMString result;
11520 0 : self->GetMozBoxOrdinalGroup(result, rv);
11521 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11522 0 : return false;
11523 : }
11524 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11525 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
11526 0 : return false;
11527 : }
11528 0 : return true;
11529 : }
11530 :
11531 : static bool
11532 0 : set_MozBoxOrdinalGroup(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
11533 : {
11534 0 : binding_detail::FakeString arg0;
11535 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
11536 0 : return false;
11537 : }
11538 0 : binding_detail::FastErrorResult rv;
11539 0 : self->SetMozBoxOrdinalGroup(NonNullHelper(Constify(arg0)), rv);
11540 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11541 0 : return false;
11542 : }
11543 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11544 :
11545 0 : return true;
11546 : }
11547 :
11548 : static const JSJitInfo MozBoxOrdinalGroup_getterinfo = {
11549 : { (JSJitGetterOp)get_MozBoxOrdinalGroup },
11550 : { prototypes::id::CSS2Properties },
11551 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11552 : JSJitInfo::Getter,
11553 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11554 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
11555 : false, /* isInfallible. False in setters. */
11556 : false, /* isMovable. Not relevant for setters. */
11557 : false, /* isEliminatable. Not relevant for setters. */
11558 : false, /* isAlwaysInSlot. Only relevant for getters. */
11559 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11560 : false, /* isTypedMethod. Only relevant for methods. */
11561 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11562 : };
11563 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11564 : static_assert(0 < 1, "There is no slot for us");
11565 : static const JSJitInfo MozBoxOrdinalGroup_setterinfo = {
11566 : { (JSJitGetterOp)set_MozBoxOrdinalGroup },
11567 : { prototypes::id::CSS2Properties },
11568 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11569 : JSJitInfo::Setter,
11570 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11571 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
11572 : false, /* isInfallible. False in setters. */
11573 : false, /* isMovable. Not relevant for setters. */
11574 : false, /* isEliminatable. Not relevant for setters. */
11575 : false, /* isAlwaysInSlot. Only relevant for getters. */
11576 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11577 : false, /* isTypedMethod. Only relevant for methods. */
11578 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11579 : };
11580 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11581 : static_assert(0 < 1, "There is no slot for us");
11582 :
11583 : static bool
11584 0 : get__moz_box_ordinal_group(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
11585 : {
11586 0 : binding_detail::FastErrorResult rv;
11587 0 : DOMString result;
11588 0 : self->GetMozBoxOrdinalGroup(result, rv);
11589 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11590 0 : return false;
11591 : }
11592 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11593 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
11594 0 : return false;
11595 : }
11596 0 : return true;
11597 : }
11598 :
11599 : static bool
11600 0 : set__moz_box_ordinal_group(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
11601 : {
11602 0 : binding_detail::FakeString arg0;
11603 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
11604 0 : return false;
11605 : }
11606 0 : binding_detail::FastErrorResult rv;
11607 0 : self->SetMozBoxOrdinalGroup(NonNullHelper(Constify(arg0)), rv);
11608 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11609 0 : return false;
11610 : }
11611 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11612 :
11613 0 : return true;
11614 : }
11615 :
11616 : static const JSJitInfo _moz_box_ordinal_group_getterinfo = {
11617 : { (JSJitGetterOp)get__moz_box_ordinal_group },
11618 : { prototypes::id::CSS2Properties },
11619 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11620 : JSJitInfo::Getter,
11621 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11622 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
11623 : false, /* isInfallible. False in setters. */
11624 : false, /* isMovable. Not relevant for setters. */
11625 : false, /* isEliminatable. Not relevant for setters. */
11626 : false, /* isAlwaysInSlot. Only relevant for getters. */
11627 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11628 : false, /* isTypedMethod. Only relevant for methods. */
11629 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11630 : };
11631 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11632 : static_assert(0 < 1, "There is no slot for us");
11633 : static const JSJitInfo _moz_box_ordinal_group_setterinfo = {
11634 : { (JSJitGetterOp)set__moz_box_ordinal_group },
11635 : { prototypes::id::CSS2Properties },
11636 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11637 : JSJitInfo::Setter,
11638 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11639 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
11640 : false, /* isInfallible. False in setters. */
11641 : false, /* isMovable. Not relevant for setters. */
11642 : false, /* isEliminatable. Not relevant for setters. */
11643 : false, /* isAlwaysInSlot. Only relevant for getters. */
11644 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11645 : false, /* isTypedMethod. Only relevant for methods. */
11646 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11647 : };
11648 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11649 : static_assert(0 < 1, "There is no slot for us");
11650 :
11651 : static bool
11652 0 : get_MozBoxOrient(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
11653 : {
11654 0 : binding_detail::FastErrorResult rv;
11655 0 : DOMString result;
11656 0 : self->GetMozBoxOrient(result, rv);
11657 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11658 0 : return false;
11659 : }
11660 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11661 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
11662 0 : return false;
11663 : }
11664 0 : return true;
11665 : }
11666 :
11667 : static bool
11668 0 : set_MozBoxOrient(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
11669 : {
11670 0 : binding_detail::FakeString arg0;
11671 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
11672 0 : return false;
11673 : }
11674 0 : binding_detail::FastErrorResult rv;
11675 0 : self->SetMozBoxOrient(NonNullHelper(Constify(arg0)), rv);
11676 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11677 0 : return false;
11678 : }
11679 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11680 :
11681 0 : return true;
11682 : }
11683 :
11684 : static const JSJitInfo MozBoxOrient_getterinfo = {
11685 : { (JSJitGetterOp)get_MozBoxOrient },
11686 : { prototypes::id::CSS2Properties },
11687 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11688 : JSJitInfo::Getter,
11689 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11690 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
11691 : false, /* isInfallible. False in setters. */
11692 : false, /* isMovable. Not relevant for setters. */
11693 : false, /* isEliminatable. Not relevant for setters. */
11694 : false, /* isAlwaysInSlot. Only relevant for getters. */
11695 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11696 : false, /* isTypedMethod. Only relevant for methods. */
11697 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11698 : };
11699 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11700 : static_assert(0 < 1, "There is no slot for us");
11701 : static const JSJitInfo MozBoxOrient_setterinfo = {
11702 : { (JSJitGetterOp)set_MozBoxOrient },
11703 : { prototypes::id::CSS2Properties },
11704 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11705 : JSJitInfo::Setter,
11706 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11707 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
11708 : false, /* isInfallible. False in setters. */
11709 : false, /* isMovable. Not relevant for setters. */
11710 : false, /* isEliminatable. Not relevant for setters. */
11711 : false, /* isAlwaysInSlot. Only relevant for getters. */
11712 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11713 : false, /* isTypedMethod. Only relevant for methods. */
11714 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11715 : };
11716 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11717 : static_assert(0 < 1, "There is no slot for us");
11718 :
11719 : static bool
11720 0 : get__moz_box_orient(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
11721 : {
11722 0 : binding_detail::FastErrorResult rv;
11723 0 : DOMString result;
11724 0 : self->GetMozBoxOrient(result, rv);
11725 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11726 0 : return false;
11727 : }
11728 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11729 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
11730 0 : return false;
11731 : }
11732 0 : return true;
11733 : }
11734 :
11735 : static bool
11736 0 : set__moz_box_orient(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
11737 : {
11738 0 : binding_detail::FakeString arg0;
11739 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
11740 0 : return false;
11741 : }
11742 0 : binding_detail::FastErrorResult rv;
11743 0 : self->SetMozBoxOrient(NonNullHelper(Constify(arg0)), rv);
11744 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11745 0 : return false;
11746 : }
11747 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11748 :
11749 0 : return true;
11750 : }
11751 :
11752 : static const JSJitInfo _moz_box_orient_getterinfo = {
11753 : { (JSJitGetterOp)get__moz_box_orient },
11754 : { prototypes::id::CSS2Properties },
11755 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11756 : JSJitInfo::Getter,
11757 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11758 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
11759 : false, /* isInfallible. False in setters. */
11760 : false, /* isMovable. Not relevant for setters. */
11761 : false, /* isEliminatable. Not relevant for setters. */
11762 : false, /* isAlwaysInSlot. Only relevant for getters. */
11763 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11764 : false, /* isTypedMethod. Only relevant for methods. */
11765 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11766 : };
11767 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11768 : static_assert(0 < 1, "There is no slot for us");
11769 : static const JSJitInfo _moz_box_orient_setterinfo = {
11770 : { (JSJitGetterOp)set__moz_box_orient },
11771 : { prototypes::id::CSS2Properties },
11772 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11773 : JSJitInfo::Setter,
11774 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11775 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
11776 : false, /* isInfallible. False in setters. */
11777 : false, /* isMovable. Not relevant for setters. */
11778 : false, /* isEliminatable. Not relevant for setters. */
11779 : false, /* isAlwaysInSlot. Only relevant for getters. */
11780 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11781 : false, /* isTypedMethod. Only relevant for methods. */
11782 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11783 : };
11784 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11785 : static_assert(0 < 1, "There is no slot for us");
11786 :
11787 : static bool
11788 0 : get_MozBoxPack(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
11789 : {
11790 0 : binding_detail::FastErrorResult rv;
11791 0 : DOMString result;
11792 0 : self->GetMozBoxPack(result, rv);
11793 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11794 0 : return false;
11795 : }
11796 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11797 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
11798 0 : return false;
11799 : }
11800 0 : return true;
11801 : }
11802 :
11803 : static bool
11804 0 : set_MozBoxPack(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
11805 : {
11806 0 : binding_detail::FakeString arg0;
11807 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
11808 0 : return false;
11809 : }
11810 0 : binding_detail::FastErrorResult rv;
11811 0 : self->SetMozBoxPack(NonNullHelper(Constify(arg0)), rv);
11812 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11813 0 : return false;
11814 : }
11815 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11816 :
11817 0 : return true;
11818 : }
11819 :
11820 : static const JSJitInfo MozBoxPack_getterinfo = {
11821 : { (JSJitGetterOp)get_MozBoxPack },
11822 : { prototypes::id::CSS2Properties },
11823 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11824 : JSJitInfo::Getter,
11825 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11826 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
11827 : false, /* isInfallible. False in setters. */
11828 : false, /* isMovable. Not relevant for setters. */
11829 : false, /* isEliminatable. Not relevant for setters. */
11830 : false, /* isAlwaysInSlot. Only relevant for getters. */
11831 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11832 : false, /* isTypedMethod. Only relevant for methods. */
11833 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11834 : };
11835 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11836 : static_assert(0 < 1, "There is no slot for us");
11837 : static const JSJitInfo MozBoxPack_setterinfo = {
11838 : { (JSJitGetterOp)set_MozBoxPack },
11839 : { prototypes::id::CSS2Properties },
11840 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11841 : JSJitInfo::Setter,
11842 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11843 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
11844 : false, /* isInfallible. False in setters. */
11845 : false, /* isMovable. Not relevant for setters. */
11846 : false, /* isEliminatable. Not relevant for setters. */
11847 : false, /* isAlwaysInSlot. Only relevant for getters. */
11848 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11849 : false, /* isTypedMethod. Only relevant for methods. */
11850 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11851 : };
11852 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11853 : static_assert(0 < 1, "There is no slot for us");
11854 :
11855 : static bool
11856 0 : get__moz_box_pack(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
11857 : {
11858 0 : binding_detail::FastErrorResult rv;
11859 0 : DOMString result;
11860 0 : self->GetMozBoxPack(result, rv);
11861 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11862 0 : return false;
11863 : }
11864 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11865 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
11866 0 : return false;
11867 : }
11868 0 : return true;
11869 : }
11870 :
11871 : static bool
11872 0 : set__moz_box_pack(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
11873 : {
11874 0 : binding_detail::FakeString arg0;
11875 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
11876 0 : return false;
11877 : }
11878 0 : binding_detail::FastErrorResult rv;
11879 0 : self->SetMozBoxPack(NonNullHelper(Constify(arg0)), rv);
11880 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11881 0 : return false;
11882 : }
11883 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11884 :
11885 0 : return true;
11886 : }
11887 :
11888 : static const JSJitInfo _moz_box_pack_getterinfo = {
11889 : { (JSJitGetterOp)get__moz_box_pack },
11890 : { prototypes::id::CSS2Properties },
11891 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11892 : JSJitInfo::Getter,
11893 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11894 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
11895 : false, /* isInfallible. False in setters. */
11896 : false, /* isMovable. Not relevant for setters. */
11897 : false, /* isEliminatable. Not relevant for setters. */
11898 : false, /* isAlwaysInSlot. Only relevant for getters. */
11899 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11900 : false, /* isTypedMethod. Only relevant for methods. */
11901 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11902 : };
11903 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11904 : static_assert(0 < 1, "There is no slot for us");
11905 : static const JSJitInfo _moz_box_pack_setterinfo = {
11906 : { (JSJitGetterOp)set__moz_box_pack },
11907 : { prototypes::id::CSS2Properties },
11908 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11909 : JSJitInfo::Setter,
11910 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11911 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
11912 : false, /* isInfallible. False in setters. */
11913 : false, /* isMovable. Not relevant for setters. */
11914 : false, /* isEliminatable. Not relevant for setters. */
11915 : false, /* isAlwaysInSlot. Only relevant for getters. */
11916 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11917 : false, /* isTypedMethod. Only relevant for methods. */
11918 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11919 : };
11920 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11921 : static_assert(0 < 1, "There is no slot for us");
11922 :
11923 : static bool
11924 0 : get_boxShadow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
11925 : {
11926 0 : binding_detail::FastErrorResult rv;
11927 0 : DOMString result;
11928 0 : self->GetBoxShadow(result, rv);
11929 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11930 0 : return false;
11931 : }
11932 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11933 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
11934 0 : return false;
11935 : }
11936 0 : return true;
11937 : }
11938 :
11939 : static bool
11940 0 : set_boxShadow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
11941 : {
11942 0 : binding_detail::FakeString arg0;
11943 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
11944 0 : return false;
11945 : }
11946 0 : binding_detail::FastErrorResult rv;
11947 0 : self->SetBoxShadow(NonNullHelper(Constify(arg0)), rv);
11948 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11949 0 : return false;
11950 : }
11951 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
11952 :
11953 0 : return true;
11954 : }
11955 :
11956 : static const JSJitInfo boxShadow_getterinfo = {
11957 : { (JSJitGetterOp)get_boxShadow },
11958 : { prototypes::id::CSS2Properties },
11959 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11960 : JSJitInfo::Getter,
11961 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11962 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
11963 : false, /* isInfallible. False in setters. */
11964 : false, /* isMovable. Not relevant for setters. */
11965 : false, /* isEliminatable. Not relevant for setters. */
11966 : false, /* isAlwaysInSlot. Only relevant for getters. */
11967 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11968 : false, /* isTypedMethod. Only relevant for methods. */
11969 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11970 : };
11971 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11972 : static_assert(0 < 1, "There is no slot for us");
11973 : static const JSJitInfo boxShadow_setterinfo = {
11974 : { (JSJitGetterOp)set_boxShadow },
11975 : { prototypes::id::CSS2Properties },
11976 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
11977 : JSJitInfo::Setter,
11978 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
11979 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
11980 : false, /* isInfallible. False in setters. */
11981 : false, /* isMovable. Not relevant for setters. */
11982 : false, /* isEliminatable. Not relevant for setters. */
11983 : false, /* isAlwaysInSlot. Only relevant for getters. */
11984 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
11985 : false, /* isTypedMethod. Only relevant for methods. */
11986 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
11987 : };
11988 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
11989 : static_assert(0 < 1, "There is no slot for us");
11990 :
11991 : static bool
11992 0 : get_box_shadow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
11993 : {
11994 0 : binding_detail::FastErrorResult rv;
11995 0 : DOMString result;
11996 0 : self->GetBoxShadow(result, rv);
11997 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
11998 0 : return false;
11999 : }
12000 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12001 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
12002 0 : return false;
12003 : }
12004 0 : return true;
12005 : }
12006 :
12007 : static bool
12008 0 : set_box_shadow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
12009 : {
12010 0 : binding_detail::FakeString arg0;
12011 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
12012 0 : return false;
12013 : }
12014 0 : binding_detail::FastErrorResult rv;
12015 0 : self->SetBoxShadow(NonNullHelper(Constify(arg0)), rv);
12016 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12017 0 : return false;
12018 : }
12019 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12020 :
12021 0 : return true;
12022 : }
12023 :
12024 : static const JSJitInfo box_shadow_getterinfo = {
12025 : { (JSJitGetterOp)get_box_shadow },
12026 : { prototypes::id::CSS2Properties },
12027 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12028 : JSJitInfo::Getter,
12029 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12030 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
12031 : false, /* isInfallible. False in setters. */
12032 : false, /* isMovable. Not relevant for setters. */
12033 : false, /* isEliminatable. Not relevant for setters. */
12034 : false, /* isAlwaysInSlot. Only relevant for getters. */
12035 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12036 : false, /* isTypedMethod. Only relevant for methods. */
12037 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12038 : };
12039 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12040 : static_assert(0 < 1, "There is no slot for us");
12041 : static const JSJitInfo box_shadow_setterinfo = {
12042 : { (JSJitGetterOp)set_box_shadow },
12043 : { prototypes::id::CSS2Properties },
12044 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12045 : JSJitInfo::Setter,
12046 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12047 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
12048 : false, /* isInfallible. False in setters. */
12049 : false, /* isMovable. Not relevant for setters. */
12050 : false, /* isEliminatable. Not relevant for setters. */
12051 : false, /* isAlwaysInSlot. Only relevant for getters. */
12052 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12053 : false, /* isTypedMethod. Only relevant for methods. */
12054 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12055 : };
12056 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12057 : static_assert(0 < 1, "There is no slot for us");
12058 :
12059 : static bool
12060 0 : get_boxSizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
12061 : {
12062 0 : binding_detail::FastErrorResult rv;
12063 0 : DOMString result;
12064 0 : self->GetBoxSizing(result, rv);
12065 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12066 0 : return false;
12067 : }
12068 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12069 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
12070 0 : return false;
12071 : }
12072 0 : return true;
12073 : }
12074 :
12075 : static bool
12076 0 : set_boxSizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
12077 : {
12078 0 : binding_detail::FakeString arg0;
12079 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
12080 0 : return false;
12081 : }
12082 0 : binding_detail::FastErrorResult rv;
12083 0 : self->SetBoxSizing(NonNullHelper(Constify(arg0)), rv);
12084 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12085 0 : return false;
12086 : }
12087 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12088 :
12089 0 : return true;
12090 : }
12091 :
12092 : static const JSJitInfo boxSizing_getterinfo = {
12093 : { (JSJitGetterOp)get_boxSizing },
12094 : { prototypes::id::CSS2Properties },
12095 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12096 : JSJitInfo::Getter,
12097 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12098 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
12099 : false, /* isInfallible. False in setters. */
12100 : false, /* isMovable. Not relevant for setters. */
12101 : false, /* isEliminatable. Not relevant for setters. */
12102 : false, /* isAlwaysInSlot. Only relevant for getters. */
12103 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12104 : false, /* isTypedMethod. Only relevant for methods. */
12105 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12106 : };
12107 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12108 : static_assert(0 < 1, "There is no slot for us");
12109 : static const JSJitInfo boxSizing_setterinfo = {
12110 : { (JSJitGetterOp)set_boxSizing },
12111 : { prototypes::id::CSS2Properties },
12112 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12113 : JSJitInfo::Setter,
12114 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12115 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
12116 : false, /* isInfallible. False in setters. */
12117 : false, /* isMovable. Not relevant for setters. */
12118 : false, /* isEliminatable. Not relevant for setters. */
12119 : false, /* isAlwaysInSlot. Only relevant for getters. */
12120 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12121 : false, /* isTypedMethod. Only relevant for methods. */
12122 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12123 : };
12124 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12125 : static_assert(0 < 1, "There is no slot for us");
12126 :
12127 : static bool
12128 0 : get_box_sizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
12129 : {
12130 0 : binding_detail::FastErrorResult rv;
12131 0 : DOMString result;
12132 0 : self->GetBoxSizing(result, rv);
12133 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12134 0 : return false;
12135 : }
12136 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12137 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
12138 0 : return false;
12139 : }
12140 0 : return true;
12141 : }
12142 :
12143 : static bool
12144 0 : set_box_sizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
12145 : {
12146 0 : binding_detail::FakeString arg0;
12147 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
12148 0 : return false;
12149 : }
12150 0 : binding_detail::FastErrorResult rv;
12151 0 : self->SetBoxSizing(NonNullHelper(Constify(arg0)), rv);
12152 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12153 0 : return false;
12154 : }
12155 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12156 :
12157 0 : return true;
12158 : }
12159 :
12160 : static const JSJitInfo box_sizing_getterinfo = {
12161 : { (JSJitGetterOp)get_box_sizing },
12162 : { prototypes::id::CSS2Properties },
12163 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12164 : JSJitInfo::Getter,
12165 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12166 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
12167 : false, /* isInfallible. False in setters. */
12168 : false, /* isMovable. Not relevant for setters. */
12169 : false, /* isEliminatable. Not relevant for setters. */
12170 : false, /* isAlwaysInSlot. Only relevant for getters. */
12171 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12172 : false, /* isTypedMethod. Only relevant for methods. */
12173 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12174 : };
12175 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12176 : static_assert(0 < 1, "There is no slot for us");
12177 : static const JSJitInfo box_sizing_setterinfo = {
12178 : { (JSJitGetterOp)set_box_sizing },
12179 : { prototypes::id::CSS2Properties },
12180 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12181 : JSJitInfo::Setter,
12182 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12183 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
12184 : false, /* isInfallible. False in setters. */
12185 : false, /* isMovable. Not relevant for setters. */
12186 : false, /* isEliminatable. Not relevant for setters. */
12187 : false, /* isAlwaysInSlot. Only relevant for getters. */
12188 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12189 : false, /* isTypedMethod. Only relevant for methods. */
12190 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12191 : };
12192 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12193 : static_assert(0 < 1, "There is no slot for us");
12194 :
12195 : static bool
12196 0 : get_captionSide(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
12197 : {
12198 0 : binding_detail::FastErrorResult rv;
12199 0 : DOMString result;
12200 0 : self->GetCaptionSide(result, rv);
12201 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12202 0 : return false;
12203 : }
12204 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12205 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
12206 0 : return false;
12207 : }
12208 0 : return true;
12209 : }
12210 :
12211 : static bool
12212 0 : set_captionSide(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
12213 : {
12214 0 : binding_detail::FakeString arg0;
12215 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
12216 0 : return false;
12217 : }
12218 0 : binding_detail::FastErrorResult rv;
12219 0 : self->SetCaptionSide(NonNullHelper(Constify(arg0)), rv);
12220 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12221 0 : return false;
12222 : }
12223 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12224 :
12225 0 : return true;
12226 : }
12227 :
12228 : static const JSJitInfo captionSide_getterinfo = {
12229 : { (JSJitGetterOp)get_captionSide },
12230 : { prototypes::id::CSS2Properties },
12231 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12232 : JSJitInfo::Getter,
12233 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12234 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
12235 : false, /* isInfallible. False in setters. */
12236 : false, /* isMovable. Not relevant for setters. */
12237 : false, /* isEliminatable. Not relevant for setters. */
12238 : false, /* isAlwaysInSlot. Only relevant for getters. */
12239 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12240 : false, /* isTypedMethod. Only relevant for methods. */
12241 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12242 : };
12243 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12244 : static_assert(0 < 1, "There is no slot for us");
12245 : static const JSJitInfo captionSide_setterinfo = {
12246 : { (JSJitGetterOp)set_captionSide },
12247 : { prototypes::id::CSS2Properties },
12248 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12249 : JSJitInfo::Setter,
12250 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12251 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
12252 : false, /* isInfallible. False in setters. */
12253 : false, /* isMovable. Not relevant for setters. */
12254 : false, /* isEliminatable. Not relevant for setters. */
12255 : false, /* isAlwaysInSlot. Only relevant for getters. */
12256 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12257 : false, /* isTypedMethod. Only relevant for methods. */
12258 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12259 : };
12260 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12261 : static_assert(0 < 1, "There is no slot for us");
12262 :
12263 : static bool
12264 0 : get_caption_side(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
12265 : {
12266 0 : binding_detail::FastErrorResult rv;
12267 0 : DOMString result;
12268 0 : self->GetCaptionSide(result, rv);
12269 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12270 0 : return false;
12271 : }
12272 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12273 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
12274 0 : return false;
12275 : }
12276 0 : return true;
12277 : }
12278 :
12279 : static bool
12280 0 : set_caption_side(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
12281 : {
12282 0 : binding_detail::FakeString arg0;
12283 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
12284 0 : return false;
12285 : }
12286 0 : binding_detail::FastErrorResult rv;
12287 0 : self->SetCaptionSide(NonNullHelper(Constify(arg0)), rv);
12288 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12289 0 : return false;
12290 : }
12291 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12292 :
12293 0 : return true;
12294 : }
12295 :
12296 : static const JSJitInfo caption_side_getterinfo = {
12297 : { (JSJitGetterOp)get_caption_side },
12298 : { prototypes::id::CSS2Properties },
12299 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12300 : JSJitInfo::Getter,
12301 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12302 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
12303 : false, /* isInfallible. False in setters. */
12304 : false, /* isMovable. Not relevant for setters. */
12305 : false, /* isEliminatable. Not relevant for setters. */
12306 : false, /* isAlwaysInSlot. Only relevant for getters. */
12307 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12308 : false, /* isTypedMethod. Only relevant for methods. */
12309 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12310 : };
12311 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12312 : static_assert(0 < 1, "There is no slot for us");
12313 : static const JSJitInfo caption_side_setterinfo = {
12314 : { (JSJitGetterOp)set_caption_side },
12315 : { prototypes::id::CSS2Properties },
12316 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12317 : JSJitInfo::Setter,
12318 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12319 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
12320 : false, /* isInfallible. False in setters. */
12321 : false, /* isMovable. Not relevant for setters. */
12322 : false, /* isEliminatable. Not relevant for setters. */
12323 : false, /* isAlwaysInSlot. Only relevant for getters. */
12324 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12325 : false, /* isTypedMethod. Only relevant for methods. */
12326 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12327 : };
12328 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12329 : static_assert(0 < 1, "There is no slot for us");
12330 :
12331 : static bool
12332 0 : get_caretColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
12333 : {
12334 0 : binding_detail::FastErrorResult rv;
12335 0 : DOMString result;
12336 0 : self->GetCaretColor(result, rv);
12337 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12338 0 : return false;
12339 : }
12340 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12341 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
12342 0 : return false;
12343 : }
12344 0 : return true;
12345 : }
12346 :
12347 : static bool
12348 0 : set_caretColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
12349 : {
12350 0 : binding_detail::FakeString arg0;
12351 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
12352 0 : return false;
12353 : }
12354 0 : binding_detail::FastErrorResult rv;
12355 0 : self->SetCaretColor(NonNullHelper(Constify(arg0)), rv);
12356 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12357 0 : return false;
12358 : }
12359 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12360 :
12361 0 : return true;
12362 : }
12363 :
12364 : static const JSJitInfo caretColor_getterinfo = {
12365 : { (JSJitGetterOp)get_caretColor },
12366 : { prototypes::id::CSS2Properties },
12367 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12368 : JSJitInfo::Getter,
12369 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12370 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
12371 : false, /* isInfallible. False in setters. */
12372 : false, /* isMovable. Not relevant for setters. */
12373 : false, /* isEliminatable. Not relevant for setters. */
12374 : false, /* isAlwaysInSlot. Only relevant for getters. */
12375 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12376 : false, /* isTypedMethod. Only relevant for methods. */
12377 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12378 : };
12379 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12380 : static_assert(0 < 1, "There is no slot for us");
12381 : static const JSJitInfo caretColor_setterinfo = {
12382 : { (JSJitGetterOp)set_caretColor },
12383 : { prototypes::id::CSS2Properties },
12384 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12385 : JSJitInfo::Setter,
12386 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12387 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
12388 : false, /* isInfallible. False in setters. */
12389 : false, /* isMovable. Not relevant for setters. */
12390 : false, /* isEliminatable. Not relevant for setters. */
12391 : false, /* isAlwaysInSlot. Only relevant for getters. */
12392 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12393 : false, /* isTypedMethod. Only relevant for methods. */
12394 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12395 : };
12396 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12397 : static_assert(0 < 1, "There is no slot for us");
12398 :
12399 : static bool
12400 0 : get_caret_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
12401 : {
12402 0 : binding_detail::FastErrorResult rv;
12403 0 : DOMString result;
12404 0 : self->GetCaretColor(result, rv);
12405 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12406 0 : return false;
12407 : }
12408 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12409 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
12410 0 : return false;
12411 : }
12412 0 : return true;
12413 : }
12414 :
12415 : static bool
12416 0 : set_caret_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
12417 : {
12418 0 : binding_detail::FakeString arg0;
12419 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
12420 0 : return false;
12421 : }
12422 0 : binding_detail::FastErrorResult rv;
12423 0 : self->SetCaretColor(NonNullHelper(Constify(arg0)), rv);
12424 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12425 0 : return false;
12426 : }
12427 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12428 :
12429 0 : return true;
12430 : }
12431 :
12432 : static const JSJitInfo caret_color_getterinfo = {
12433 : { (JSJitGetterOp)get_caret_color },
12434 : { prototypes::id::CSS2Properties },
12435 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12436 : JSJitInfo::Getter,
12437 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12438 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
12439 : false, /* isInfallible. False in setters. */
12440 : false, /* isMovable. Not relevant for setters. */
12441 : false, /* isEliminatable. Not relevant for setters. */
12442 : false, /* isAlwaysInSlot. Only relevant for getters. */
12443 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12444 : false, /* isTypedMethod. Only relevant for methods. */
12445 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12446 : };
12447 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12448 : static_assert(0 < 1, "There is no slot for us");
12449 : static const JSJitInfo caret_color_setterinfo = {
12450 : { (JSJitGetterOp)set_caret_color },
12451 : { prototypes::id::CSS2Properties },
12452 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12453 : JSJitInfo::Setter,
12454 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12455 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
12456 : false, /* isInfallible. False in setters. */
12457 : false, /* isMovable. Not relevant for setters. */
12458 : false, /* isEliminatable. Not relevant for setters. */
12459 : false, /* isAlwaysInSlot. Only relevant for getters. */
12460 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12461 : false, /* isTypedMethod. Only relevant for methods. */
12462 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12463 : };
12464 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12465 : static_assert(0 < 1, "There is no slot for us");
12466 :
12467 : static bool
12468 0 : get_clear(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
12469 : {
12470 0 : binding_detail::FastErrorResult rv;
12471 0 : DOMString result;
12472 0 : self->GetClear(result, rv);
12473 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12474 0 : return false;
12475 : }
12476 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12477 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
12478 0 : return false;
12479 : }
12480 0 : return true;
12481 : }
12482 :
12483 : static bool
12484 0 : set_clear(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
12485 : {
12486 0 : binding_detail::FakeString arg0;
12487 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
12488 0 : return false;
12489 : }
12490 0 : binding_detail::FastErrorResult rv;
12491 0 : self->SetClear(NonNullHelper(Constify(arg0)), rv);
12492 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12493 0 : return false;
12494 : }
12495 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12496 :
12497 0 : return true;
12498 : }
12499 :
12500 : static const JSJitInfo clear_getterinfo = {
12501 : { (JSJitGetterOp)get_clear },
12502 : { prototypes::id::CSS2Properties },
12503 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12504 : JSJitInfo::Getter,
12505 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12506 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
12507 : false, /* isInfallible. False in setters. */
12508 : false, /* isMovable. Not relevant for setters. */
12509 : false, /* isEliminatable. Not relevant for setters. */
12510 : false, /* isAlwaysInSlot. Only relevant for getters. */
12511 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12512 : false, /* isTypedMethod. Only relevant for methods. */
12513 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12514 : };
12515 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12516 : static_assert(0 < 1, "There is no slot for us");
12517 : static const JSJitInfo clear_setterinfo = {
12518 : { (JSJitGetterOp)set_clear },
12519 : { prototypes::id::CSS2Properties },
12520 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12521 : JSJitInfo::Setter,
12522 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12523 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
12524 : false, /* isInfallible. False in setters. */
12525 : false, /* isMovable. Not relevant for setters. */
12526 : false, /* isEliminatable. Not relevant for setters. */
12527 : false, /* isAlwaysInSlot. Only relevant for getters. */
12528 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12529 : false, /* isTypedMethod. Only relevant for methods. */
12530 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12531 : };
12532 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12533 : static_assert(0 < 1, "There is no slot for us");
12534 :
12535 : static bool
12536 0 : get_clip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
12537 : {
12538 0 : binding_detail::FastErrorResult rv;
12539 0 : DOMString result;
12540 0 : self->GetClip(result, rv);
12541 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12542 0 : return false;
12543 : }
12544 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12545 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
12546 0 : return false;
12547 : }
12548 0 : return true;
12549 : }
12550 :
12551 : static bool
12552 0 : set_clip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
12553 : {
12554 0 : binding_detail::FakeString arg0;
12555 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
12556 0 : return false;
12557 : }
12558 0 : binding_detail::FastErrorResult rv;
12559 0 : self->SetClip(NonNullHelper(Constify(arg0)), rv);
12560 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12561 0 : return false;
12562 : }
12563 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12564 :
12565 0 : return true;
12566 : }
12567 :
12568 : static const JSJitInfo clip_getterinfo = {
12569 : { (JSJitGetterOp)get_clip },
12570 : { prototypes::id::CSS2Properties },
12571 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12572 : JSJitInfo::Getter,
12573 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12574 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
12575 : false, /* isInfallible. False in setters. */
12576 : false, /* isMovable. Not relevant for setters. */
12577 : false, /* isEliminatable. Not relevant for setters. */
12578 : false, /* isAlwaysInSlot. Only relevant for getters. */
12579 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12580 : false, /* isTypedMethod. Only relevant for methods. */
12581 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12582 : };
12583 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12584 : static_assert(0 < 1, "There is no slot for us");
12585 : static const JSJitInfo clip_setterinfo = {
12586 : { (JSJitGetterOp)set_clip },
12587 : { prototypes::id::CSS2Properties },
12588 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12589 : JSJitInfo::Setter,
12590 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12591 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
12592 : false, /* isInfallible. False in setters. */
12593 : false, /* isMovable. Not relevant for setters. */
12594 : false, /* isEliminatable. Not relevant for setters. */
12595 : false, /* isAlwaysInSlot. Only relevant for getters. */
12596 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12597 : false, /* isTypedMethod. Only relevant for methods. */
12598 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12599 : };
12600 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12601 : static_assert(0 < 1, "There is no slot for us");
12602 :
12603 : static bool
12604 0 : get_clipPath(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
12605 : {
12606 0 : binding_detail::FastErrorResult rv;
12607 0 : DOMString result;
12608 0 : self->GetClipPath(result, rv);
12609 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12610 0 : return false;
12611 : }
12612 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12613 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
12614 0 : return false;
12615 : }
12616 0 : return true;
12617 : }
12618 :
12619 : static bool
12620 0 : set_clipPath(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
12621 : {
12622 0 : binding_detail::FakeString arg0;
12623 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
12624 0 : return false;
12625 : }
12626 0 : binding_detail::FastErrorResult rv;
12627 0 : self->SetClipPath(NonNullHelper(Constify(arg0)), rv);
12628 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12629 0 : return false;
12630 : }
12631 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12632 :
12633 0 : return true;
12634 : }
12635 :
12636 : static const JSJitInfo clipPath_getterinfo = {
12637 : { (JSJitGetterOp)get_clipPath },
12638 : { prototypes::id::CSS2Properties },
12639 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12640 : JSJitInfo::Getter,
12641 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12642 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
12643 : false, /* isInfallible. False in setters. */
12644 : false, /* isMovable. Not relevant for setters. */
12645 : false, /* isEliminatable. Not relevant for setters. */
12646 : false, /* isAlwaysInSlot. Only relevant for getters. */
12647 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12648 : false, /* isTypedMethod. Only relevant for methods. */
12649 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12650 : };
12651 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12652 : static_assert(0 < 1, "There is no slot for us");
12653 : static const JSJitInfo clipPath_setterinfo = {
12654 : { (JSJitGetterOp)set_clipPath },
12655 : { prototypes::id::CSS2Properties },
12656 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12657 : JSJitInfo::Setter,
12658 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12659 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
12660 : false, /* isInfallible. False in setters. */
12661 : false, /* isMovable. Not relevant for setters. */
12662 : false, /* isEliminatable. Not relevant for setters. */
12663 : false, /* isAlwaysInSlot. Only relevant for getters. */
12664 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12665 : false, /* isTypedMethod. Only relevant for methods. */
12666 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12667 : };
12668 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12669 : static_assert(0 < 1, "There is no slot for us");
12670 :
12671 : static bool
12672 0 : get_clip_path(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
12673 : {
12674 0 : binding_detail::FastErrorResult rv;
12675 0 : DOMString result;
12676 0 : self->GetClipPath(result, rv);
12677 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12678 0 : return false;
12679 : }
12680 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12681 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
12682 0 : return false;
12683 : }
12684 0 : return true;
12685 : }
12686 :
12687 : static bool
12688 0 : set_clip_path(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
12689 : {
12690 0 : binding_detail::FakeString arg0;
12691 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
12692 0 : return false;
12693 : }
12694 0 : binding_detail::FastErrorResult rv;
12695 0 : self->SetClipPath(NonNullHelper(Constify(arg0)), rv);
12696 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12697 0 : return false;
12698 : }
12699 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12700 :
12701 0 : return true;
12702 : }
12703 :
12704 : static const JSJitInfo clip_path_getterinfo = {
12705 : { (JSJitGetterOp)get_clip_path },
12706 : { prototypes::id::CSS2Properties },
12707 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12708 : JSJitInfo::Getter,
12709 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12710 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
12711 : false, /* isInfallible. False in setters. */
12712 : false, /* isMovable. Not relevant for setters. */
12713 : false, /* isEliminatable. Not relevant for setters. */
12714 : false, /* isAlwaysInSlot. Only relevant for getters. */
12715 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12716 : false, /* isTypedMethod. Only relevant for methods. */
12717 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12718 : };
12719 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12720 : static_assert(0 < 1, "There is no slot for us");
12721 : static const JSJitInfo clip_path_setterinfo = {
12722 : { (JSJitGetterOp)set_clip_path },
12723 : { prototypes::id::CSS2Properties },
12724 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12725 : JSJitInfo::Setter,
12726 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12727 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
12728 : false, /* isInfallible. False in setters. */
12729 : false, /* isMovable. Not relevant for setters. */
12730 : false, /* isEliminatable. Not relevant for setters. */
12731 : false, /* isAlwaysInSlot. Only relevant for getters. */
12732 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12733 : false, /* isTypedMethod. Only relevant for methods. */
12734 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12735 : };
12736 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12737 : static_assert(0 < 1, "There is no slot for us");
12738 :
12739 : static bool
12740 0 : get_clipRule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
12741 : {
12742 0 : binding_detail::FastErrorResult rv;
12743 0 : DOMString result;
12744 0 : self->GetClipRule(result, rv);
12745 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12746 0 : return false;
12747 : }
12748 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12749 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
12750 0 : return false;
12751 : }
12752 0 : return true;
12753 : }
12754 :
12755 : static bool
12756 0 : set_clipRule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
12757 : {
12758 0 : binding_detail::FakeString arg0;
12759 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
12760 0 : return false;
12761 : }
12762 0 : binding_detail::FastErrorResult rv;
12763 0 : self->SetClipRule(NonNullHelper(Constify(arg0)), rv);
12764 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12765 0 : return false;
12766 : }
12767 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12768 :
12769 0 : return true;
12770 : }
12771 :
12772 : static const JSJitInfo clipRule_getterinfo = {
12773 : { (JSJitGetterOp)get_clipRule },
12774 : { prototypes::id::CSS2Properties },
12775 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12776 : JSJitInfo::Getter,
12777 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12778 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
12779 : false, /* isInfallible. False in setters. */
12780 : false, /* isMovable. Not relevant for setters. */
12781 : false, /* isEliminatable. Not relevant for setters. */
12782 : false, /* isAlwaysInSlot. Only relevant for getters. */
12783 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12784 : false, /* isTypedMethod. Only relevant for methods. */
12785 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12786 : };
12787 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12788 : static_assert(0 < 1, "There is no slot for us");
12789 : static const JSJitInfo clipRule_setterinfo = {
12790 : { (JSJitGetterOp)set_clipRule },
12791 : { prototypes::id::CSS2Properties },
12792 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12793 : JSJitInfo::Setter,
12794 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12795 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
12796 : false, /* isInfallible. False in setters. */
12797 : false, /* isMovable. Not relevant for setters. */
12798 : false, /* isEliminatable. Not relevant for setters. */
12799 : false, /* isAlwaysInSlot. Only relevant for getters. */
12800 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12801 : false, /* isTypedMethod. Only relevant for methods. */
12802 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12803 : };
12804 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12805 : static_assert(0 < 1, "There is no slot for us");
12806 :
12807 : static bool
12808 0 : get_clip_rule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
12809 : {
12810 0 : binding_detail::FastErrorResult rv;
12811 0 : DOMString result;
12812 0 : self->GetClipRule(result, rv);
12813 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12814 0 : return false;
12815 : }
12816 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12817 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
12818 0 : return false;
12819 : }
12820 0 : return true;
12821 : }
12822 :
12823 : static bool
12824 0 : set_clip_rule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
12825 : {
12826 0 : binding_detail::FakeString arg0;
12827 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
12828 0 : return false;
12829 : }
12830 0 : binding_detail::FastErrorResult rv;
12831 0 : self->SetClipRule(NonNullHelper(Constify(arg0)), rv);
12832 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12833 0 : return false;
12834 : }
12835 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12836 :
12837 0 : return true;
12838 : }
12839 :
12840 : static const JSJitInfo clip_rule_getterinfo = {
12841 : { (JSJitGetterOp)get_clip_rule },
12842 : { prototypes::id::CSS2Properties },
12843 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12844 : JSJitInfo::Getter,
12845 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12846 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
12847 : false, /* isInfallible. False in setters. */
12848 : false, /* isMovable. Not relevant for setters. */
12849 : false, /* isEliminatable. Not relevant for setters. */
12850 : false, /* isAlwaysInSlot. Only relevant for getters. */
12851 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12852 : false, /* isTypedMethod. Only relevant for methods. */
12853 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12854 : };
12855 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12856 : static_assert(0 < 1, "There is no slot for us");
12857 : static const JSJitInfo clip_rule_setterinfo = {
12858 : { (JSJitGetterOp)set_clip_rule },
12859 : { prototypes::id::CSS2Properties },
12860 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12861 : JSJitInfo::Setter,
12862 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12863 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
12864 : false, /* isInfallible. False in setters. */
12865 : false, /* isMovable. Not relevant for setters. */
12866 : false, /* isEliminatable. Not relevant for setters. */
12867 : false, /* isAlwaysInSlot. Only relevant for getters. */
12868 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12869 : false, /* isTypedMethod. Only relevant for methods. */
12870 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12871 : };
12872 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12873 : static_assert(0 < 1, "There is no slot for us");
12874 :
12875 : static bool
12876 3 : get_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
12877 : {
12878 6 : binding_detail::FastErrorResult rv;
12879 6 : DOMString result;
12880 3 : self->GetColor(result, rv);
12881 3 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12882 0 : return false;
12883 : }
12884 3 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12885 3 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
12886 0 : return false;
12887 : }
12888 3 : return true;
12889 : }
12890 :
12891 : static bool
12892 0 : set_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
12893 : {
12894 0 : binding_detail::FakeString arg0;
12895 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
12896 0 : return false;
12897 : }
12898 0 : binding_detail::FastErrorResult rv;
12899 0 : self->SetColor(NonNullHelper(Constify(arg0)), rv);
12900 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12901 0 : return false;
12902 : }
12903 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12904 :
12905 0 : return true;
12906 : }
12907 :
12908 : static const JSJitInfo color_getterinfo = {
12909 : { (JSJitGetterOp)get_color },
12910 : { prototypes::id::CSS2Properties },
12911 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12912 : JSJitInfo::Getter,
12913 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12914 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
12915 : false, /* isInfallible. False in setters. */
12916 : false, /* isMovable. Not relevant for setters. */
12917 : false, /* isEliminatable. Not relevant for setters. */
12918 : false, /* isAlwaysInSlot. Only relevant for getters. */
12919 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12920 : false, /* isTypedMethod. Only relevant for methods. */
12921 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12922 : };
12923 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12924 : static_assert(0 < 1, "There is no slot for us");
12925 : static const JSJitInfo color_setterinfo = {
12926 : { (JSJitGetterOp)set_color },
12927 : { prototypes::id::CSS2Properties },
12928 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12929 : JSJitInfo::Setter,
12930 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12931 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
12932 : false, /* isInfallible. False in setters. */
12933 : false, /* isMovable. Not relevant for setters. */
12934 : false, /* isEliminatable. Not relevant for setters. */
12935 : false, /* isAlwaysInSlot. Only relevant for getters. */
12936 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12937 : false, /* isTypedMethod. Only relevant for methods. */
12938 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12939 : };
12940 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12941 : static_assert(0 < 1, "There is no slot for us");
12942 :
12943 : static bool
12944 0 : get_colorAdjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
12945 : {
12946 0 : binding_detail::FastErrorResult rv;
12947 0 : DOMString result;
12948 0 : self->GetColorAdjust(result, rv);
12949 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12950 0 : return false;
12951 : }
12952 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12953 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
12954 0 : return false;
12955 : }
12956 0 : return true;
12957 : }
12958 :
12959 : static bool
12960 0 : set_colorAdjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
12961 : {
12962 0 : binding_detail::FakeString arg0;
12963 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
12964 0 : return false;
12965 : }
12966 0 : binding_detail::FastErrorResult rv;
12967 0 : self->SetColorAdjust(NonNullHelper(Constify(arg0)), rv);
12968 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
12969 0 : return false;
12970 : }
12971 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
12972 :
12973 0 : return true;
12974 : }
12975 :
12976 : static const JSJitInfo colorAdjust_getterinfo = {
12977 : { (JSJitGetterOp)get_colorAdjust },
12978 : { prototypes::id::CSS2Properties },
12979 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12980 : JSJitInfo::Getter,
12981 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12982 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
12983 : false, /* isInfallible. False in setters. */
12984 : false, /* isMovable. Not relevant for setters. */
12985 : false, /* isEliminatable. Not relevant for setters. */
12986 : false, /* isAlwaysInSlot. Only relevant for getters. */
12987 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
12988 : false, /* isTypedMethod. Only relevant for methods. */
12989 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
12990 : };
12991 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
12992 : static_assert(0 < 1, "There is no slot for us");
12993 : static const JSJitInfo colorAdjust_setterinfo = {
12994 : { (JSJitGetterOp)set_colorAdjust },
12995 : { prototypes::id::CSS2Properties },
12996 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
12997 : JSJitInfo::Setter,
12998 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
12999 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
13000 : false, /* isInfallible. False in setters. */
13001 : false, /* isMovable. Not relevant for setters. */
13002 : false, /* isEliminatable. Not relevant for setters. */
13003 : false, /* isAlwaysInSlot. Only relevant for getters. */
13004 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13005 : false, /* isTypedMethod. Only relevant for methods. */
13006 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13007 : };
13008 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13009 : static_assert(0 < 1, "There is no slot for us");
13010 :
13011 : static bool
13012 0 : get_color_adjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
13013 : {
13014 0 : binding_detail::FastErrorResult rv;
13015 0 : DOMString result;
13016 0 : self->GetColorAdjust(result, rv);
13017 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13018 0 : return false;
13019 : }
13020 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13021 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
13022 0 : return false;
13023 : }
13024 0 : return true;
13025 : }
13026 :
13027 : static bool
13028 0 : set_color_adjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
13029 : {
13030 0 : binding_detail::FakeString arg0;
13031 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
13032 0 : return false;
13033 : }
13034 0 : binding_detail::FastErrorResult rv;
13035 0 : self->SetColorAdjust(NonNullHelper(Constify(arg0)), rv);
13036 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13037 0 : return false;
13038 : }
13039 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13040 :
13041 0 : return true;
13042 : }
13043 :
13044 : static const JSJitInfo color_adjust_getterinfo = {
13045 : { (JSJitGetterOp)get_color_adjust },
13046 : { prototypes::id::CSS2Properties },
13047 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13048 : JSJitInfo::Getter,
13049 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13050 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
13051 : false, /* isInfallible. False in setters. */
13052 : false, /* isMovable. Not relevant for setters. */
13053 : false, /* isEliminatable. Not relevant for setters. */
13054 : false, /* isAlwaysInSlot. Only relevant for getters. */
13055 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13056 : false, /* isTypedMethod. Only relevant for methods. */
13057 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13058 : };
13059 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13060 : static_assert(0 < 1, "There is no slot for us");
13061 : static const JSJitInfo color_adjust_setterinfo = {
13062 : { (JSJitGetterOp)set_color_adjust },
13063 : { prototypes::id::CSS2Properties },
13064 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13065 : JSJitInfo::Setter,
13066 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13067 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
13068 : false, /* isInfallible. False in setters. */
13069 : false, /* isMovable. Not relevant for setters. */
13070 : false, /* isEliminatable. Not relevant for setters. */
13071 : false, /* isAlwaysInSlot. Only relevant for getters. */
13072 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13073 : false, /* isTypedMethod. Only relevant for methods. */
13074 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13075 : };
13076 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13077 : static_assert(0 < 1, "There is no slot for us");
13078 :
13079 : static bool
13080 0 : get_colorInterpolation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
13081 : {
13082 0 : binding_detail::FastErrorResult rv;
13083 0 : DOMString result;
13084 0 : self->GetColorInterpolation(result, rv);
13085 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13086 0 : return false;
13087 : }
13088 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13089 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
13090 0 : return false;
13091 : }
13092 0 : return true;
13093 : }
13094 :
13095 : static bool
13096 0 : set_colorInterpolation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
13097 : {
13098 0 : binding_detail::FakeString arg0;
13099 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
13100 0 : return false;
13101 : }
13102 0 : binding_detail::FastErrorResult rv;
13103 0 : self->SetColorInterpolation(NonNullHelper(Constify(arg0)), rv);
13104 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13105 0 : return false;
13106 : }
13107 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13108 :
13109 0 : return true;
13110 : }
13111 :
13112 : static const JSJitInfo colorInterpolation_getterinfo = {
13113 : { (JSJitGetterOp)get_colorInterpolation },
13114 : { prototypes::id::CSS2Properties },
13115 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13116 : JSJitInfo::Getter,
13117 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13118 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
13119 : false, /* isInfallible. False in setters. */
13120 : false, /* isMovable. Not relevant for setters. */
13121 : false, /* isEliminatable. Not relevant for setters. */
13122 : false, /* isAlwaysInSlot. Only relevant for getters. */
13123 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13124 : false, /* isTypedMethod. Only relevant for methods. */
13125 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13126 : };
13127 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13128 : static_assert(0 < 1, "There is no slot for us");
13129 : static const JSJitInfo colorInterpolation_setterinfo = {
13130 : { (JSJitGetterOp)set_colorInterpolation },
13131 : { prototypes::id::CSS2Properties },
13132 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13133 : JSJitInfo::Setter,
13134 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13135 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
13136 : false, /* isInfallible. False in setters. */
13137 : false, /* isMovable. Not relevant for setters. */
13138 : false, /* isEliminatable. Not relevant for setters. */
13139 : false, /* isAlwaysInSlot. Only relevant for getters. */
13140 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13141 : false, /* isTypedMethod. Only relevant for methods. */
13142 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13143 : };
13144 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13145 : static_assert(0 < 1, "There is no slot for us");
13146 :
13147 : static bool
13148 0 : get_color_interpolation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
13149 : {
13150 0 : binding_detail::FastErrorResult rv;
13151 0 : DOMString result;
13152 0 : self->GetColorInterpolation(result, rv);
13153 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13154 0 : return false;
13155 : }
13156 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13157 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
13158 0 : return false;
13159 : }
13160 0 : return true;
13161 : }
13162 :
13163 : static bool
13164 0 : set_color_interpolation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
13165 : {
13166 0 : binding_detail::FakeString arg0;
13167 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
13168 0 : return false;
13169 : }
13170 0 : binding_detail::FastErrorResult rv;
13171 0 : self->SetColorInterpolation(NonNullHelper(Constify(arg0)), rv);
13172 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13173 0 : return false;
13174 : }
13175 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13176 :
13177 0 : return true;
13178 : }
13179 :
13180 : static const JSJitInfo color_interpolation_getterinfo = {
13181 : { (JSJitGetterOp)get_color_interpolation },
13182 : { prototypes::id::CSS2Properties },
13183 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13184 : JSJitInfo::Getter,
13185 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13186 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
13187 : false, /* isInfallible. False in setters. */
13188 : false, /* isMovable. Not relevant for setters. */
13189 : false, /* isEliminatable. Not relevant for setters. */
13190 : false, /* isAlwaysInSlot. Only relevant for getters. */
13191 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13192 : false, /* isTypedMethod. Only relevant for methods. */
13193 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13194 : };
13195 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13196 : static_assert(0 < 1, "There is no slot for us");
13197 : static const JSJitInfo color_interpolation_setterinfo = {
13198 : { (JSJitGetterOp)set_color_interpolation },
13199 : { prototypes::id::CSS2Properties },
13200 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13201 : JSJitInfo::Setter,
13202 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13203 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
13204 : false, /* isInfallible. False in setters. */
13205 : false, /* isMovable. Not relevant for setters. */
13206 : false, /* isEliminatable. Not relevant for setters. */
13207 : false, /* isAlwaysInSlot. Only relevant for getters. */
13208 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13209 : false, /* isTypedMethod. Only relevant for methods. */
13210 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13211 : };
13212 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13213 : static_assert(0 < 1, "There is no slot for us");
13214 :
13215 : static bool
13216 0 : get_colorInterpolationFilters(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
13217 : {
13218 0 : binding_detail::FastErrorResult rv;
13219 0 : DOMString result;
13220 0 : self->GetColorInterpolationFilters(result, rv);
13221 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13222 0 : return false;
13223 : }
13224 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13225 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
13226 0 : return false;
13227 : }
13228 0 : return true;
13229 : }
13230 :
13231 : static bool
13232 0 : set_colorInterpolationFilters(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
13233 : {
13234 0 : binding_detail::FakeString arg0;
13235 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
13236 0 : return false;
13237 : }
13238 0 : binding_detail::FastErrorResult rv;
13239 0 : self->SetColorInterpolationFilters(NonNullHelper(Constify(arg0)), rv);
13240 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13241 0 : return false;
13242 : }
13243 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13244 :
13245 0 : return true;
13246 : }
13247 :
13248 : static const JSJitInfo colorInterpolationFilters_getterinfo = {
13249 : { (JSJitGetterOp)get_colorInterpolationFilters },
13250 : { prototypes::id::CSS2Properties },
13251 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13252 : JSJitInfo::Getter,
13253 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13254 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
13255 : false, /* isInfallible. False in setters. */
13256 : false, /* isMovable. Not relevant for setters. */
13257 : false, /* isEliminatable. Not relevant for setters. */
13258 : false, /* isAlwaysInSlot. Only relevant for getters. */
13259 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13260 : false, /* isTypedMethod. Only relevant for methods. */
13261 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13262 : };
13263 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13264 : static_assert(0 < 1, "There is no slot for us");
13265 : static const JSJitInfo colorInterpolationFilters_setterinfo = {
13266 : { (JSJitGetterOp)set_colorInterpolationFilters },
13267 : { prototypes::id::CSS2Properties },
13268 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13269 : JSJitInfo::Setter,
13270 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13271 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
13272 : false, /* isInfallible. False in setters. */
13273 : false, /* isMovable. Not relevant for setters. */
13274 : false, /* isEliminatable. Not relevant for setters. */
13275 : false, /* isAlwaysInSlot. Only relevant for getters. */
13276 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13277 : false, /* isTypedMethod. Only relevant for methods. */
13278 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13279 : };
13280 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13281 : static_assert(0 < 1, "There is no slot for us");
13282 :
13283 : static bool
13284 0 : get_color_interpolation_filters(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
13285 : {
13286 0 : binding_detail::FastErrorResult rv;
13287 0 : DOMString result;
13288 0 : self->GetColorInterpolationFilters(result, rv);
13289 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13290 0 : return false;
13291 : }
13292 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13293 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
13294 0 : return false;
13295 : }
13296 0 : return true;
13297 : }
13298 :
13299 : static bool
13300 0 : set_color_interpolation_filters(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
13301 : {
13302 0 : binding_detail::FakeString arg0;
13303 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
13304 0 : return false;
13305 : }
13306 0 : binding_detail::FastErrorResult rv;
13307 0 : self->SetColorInterpolationFilters(NonNullHelper(Constify(arg0)), rv);
13308 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13309 0 : return false;
13310 : }
13311 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13312 :
13313 0 : return true;
13314 : }
13315 :
13316 : static const JSJitInfo color_interpolation_filters_getterinfo = {
13317 : { (JSJitGetterOp)get_color_interpolation_filters },
13318 : { prototypes::id::CSS2Properties },
13319 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13320 : JSJitInfo::Getter,
13321 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13322 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
13323 : false, /* isInfallible. False in setters. */
13324 : false, /* isMovable. Not relevant for setters. */
13325 : false, /* isEliminatable. Not relevant for setters. */
13326 : false, /* isAlwaysInSlot. Only relevant for getters. */
13327 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13328 : false, /* isTypedMethod. Only relevant for methods. */
13329 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13330 : };
13331 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13332 : static_assert(0 < 1, "There is no slot for us");
13333 : static const JSJitInfo color_interpolation_filters_setterinfo = {
13334 : { (JSJitGetterOp)set_color_interpolation_filters },
13335 : { prototypes::id::CSS2Properties },
13336 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13337 : JSJitInfo::Setter,
13338 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13339 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
13340 : false, /* isInfallible. False in setters. */
13341 : false, /* isMovable. Not relevant for setters. */
13342 : false, /* isEliminatable. Not relevant for setters. */
13343 : false, /* isAlwaysInSlot. Only relevant for getters. */
13344 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13345 : false, /* isTypedMethod. Only relevant for methods. */
13346 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13347 : };
13348 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13349 : static_assert(0 < 1, "There is no slot for us");
13350 :
13351 : static bool
13352 0 : get_columnCount(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
13353 : {
13354 0 : binding_detail::FastErrorResult rv;
13355 0 : DOMString result;
13356 0 : self->GetColumnCount(result, rv);
13357 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13358 0 : return false;
13359 : }
13360 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13361 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
13362 0 : return false;
13363 : }
13364 0 : return true;
13365 : }
13366 :
13367 : static bool
13368 0 : set_columnCount(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
13369 : {
13370 0 : binding_detail::FakeString arg0;
13371 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
13372 0 : return false;
13373 : }
13374 0 : binding_detail::FastErrorResult rv;
13375 0 : self->SetColumnCount(NonNullHelper(Constify(arg0)), rv);
13376 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13377 0 : return false;
13378 : }
13379 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13380 :
13381 0 : return true;
13382 : }
13383 :
13384 : static const JSJitInfo columnCount_getterinfo = {
13385 : { (JSJitGetterOp)get_columnCount },
13386 : { prototypes::id::CSS2Properties },
13387 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13388 : JSJitInfo::Getter,
13389 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13390 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
13391 : false, /* isInfallible. False in setters. */
13392 : false, /* isMovable. Not relevant for setters. */
13393 : false, /* isEliminatable. Not relevant for setters. */
13394 : false, /* isAlwaysInSlot. Only relevant for getters. */
13395 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13396 : false, /* isTypedMethod. Only relevant for methods. */
13397 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13398 : };
13399 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13400 : static_assert(0 < 1, "There is no slot for us");
13401 : static const JSJitInfo columnCount_setterinfo = {
13402 : { (JSJitGetterOp)set_columnCount },
13403 : { prototypes::id::CSS2Properties },
13404 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13405 : JSJitInfo::Setter,
13406 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13407 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
13408 : false, /* isInfallible. False in setters. */
13409 : false, /* isMovable. Not relevant for setters. */
13410 : false, /* isEliminatable. Not relevant for setters. */
13411 : false, /* isAlwaysInSlot. Only relevant for getters. */
13412 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13413 : false, /* isTypedMethod. Only relevant for methods. */
13414 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13415 : };
13416 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13417 : static_assert(0 < 1, "There is no slot for us");
13418 :
13419 : static bool
13420 0 : get_column_count(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
13421 : {
13422 0 : binding_detail::FastErrorResult rv;
13423 0 : DOMString result;
13424 0 : self->GetColumnCount(result, rv);
13425 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13426 0 : return false;
13427 : }
13428 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13429 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
13430 0 : return false;
13431 : }
13432 0 : return true;
13433 : }
13434 :
13435 : static bool
13436 0 : set_column_count(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
13437 : {
13438 0 : binding_detail::FakeString arg0;
13439 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
13440 0 : return false;
13441 : }
13442 0 : binding_detail::FastErrorResult rv;
13443 0 : self->SetColumnCount(NonNullHelper(Constify(arg0)), rv);
13444 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13445 0 : return false;
13446 : }
13447 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13448 :
13449 0 : return true;
13450 : }
13451 :
13452 : static const JSJitInfo column_count_getterinfo = {
13453 : { (JSJitGetterOp)get_column_count },
13454 : { prototypes::id::CSS2Properties },
13455 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13456 : JSJitInfo::Getter,
13457 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13458 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
13459 : false, /* isInfallible. False in setters. */
13460 : false, /* isMovable. Not relevant for setters. */
13461 : false, /* isEliminatable. Not relevant for setters. */
13462 : false, /* isAlwaysInSlot. Only relevant for getters. */
13463 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13464 : false, /* isTypedMethod. Only relevant for methods. */
13465 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13466 : };
13467 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13468 : static_assert(0 < 1, "There is no slot for us");
13469 : static const JSJitInfo column_count_setterinfo = {
13470 : { (JSJitGetterOp)set_column_count },
13471 : { prototypes::id::CSS2Properties },
13472 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13473 : JSJitInfo::Setter,
13474 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13475 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
13476 : false, /* isInfallible. False in setters. */
13477 : false, /* isMovable. Not relevant for setters. */
13478 : false, /* isEliminatable. Not relevant for setters. */
13479 : false, /* isAlwaysInSlot. Only relevant for getters. */
13480 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13481 : false, /* isTypedMethod. Only relevant for methods. */
13482 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13483 : };
13484 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13485 : static_assert(0 < 1, "There is no slot for us");
13486 :
13487 : static bool
13488 0 : get_columnFill(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
13489 : {
13490 0 : binding_detail::FastErrorResult rv;
13491 0 : DOMString result;
13492 0 : self->GetColumnFill(result, rv);
13493 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13494 0 : return false;
13495 : }
13496 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13497 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
13498 0 : return false;
13499 : }
13500 0 : return true;
13501 : }
13502 :
13503 : static bool
13504 0 : set_columnFill(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
13505 : {
13506 0 : binding_detail::FakeString arg0;
13507 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
13508 0 : return false;
13509 : }
13510 0 : binding_detail::FastErrorResult rv;
13511 0 : self->SetColumnFill(NonNullHelper(Constify(arg0)), rv);
13512 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13513 0 : return false;
13514 : }
13515 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13516 :
13517 0 : return true;
13518 : }
13519 :
13520 : static const JSJitInfo columnFill_getterinfo = {
13521 : { (JSJitGetterOp)get_columnFill },
13522 : { prototypes::id::CSS2Properties },
13523 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13524 : JSJitInfo::Getter,
13525 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13526 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
13527 : false, /* isInfallible. False in setters. */
13528 : false, /* isMovable. Not relevant for setters. */
13529 : false, /* isEliminatable. Not relevant for setters. */
13530 : false, /* isAlwaysInSlot. Only relevant for getters. */
13531 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13532 : false, /* isTypedMethod. Only relevant for methods. */
13533 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13534 : };
13535 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13536 : static_assert(0 < 1, "There is no slot for us");
13537 : static const JSJitInfo columnFill_setterinfo = {
13538 : { (JSJitGetterOp)set_columnFill },
13539 : { prototypes::id::CSS2Properties },
13540 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13541 : JSJitInfo::Setter,
13542 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13543 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
13544 : false, /* isInfallible. False in setters. */
13545 : false, /* isMovable. Not relevant for setters. */
13546 : false, /* isEliminatable. Not relevant for setters. */
13547 : false, /* isAlwaysInSlot. Only relevant for getters. */
13548 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13549 : false, /* isTypedMethod. Only relevant for methods. */
13550 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13551 : };
13552 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13553 : static_assert(0 < 1, "There is no slot for us");
13554 :
13555 : static bool
13556 0 : get_column_fill(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
13557 : {
13558 0 : binding_detail::FastErrorResult rv;
13559 0 : DOMString result;
13560 0 : self->GetColumnFill(result, rv);
13561 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13562 0 : return false;
13563 : }
13564 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13565 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
13566 0 : return false;
13567 : }
13568 0 : return true;
13569 : }
13570 :
13571 : static bool
13572 0 : set_column_fill(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
13573 : {
13574 0 : binding_detail::FakeString arg0;
13575 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
13576 0 : return false;
13577 : }
13578 0 : binding_detail::FastErrorResult rv;
13579 0 : self->SetColumnFill(NonNullHelper(Constify(arg0)), rv);
13580 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13581 0 : return false;
13582 : }
13583 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13584 :
13585 0 : return true;
13586 : }
13587 :
13588 : static const JSJitInfo column_fill_getterinfo = {
13589 : { (JSJitGetterOp)get_column_fill },
13590 : { prototypes::id::CSS2Properties },
13591 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13592 : JSJitInfo::Getter,
13593 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13594 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
13595 : false, /* isInfallible. False in setters. */
13596 : false, /* isMovable. Not relevant for setters. */
13597 : false, /* isEliminatable. Not relevant for setters. */
13598 : false, /* isAlwaysInSlot. Only relevant for getters. */
13599 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13600 : false, /* isTypedMethod. Only relevant for methods. */
13601 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13602 : };
13603 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13604 : static_assert(0 < 1, "There is no slot for us");
13605 : static const JSJitInfo column_fill_setterinfo = {
13606 : { (JSJitGetterOp)set_column_fill },
13607 : { prototypes::id::CSS2Properties },
13608 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13609 : JSJitInfo::Setter,
13610 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13611 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
13612 : false, /* isInfallible. False in setters. */
13613 : false, /* isMovable. Not relevant for setters. */
13614 : false, /* isEliminatable. Not relevant for setters. */
13615 : false, /* isAlwaysInSlot. Only relevant for getters. */
13616 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13617 : false, /* isTypedMethod. Only relevant for methods. */
13618 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13619 : };
13620 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13621 : static_assert(0 < 1, "There is no slot for us");
13622 :
13623 : static bool
13624 0 : get_columnGap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
13625 : {
13626 0 : binding_detail::FastErrorResult rv;
13627 0 : DOMString result;
13628 0 : self->GetColumnGap(result, rv);
13629 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13630 0 : return false;
13631 : }
13632 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13633 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
13634 0 : return false;
13635 : }
13636 0 : return true;
13637 : }
13638 :
13639 : static bool
13640 0 : set_columnGap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
13641 : {
13642 0 : binding_detail::FakeString arg0;
13643 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
13644 0 : return false;
13645 : }
13646 0 : binding_detail::FastErrorResult rv;
13647 0 : self->SetColumnGap(NonNullHelper(Constify(arg0)), rv);
13648 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13649 0 : return false;
13650 : }
13651 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13652 :
13653 0 : return true;
13654 : }
13655 :
13656 : static const JSJitInfo columnGap_getterinfo = {
13657 : { (JSJitGetterOp)get_columnGap },
13658 : { prototypes::id::CSS2Properties },
13659 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13660 : JSJitInfo::Getter,
13661 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13662 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
13663 : false, /* isInfallible. False in setters. */
13664 : false, /* isMovable. Not relevant for setters. */
13665 : false, /* isEliminatable. Not relevant for setters. */
13666 : false, /* isAlwaysInSlot. Only relevant for getters. */
13667 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13668 : false, /* isTypedMethod. Only relevant for methods. */
13669 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13670 : };
13671 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13672 : static_assert(0 < 1, "There is no slot for us");
13673 : static const JSJitInfo columnGap_setterinfo = {
13674 : { (JSJitGetterOp)set_columnGap },
13675 : { prototypes::id::CSS2Properties },
13676 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13677 : JSJitInfo::Setter,
13678 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13679 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
13680 : false, /* isInfallible. False in setters. */
13681 : false, /* isMovable. Not relevant for setters. */
13682 : false, /* isEliminatable. Not relevant for setters. */
13683 : false, /* isAlwaysInSlot. Only relevant for getters. */
13684 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13685 : false, /* isTypedMethod. Only relevant for methods. */
13686 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13687 : };
13688 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13689 : static_assert(0 < 1, "There is no slot for us");
13690 :
13691 : static bool
13692 0 : get_column_gap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
13693 : {
13694 0 : binding_detail::FastErrorResult rv;
13695 0 : DOMString result;
13696 0 : self->GetColumnGap(result, rv);
13697 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13698 0 : return false;
13699 : }
13700 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13701 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
13702 0 : return false;
13703 : }
13704 0 : return true;
13705 : }
13706 :
13707 : static bool
13708 0 : set_column_gap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
13709 : {
13710 0 : binding_detail::FakeString arg0;
13711 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
13712 0 : return false;
13713 : }
13714 0 : binding_detail::FastErrorResult rv;
13715 0 : self->SetColumnGap(NonNullHelper(Constify(arg0)), rv);
13716 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13717 0 : return false;
13718 : }
13719 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13720 :
13721 0 : return true;
13722 : }
13723 :
13724 : static const JSJitInfo column_gap_getterinfo = {
13725 : { (JSJitGetterOp)get_column_gap },
13726 : { prototypes::id::CSS2Properties },
13727 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13728 : JSJitInfo::Getter,
13729 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13730 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
13731 : false, /* isInfallible. False in setters. */
13732 : false, /* isMovable. Not relevant for setters. */
13733 : false, /* isEliminatable. Not relevant for setters. */
13734 : false, /* isAlwaysInSlot. Only relevant for getters. */
13735 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13736 : false, /* isTypedMethod. Only relevant for methods. */
13737 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13738 : };
13739 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13740 : static_assert(0 < 1, "There is no slot for us");
13741 : static const JSJitInfo column_gap_setterinfo = {
13742 : { (JSJitGetterOp)set_column_gap },
13743 : { prototypes::id::CSS2Properties },
13744 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13745 : JSJitInfo::Setter,
13746 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13747 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
13748 : false, /* isInfallible. False in setters. */
13749 : false, /* isMovable. Not relevant for setters. */
13750 : false, /* isEliminatable. Not relevant for setters. */
13751 : false, /* isAlwaysInSlot. Only relevant for getters. */
13752 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13753 : false, /* isTypedMethod. Only relevant for methods. */
13754 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13755 : };
13756 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13757 : static_assert(0 < 1, "There is no slot for us");
13758 :
13759 : static bool
13760 0 : get_columnRule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
13761 : {
13762 0 : binding_detail::FastErrorResult rv;
13763 0 : DOMString result;
13764 0 : self->GetColumnRule(result, rv);
13765 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13766 0 : return false;
13767 : }
13768 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13769 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
13770 0 : return false;
13771 : }
13772 0 : return true;
13773 : }
13774 :
13775 : static bool
13776 0 : set_columnRule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
13777 : {
13778 0 : binding_detail::FakeString arg0;
13779 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
13780 0 : return false;
13781 : }
13782 0 : binding_detail::FastErrorResult rv;
13783 0 : self->SetColumnRule(NonNullHelper(Constify(arg0)), rv);
13784 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13785 0 : return false;
13786 : }
13787 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13788 :
13789 0 : return true;
13790 : }
13791 :
13792 : static const JSJitInfo columnRule_getterinfo = {
13793 : { (JSJitGetterOp)get_columnRule },
13794 : { prototypes::id::CSS2Properties },
13795 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13796 : JSJitInfo::Getter,
13797 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13798 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
13799 : false, /* isInfallible. False in setters. */
13800 : false, /* isMovable. Not relevant for setters. */
13801 : false, /* isEliminatable. Not relevant for setters. */
13802 : false, /* isAlwaysInSlot. Only relevant for getters. */
13803 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13804 : false, /* isTypedMethod. Only relevant for methods. */
13805 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13806 : };
13807 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13808 : static_assert(0 < 1, "There is no slot for us");
13809 : static const JSJitInfo columnRule_setterinfo = {
13810 : { (JSJitGetterOp)set_columnRule },
13811 : { prototypes::id::CSS2Properties },
13812 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13813 : JSJitInfo::Setter,
13814 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13815 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
13816 : false, /* isInfallible. False in setters. */
13817 : false, /* isMovable. Not relevant for setters. */
13818 : false, /* isEliminatable. Not relevant for setters. */
13819 : false, /* isAlwaysInSlot. Only relevant for getters. */
13820 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13821 : false, /* isTypedMethod. Only relevant for methods. */
13822 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13823 : };
13824 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13825 : static_assert(0 < 1, "There is no slot for us");
13826 :
13827 : static bool
13828 0 : get_column_rule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
13829 : {
13830 0 : binding_detail::FastErrorResult rv;
13831 0 : DOMString result;
13832 0 : self->GetColumnRule(result, rv);
13833 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13834 0 : return false;
13835 : }
13836 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13837 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
13838 0 : return false;
13839 : }
13840 0 : return true;
13841 : }
13842 :
13843 : static bool
13844 0 : set_column_rule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
13845 : {
13846 0 : binding_detail::FakeString arg0;
13847 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
13848 0 : return false;
13849 : }
13850 0 : binding_detail::FastErrorResult rv;
13851 0 : self->SetColumnRule(NonNullHelper(Constify(arg0)), rv);
13852 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13853 0 : return false;
13854 : }
13855 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13856 :
13857 0 : return true;
13858 : }
13859 :
13860 : static const JSJitInfo column_rule_getterinfo = {
13861 : { (JSJitGetterOp)get_column_rule },
13862 : { prototypes::id::CSS2Properties },
13863 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13864 : JSJitInfo::Getter,
13865 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13866 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
13867 : false, /* isInfallible. False in setters. */
13868 : false, /* isMovable. Not relevant for setters. */
13869 : false, /* isEliminatable. Not relevant for setters. */
13870 : false, /* isAlwaysInSlot. Only relevant for getters. */
13871 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13872 : false, /* isTypedMethod. Only relevant for methods. */
13873 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13874 : };
13875 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13876 : static_assert(0 < 1, "There is no slot for us");
13877 : static const JSJitInfo column_rule_setterinfo = {
13878 : { (JSJitGetterOp)set_column_rule },
13879 : { prototypes::id::CSS2Properties },
13880 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13881 : JSJitInfo::Setter,
13882 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13883 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
13884 : false, /* isInfallible. False in setters. */
13885 : false, /* isMovable. Not relevant for setters. */
13886 : false, /* isEliminatable. Not relevant for setters. */
13887 : false, /* isAlwaysInSlot. Only relevant for getters. */
13888 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13889 : false, /* isTypedMethod. Only relevant for methods. */
13890 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13891 : };
13892 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13893 : static_assert(0 < 1, "There is no slot for us");
13894 :
13895 : static bool
13896 0 : get_columnRuleColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
13897 : {
13898 0 : binding_detail::FastErrorResult rv;
13899 0 : DOMString result;
13900 0 : self->GetColumnRuleColor(result, rv);
13901 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13902 0 : return false;
13903 : }
13904 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13905 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
13906 0 : return false;
13907 : }
13908 0 : return true;
13909 : }
13910 :
13911 : static bool
13912 0 : set_columnRuleColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
13913 : {
13914 0 : binding_detail::FakeString arg0;
13915 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
13916 0 : return false;
13917 : }
13918 0 : binding_detail::FastErrorResult rv;
13919 0 : self->SetColumnRuleColor(NonNullHelper(Constify(arg0)), rv);
13920 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13921 0 : return false;
13922 : }
13923 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13924 :
13925 0 : return true;
13926 : }
13927 :
13928 : static const JSJitInfo columnRuleColor_getterinfo = {
13929 : { (JSJitGetterOp)get_columnRuleColor },
13930 : { prototypes::id::CSS2Properties },
13931 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13932 : JSJitInfo::Getter,
13933 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13934 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
13935 : false, /* isInfallible. False in setters. */
13936 : false, /* isMovable. Not relevant for setters. */
13937 : false, /* isEliminatable. Not relevant for setters. */
13938 : false, /* isAlwaysInSlot. Only relevant for getters. */
13939 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13940 : false, /* isTypedMethod. Only relevant for methods. */
13941 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13942 : };
13943 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13944 : static_assert(0 < 1, "There is no slot for us");
13945 : static const JSJitInfo columnRuleColor_setterinfo = {
13946 : { (JSJitGetterOp)set_columnRuleColor },
13947 : { prototypes::id::CSS2Properties },
13948 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
13949 : JSJitInfo::Setter,
13950 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
13951 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
13952 : false, /* isInfallible. False in setters. */
13953 : false, /* isMovable. Not relevant for setters. */
13954 : false, /* isEliminatable. Not relevant for setters. */
13955 : false, /* isAlwaysInSlot. Only relevant for getters. */
13956 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
13957 : false, /* isTypedMethod. Only relevant for methods. */
13958 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
13959 : };
13960 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
13961 : static_assert(0 < 1, "There is no slot for us");
13962 :
13963 : static bool
13964 0 : get_column_rule_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
13965 : {
13966 0 : binding_detail::FastErrorResult rv;
13967 0 : DOMString result;
13968 0 : self->GetColumnRuleColor(result, rv);
13969 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13970 0 : return false;
13971 : }
13972 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13973 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
13974 0 : return false;
13975 : }
13976 0 : return true;
13977 : }
13978 :
13979 : static bool
13980 0 : set_column_rule_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
13981 : {
13982 0 : binding_detail::FakeString arg0;
13983 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
13984 0 : return false;
13985 : }
13986 0 : binding_detail::FastErrorResult rv;
13987 0 : self->SetColumnRuleColor(NonNullHelper(Constify(arg0)), rv);
13988 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
13989 0 : return false;
13990 : }
13991 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
13992 :
13993 0 : return true;
13994 : }
13995 :
13996 : static const JSJitInfo column_rule_color_getterinfo = {
13997 : { (JSJitGetterOp)get_column_rule_color },
13998 : { prototypes::id::CSS2Properties },
13999 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14000 : JSJitInfo::Getter,
14001 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14002 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
14003 : false, /* isInfallible. False in setters. */
14004 : false, /* isMovable. Not relevant for setters. */
14005 : false, /* isEliminatable. Not relevant for setters. */
14006 : false, /* isAlwaysInSlot. Only relevant for getters. */
14007 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14008 : false, /* isTypedMethod. Only relevant for methods. */
14009 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14010 : };
14011 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14012 : static_assert(0 < 1, "There is no slot for us");
14013 : static const JSJitInfo column_rule_color_setterinfo = {
14014 : { (JSJitGetterOp)set_column_rule_color },
14015 : { prototypes::id::CSS2Properties },
14016 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14017 : JSJitInfo::Setter,
14018 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14019 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
14020 : false, /* isInfallible. False in setters. */
14021 : false, /* isMovable. Not relevant for setters. */
14022 : false, /* isEliminatable. Not relevant for setters. */
14023 : false, /* isAlwaysInSlot. Only relevant for getters. */
14024 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14025 : false, /* isTypedMethod. Only relevant for methods. */
14026 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14027 : };
14028 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14029 : static_assert(0 < 1, "There is no slot for us");
14030 :
14031 : static bool
14032 0 : get_columnRuleStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
14033 : {
14034 0 : binding_detail::FastErrorResult rv;
14035 0 : DOMString result;
14036 0 : self->GetColumnRuleStyle(result, rv);
14037 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14038 0 : return false;
14039 : }
14040 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14041 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
14042 0 : return false;
14043 : }
14044 0 : return true;
14045 : }
14046 :
14047 : static bool
14048 0 : set_columnRuleStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
14049 : {
14050 0 : binding_detail::FakeString arg0;
14051 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
14052 0 : return false;
14053 : }
14054 0 : binding_detail::FastErrorResult rv;
14055 0 : self->SetColumnRuleStyle(NonNullHelper(Constify(arg0)), rv);
14056 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14057 0 : return false;
14058 : }
14059 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14060 :
14061 0 : return true;
14062 : }
14063 :
14064 : static const JSJitInfo columnRuleStyle_getterinfo = {
14065 : { (JSJitGetterOp)get_columnRuleStyle },
14066 : { prototypes::id::CSS2Properties },
14067 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14068 : JSJitInfo::Getter,
14069 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14070 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
14071 : false, /* isInfallible. False in setters. */
14072 : false, /* isMovable. Not relevant for setters. */
14073 : false, /* isEliminatable. Not relevant for setters. */
14074 : false, /* isAlwaysInSlot. Only relevant for getters. */
14075 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14076 : false, /* isTypedMethod. Only relevant for methods. */
14077 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14078 : };
14079 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14080 : static_assert(0 < 1, "There is no slot for us");
14081 : static const JSJitInfo columnRuleStyle_setterinfo = {
14082 : { (JSJitGetterOp)set_columnRuleStyle },
14083 : { prototypes::id::CSS2Properties },
14084 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14085 : JSJitInfo::Setter,
14086 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14087 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
14088 : false, /* isInfallible. False in setters. */
14089 : false, /* isMovable. Not relevant for setters. */
14090 : false, /* isEliminatable. Not relevant for setters. */
14091 : false, /* isAlwaysInSlot. Only relevant for getters. */
14092 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14093 : false, /* isTypedMethod. Only relevant for methods. */
14094 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14095 : };
14096 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14097 : static_assert(0 < 1, "There is no slot for us");
14098 :
14099 : static bool
14100 0 : get_column_rule_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
14101 : {
14102 0 : binding_detail::FastErrorResult rv;
14103 0 : DOMString result;
14104 0 : self->GetColumnRuleStyle(result, rv);
14105 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14106 0 : return false;
14107 : }
14108 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14109 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
14110 0 : return false;
14111 : }
14112 0 : return true;
14113 : }
14114 :
14115 : static bool
14116 0 : set_column_rule_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
14117 : {
14118 0 : binding_detail::FakeString arg0;
14119 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
14120 0 : return false;
14121 : }
14122 0 : binding_detail::FastErrorResult rv;
14123 0 : self->SetColumnRuleStyle(NonNullHelper(Constify(arg0)), rv);
14124 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14125 0 : return false;
14126 : }
14127 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14128 :
14129 0 : return true;
14130 : }
14131 :
14132 : static const JSJitInfo column_rule_style_getterinfo = {
14133 : { (JSJitGetterOp)get_column_rule_style },
14134 : { prototypes::id::CSS2Properties },
14135 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14136 : JSJitInfo::Getter,
14137 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14138 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
14139 : false, /* isInfallible. False in setters. */
14140 : false, /* isMovable. Not relevant for setters. */
14141 : false, /* isEliminatable. Not relevant for setters. */
14142 : false, /* isAlwaysInSlot. Only relevant for getters. */
14143 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14144 : false, /* isTypedMethod. Only relevant for methods. */
14145 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14146 : };
14147 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14148 : static_assert(0 < 1, "There is no slot for us");
14149 : static const JSJitInfo column_rule_style_setterinfo = {
14150 : { (JSJitGetterOp)set_column_rule_style },
14151 : { prototypes::id::CSS2Properties },
14152 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14153 : JSJitInfo::Setter,
14154 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14155 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
14156 : false, /* isInfallible. False in setters. */
14157 : false, /* isMovable. Not relevant for setters. */
14158 : false, /* isEliminatable. Not relevant for setters. */
14159 : false, /* isAlwaysInSlot. Only relevant for getters. */
14160 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14161 : false, /* isTypedMethod. Only relevant for methods. */
14162 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14163 : };
14164 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14165 : static_assert(0 < 1, "There is no slot for us");
14166 :
14167 : static bool
14168 0 : get_columnRuleWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
14169 : {
14170 0 : binding_detail::FastErrorResult rv;
14171 0 : DOMString result;
14172 0 : self->GetColumnRuleWidth(result, rv);
14173 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14174 0 : return false;
14175 : }
14176 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14177 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
14178 0 : return false;
14179 : }
14180 0 : return true;
14181 : }
14182 :
14183 : static bool
14184 0 : set_columnRuleWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
14185 : {
14186 0 : binding_detail::FakeString arg0;
14187 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
14188 0 : return false;
14189 : }
14190 0 : binding_detail::FastErrorResult rv;
14191 0 : self->SetColumnRuleWidth(NonNullHelper(Constify(arg0)), rv);
14192 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14193 0 : return false;
14194 : }
14195 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14196 :
14197 0 : return true;
14198 : }
14199 :
14200 : static const JSJitInfo columnRuleWidth_getterinfo = {
14201 : { (JSJitGetterOp)get_columnRuleWidth },
14202 : { prototypes::id::CSS2Properties },
14203 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14204 : JSJitInfo::Getter,
14205 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14206 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
14207 : false, /* isInfallible. False in setters. */
14208 : false, /* isMovable. Not relevant for setters. */
14209 : false, /* isEliminatable. Not relevant for setters. */
14210 : false, /* isAlwaysInSlot. Only relevant for getters. */
14211 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14212 : false, /* isTypedMethod. Only relevant for methods. */
14213 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14214 : };
14215 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14216 : static_assert(0 < 1, "There is no slot for us");
14217 : static const JSJitInfo columnRuleWidth_setterinfo = {
14218 : { (JSJitGetterOp)set_columnRuleWidth },
14219 : { prototypes::id::CSS2Properties },
14220 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14221 : JSJitInfo::Setter,
14222 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14223 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
14224 : false, /* isInfallible. False in setters. */
14225 : false, /* isMovable. Not relevant for setters. */
14226 : false, /* isEliminatable. Not relevant for setters. */
14227 : false, /* isAlwaysInSlot. Only relevant for getters. */
14228 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14229 : false, /* isTypedMethod. Only relevant for methods. */
14230 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14231 : };
14232 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14233 : static_assert(0 < 1, "There is no slot for us");
14234 :
14235 : static bool
14236 0 : get_column_rule_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
14237 : {
14238 0 : binding_detail::FastErrorResult rv;
14239 0 : DOMString result;
14240 0 : self->GetColumnRuleWidth(result, rv);
14241 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14242 0 : return false;
14243 : }
14244 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14245 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
14246 0 : return false;
14247 : }
14248 0 : return true;
14249 : }
14250 :
14251 : static bool
14252 0 : set_column_rule_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
14253 : {
14254 0 : binding_detail::FakeString arg0;
14255 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
14256 0 : return false;
14257 : }
14258 0 : binding_detail::FastErrorResult rv;
14259 0 : self->SetColumnRuleWidth(NonNullHelper(Constify(arg0)), rv);
14260 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14261 0 : return false;
14262 : }
14263 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14264 :
14265 0 : return true;
14266 : }
14267 :
14268 : static const JSJitInfo column_rule_width_getterinfo = {
14269 : { (JSJitGetterOp)get_column_rule_width },
14270 : { prototypes::id::CSS2Properties },
14271 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14272 : JSJitInfo::Getter,
14273 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14274 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
14275 : false, /* isInfallible. False in setters. */
14276 : false, /* isMovable. Not relevant for setters. */
14277 : false, /* isEliminatable. Not relevant for setters. */
14278 : false, /* isAlwaysInSlot. Only relevant for getters. */
14279 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14280 : false, /* isTypedMethod. Only relevant for methods. */
14281 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14282 : };
14283 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14284 : static_assert(0 < 1, "There is no slot for us");
14285 : static const JSJitInfo column_rule_width_setterinfo = {
14286 : { (JSJitGetterOp)set_column_rule_width },
14287 : { prototypes::id::CSS2Properties },
14288 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14289 : JSJitInfo::Setter,
14290 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14291 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
14292 : false, /* isInfallible. False in setters. */
14293 : false, /* isMovable. Not relevant for setters. */
14294 : false, /* isEliminatable. Not relevant for setters. */
14295 : false, /* isAlwaysInSlot. Only relevant for getters. */
14296 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14297 : false, /* isTypedMethod. Only relevant for methods. */
14298 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14299 : };
14300 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14301 : static_assert(0 < 1, "There is no slot for us");
14302 :
14303 : static bool
14304 0 : get_columnSpan(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
14305 : {
14306 0 : binding_detail::FastErrorResult rv;
14307 0 : DOMString result;
14308 0 : self->GetColumnSpan(result, rv);
14309 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14310 0 : return false;
14311 : }
14312 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14313 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
14314 0 : return false;
14315 : }
14316 0 : return true;
14317 : }
14318 :
14319 : static bool
14320 0 : set_columnSpan(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
14321 : {
14322 0 : binding_detail::FakeString arg0;
14323 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
14324 0 : return false;
14325 : }
14326 0 : binding_detail::FastErrorResult rv;
14327 0 : self->SetColumnSpan(NonNullHelper(Constify(arg0)), rv);
14328 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14329 0 : return false;
14330 : }
14331 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14332 :
14333 0 : return true;
14334 : }
14335 :
14336 : static const JSJitInfo columnSpan_getterinfo = {
14337 : { (JSJitGetterOp)get_columnSpan },
14338 : { prototypes::id::CSS2Properties },
14339 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14340 : JSJitInfo::Getter,
14341 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14342 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
14343 : false, /* isInfallible. False in setters. */
14344 : false, /* isMovable. Not relevant for setters. */
14345 : false, /* isEliminatable. Not relevant for setters. */
14346 : false, /* isAlwaysInSlot. Only relevant for getters. */
14347 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14348 : false, /* isTypedMethod. Only relevant for methods. */
14349 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14350 : };
14351 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14352 : static_assert(0 < 1, "There is no slot for us");
14353 : static const JSJitInfo columnSpan_setterinfo = {
14354 : { (JSJitGetterOp)set_columnSpan },
14355 : { prototypes::id::CSS2Properties },
14356 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14357 : JSJitInfo::Setter,
14358 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14359 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
14360 : false, /* isInfallible. False in setters. */
14361 : false, /* isMovable. Not relevant for setters. */
14362 : false, /* isEliminatable. Not relevant for setters. */
14363 : false, /* isAlwaysInSlot. Only relevant for getters. */
14364 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14365 : false, /* isTypedMethod. Only relevant for methods. */
14366 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14367 : };
14368 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14369 : static_assert(0 < 1, "There is no slot for us");
14370 :
14371 : static bool
14372 0 : get_column_span(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
14373 : {
14374 0 : binding_detail::FastErrorResult rv;
14375 0 : DOMString result;
14376 0 : self->GetColumnSpan(result, rv);
14377 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14378 0 : return false;
14379 : }
14380 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14381 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
14382 0 : return false;
14383 : }
14384 0 : return true;
14385 : }
14386 :
14387 : static bool
14388 0 : set_column_span(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
14389 : {
14390 0 : binding_detail::FakeString arg0;
14391 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
14392 0 : return false;
14393 : }
14394 0 : binding_detail::FastErrorResult rv;
14395 0 : self->SetColumnSpan(NonNullHelper(Constify(arg0)), rv);
14396 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14397 0 : return false;
14398 : }
14399 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14400 :
14401 0 : return true;
14402 : }
14403 :
14404 : static const JSJitInfo column_span_getterinfo = {
14405 : { (JSJitGetterOp)get_column_span },
14406 : { prototypes::id::CSS2Properties },
14407 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14408 : JSJitInfo::Getter,
14409 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14410 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
14411 : false, /* isInfallible. False in setters. */
14412 : false, /* isMovable. Not relevant for setters. */
14413 : false, /* isEliminatable. Not relevant for setters. */
14414 : false, /* isAlwaysInSlot. Only relevant for getters. */
14415 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14416 : false, /* isTypedMethod. Only relevant for methods. */
14417 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14418 : };
14419 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14420 : static_assert(0 < 1, "There is no slot for us");
14421 : static const JSJitInfo column_span_setterinfo = {
14422 : { (JSJitGetterOp)set_column_span },
14423 : { prototypes::id::CSS2Properties },
14424 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14425 : JSJitInfo::Setter,
14426 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14427 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
14428 : false, /* isInfallible. False in setters. */
14429 : false, /* isMovable. Not relevant for setters. */
14430 : false, /* isEliminatable. Not relevant for setters. */
14431 : false, /* isAlwaysInSlot. Only relevant for getters. */
14432 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14433 : false, /* isTypedMethod. Only relevant for methods. */
14434 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14435 : };
14436 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14437 : static_assert(0 < 1, "There is no slot for us");
14438 :
14439 : static bool
14440 0 : get_columnWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
14441 : {
14442 0 : binding_detail::FastErrorResult rv;
14443 0 : DOMString result;
14444 0 : self->GetColumnWidth(result, rv);
14445 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14446 0 : return false;
14447 : }
14448 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14449 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
14450 0 : return false;
14451 : }
14452 0 : return true;
14453 : }
14454 :
14455 : static bool
14456 0 : set_columnWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
14457 : {
14458 0 : binding_detail::FakeString arg0;
14459 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
14460 0 : return false;
14461 : }
14462 0 : binding_detail::FastErrorResult rv;
14463 0 : self->SetColumnWidth(NonNullHelper(Constify(arg0)), rv);
14464 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14465 0 : return false;
14466 : }
14467 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14468 :
14469 0 : return true;
14470 : }
14471 :
14472 : static const JSJitInfo columnWidth_getterinfo = {
14473 : { (JSJitGetterOp)get_columnWidth },
14474 : { prototypes::id::CSS2Properties },
14475 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14476 : JSJitInfo::Getter,
14477 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14478 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
14479 : false, /* isInfallible. False in setters. */
14480 : false, /* isMovable. Not relevant for setters. */
14481 : false, /* isEliminatable. Not relevant for setters. */
14482 : false, /* isAlwaysInSlot. Only relevant for getters. */
14483 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14484 : false, /* isTypedMethod. Only relevant for methods. */
14485 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14486 : };
14487 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14488 : static_assert(0 < 1, "There is no slot for us");
14489 : static const JSJitInfo columnWidth_setterinfo = {
14490 : { (JSJitGetterOp)set_columnWidth },
14491 : { prototypes::id::CSS2Properties },
14492 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14493 : JSJitInfo::Setter,
14494 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14495 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
14496 : false, /* isInfallible. False in setters. */
14497 : false, /* isMovable. Not relevant for setters. */
14498 : false, /* isEliminatable. Not relevant for setters. */
14499 : false, /* isAlwaysInSlot. Only relevant for getters. */
14500 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14501 : false, /* isTypedMethod. Only relevant for methods. */
14502 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14503 : };
14504 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14505 : static_assert(0 < 1, "There is no slot for us");
14506 :
14507 : static bool
14508 0 : get_column_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
14509 : {
14510 0 : binding_detail::FastErrorResult rv;
14511 0 : DOMString result;
14512 0 : self->GetColumnWidth(result, rv);
14513 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14514 0 : return false;
14515 : }
14516 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14517 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
14518 0 : return false;
14519 : }
14520 0 : return true;
14521 : }
14522 :
14523 : static bool
14524 0 : set_column_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
14525 : {
14526 0 : binding_detail::FakeString arg0;
14527 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
14528 0 : return false;
14529 : }
14530 0 : binding_detail::FastErrorResult rv;
14531 0 : self->SetColumnWidth(NonNullHelper(Constify(arg0)), rv);
14532 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14533 0 : return false;
14534 : }
14535 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14536 :
14537 0 : return true;
14538 : }
14539 :
14540 : static const JSJitInfo column_width_getterinfo = {
14541 : { (JSJitGetterOp)get_column_width },
14542 : { prototypes::id::CSS2Properties },
14543 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14544 : JSJitInfo::Getter,
14545 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14546 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
14547 : false, /* isInfallible. False in setters. */
14548 : false, /* isMovable. Not relevant for setters. */
14549 : false, /* isEliminatable. Not relevant for setters. */
14550 : false, /* isAlwaysInSlot. Only relevant for getters. */
14551 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14552 : false, /* isTypedMethod. Only relevant for methods. */
14553 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14554 : };
14555 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14556 : static_assert(0 < 1, "There is no slot for us");
14557 : static const JSJitInfo column_width_setterinfo = {
14558 : { (JSJitGetterOp)set_column_width },
14559 : { prototypes::id::CSS2Properties },
14560 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14561 : JSJitInfo::Setter,
14562 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14563 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
14564 : false, /* isInfallible. False in setters. */
14565 : false, /* isMovable. Not relevant for setters. */
14566 : false, /* isEliminatable. Not relevant for setters. */
14567 : false, /* isAlwaysInSlot. Only relevant for getters. */
14568 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14569 : false, /* isTypedMethod. Only relevant for methods. */
14570 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14571 : };
14572 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14573 : static_assert(0 < 1, "There is no slot for us");
14574 :
14575 : static bool
14576 0 : get_columns(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
14577 : {
14578 0 : binding_detail::FastErrorResult rv;
14579 0 : DOMString result;
14580 0 : self->GetColumns(result, rv);
14581 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14582 0 : return false;
14583 : }
14584 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14585 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
14586 0 : return false;
14587 : }
14588 0 : return true;
14589 : }
14590 :
14591 : static bool
14592 0 : set_columns(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
14593 : {
14594 0 : binding_detail::FakeString arg0;
14595 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
14596 0 : return false;
14597 : }
14598 0 : binding_detail::FastErrorResult rv;
14599 0 : self->SetColumns(NonNullHelper(Constify(arg0)), rv);
14600 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14601 0 : return false;
14602 : }
14603 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14604 :
14605 0 : return true;
14606 : }
14607 :
14608 : static const JSJitInfo columns_getterinfo = {
14609 : { (JSJitGetterOp)get_columns },
14610 : { prototypes::id::CSS2Properties },
14611 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14612 : JSJitInfo::Getter,
14613 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14614 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
14615 : false, /* isInfallible. False in setters. */
14616 : false, /* isMovable. Not relevant for setters. */
14617 : false, /* isEliminatable. Not relevant for setters. */
14618 : false, /* isAlwaysInSlot. Only relevant for getters. */
14619 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14620 : false, /* isTypedMethod. Only relevant for methods. */
14621 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14622 : };
14623 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14624 : static_assert(0 < 1, "There is no slot for us");
14625 : static const JSJitInfo columns_setterinfo = {
14626 : { (JSJitGetterOp)set_columns },
14627 : { prototypes::id::CSS2Properties },
14628 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14629 : JSJitInfo::Setter,
14630 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14631 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
14632 : false, /* isInfallible. False in setters. */
14633 : false, /* isMovable. Not relevant for setters. */
14634 : false, /* isEliminatable. Not relevant for setters. */
14635 : false, /* isAlwaysInSlot. Only relevant for getters. */
14636 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14637 : false, /* isTypedMethod. Only relevant for methods. */
14638 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14639 : };
14640 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14641 : static_assert(0 < 1, "There is no slot for us");
14642 :
14643 : static bool
14644 0 : get_contain(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
14645 : {
14646 0 : binding_detail::FastErrorResult rv;
14647 0 : DOMString result;
14648 0 : self->GetContain(result, rv);
14649 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14650 0 : return false;
14651 : }
14652 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14653 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
14654 0 : return false;
14655 : }
14656 0 : return true;
14657 : }
14658 :
14659 : static bool
14660 0 : set_contain(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
14661 : {
14662 0 : binding_detail::FakeString arg0;
14663 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
14664 0 : return false;
14665 : }
14666 0 : binding_detail::FastErrorResult rv;
14667 0 : self->SetContain(NonNullHelper(Constify(arg0)), rv);
14668 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14669 0 : return false;
14670 : }
14671 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14672 :
14673 0 : return true;
14674 : }
14675 :
14676 : static const JSJitInfo contain_getterinfo = {
14677 : { (JSJitGetterOp)get_contain },
14678 : { prototypes::id::CSS2Properties },
14679 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14680 : JSJitInfo::Getter,
14681 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14682 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
14683 : false, /* isInfallible. False in setters. */
14684 : false, /* isMovable. Not relevant for setters. */
14685 : false, /* isEliminatable. Not relevant for setters. */
14686 : false, /* isAlwaysInSlot. Only relevant for getters. */
14687 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14688 : false, /* isTypedMethod. Only relevant for methods. */
14689 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14690 : };
14691 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14692 : static_assert(0 < 1, "There is no slot for us");
14693 : static const JSJitInfo contain_setterinfo = {
14694 : { (JSJitGetterOp)set_contain },
14695 : { prototypes::id::CSS2Properties },
14696 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14697 : JSJitInfo::Setter,
14698 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14699 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
14700 : false, /* isInfallible. False in setters. */
14701 : false, /* isMovable. Not relevant for setters. */
14702 : false, /* isEliminatable. Not relevant for setters. */
14703 : false, /* isAlwaysInSlot. Only relevant for getters. */
14704 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14705 : false, /* isTypedMethod. Only relevant for methods. */
14706 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14707 : };
14708 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14709 : static_assert(0 < 1, "There is no slot for us");
14710 :
14711 : static bool
14712 0 : get_content(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
14713 : {
14714 0 : binding_detail::FastErrorResult rv;
14715 0 : DOMString result;
14716 0 : self->GetContent(result, rv);
14717 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14718 0 : return false;
14719 : }
14720 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14721 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
14722 0 : return false;
14723 : }
14724 0 : return true;
14725 : }
14726 :
14727 : static bool
14728 0 : set_content(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
14729 : {
14730 0 : binding_detail::FakeString arg0;
14731 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
14732 0 : return false;
14733 : }
14734 0 : binding_detail::FastErrorResult rv;
14735 0 : self->SetContent(NonNullHelper(Constify(arg0)), rv);
14736 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14737 0 : return false;
14738 : }
14739 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14740 :
14741 0 : return true;
14742 : }
14743 :
14744 : static const JSJitInfo content_getterinfo = {
14745 : { (JSJitGetterOp)get_content },
14746 : { prototypes::id::CSS2Properties },
14747 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14748 : JSJitInfo::Getter,
14749 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14750 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
14751 : false, /* isInfallible. False in setters. */
14752 : false, /* isMovable. Not relevant for setters. */
14753 : false, /* isEliminatable. Not relevant for setters. */
14754 : false, /* isAlwaysInSlot. Only relevant for getters. */
14755 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14756 : false, /* isTypedMethod. Only relevant for methods. */
14757 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14758 : };
14759 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14760 : static_assert(0 < 1, "There is no slot for us");
14761 : static const JSJitInfo content_setterinfo = {
14762 : { (JSJitGetterOp)set_content },
14763 : { prototypes::id::CSS2Properties },
14764 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14765 : JSJitInfo::Setter,
14766 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14767 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
14768 : false, /* isInfallible. False in setters. */
14769 : false, /* isMovable. Not relevant for setters. */
14770 : false, /* isEliminatable. Not relevant for setters. */
14771 : false, /* isAlwaysInSlot. Only relevant for getters. */
14772 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14773 : false, /* isTypedMethod. Only relevant for methods. */
14774 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14775 : };
14776 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14777 : static_assert(0 < 1, "There is no slot for us");
14778 :
14779 : static bool
14780 0 : get_counterIncrement(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
14781 : {
14782 0 : binding_detail::FastErrorResult rv;
14783 0 : DOMString result;
14784 0 : self->GetCounterIncrement(result, rv);
14785 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14786 0 : return false;
14787 : }
14788 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14789 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
14790 0 : return false;
14791 : }
14792 0 : return true;
14793 : }
14794 :
14795 : static bool
14796 0 : set_counterIncrement(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
14797 : {
14798 0 : binding_detail::FakeString arg0;
14799 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
14800 0 : return false;
14801 : }
14802 0 : binding_detail::FastErrorResult rv;
14803 0 : self->SetCounterIncrement(NonNullHelper(Constify(arg0)), rv);
14804 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14805 0 : return false;
14806 : }
14807 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14808 :
14809 0 : return true;
14810 : }
14811 :
14812 : static const JSJitInfo counterIncrement_getterinfo = {
14813 : { (JSJitGetterOp)get_counterIncrement },
14814 : { prototypes::id::CSS2Properties },
14815 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14816 : JSJitInfo::Getter,
14817 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14818 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
14819 : false, /* isInfallible. False in setters. */
14820 : false, /* isMovable. Not relevant for setters. */
14821 : false, /* isEliminatable. Not relevant for setters. */
14822 : false, /* isAlwaysInSlot. Only relevant for getters. */
14823 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14824 : false, /* isTypedMethod. Only relevant for methods. */
14825 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14826 : };
14827 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14828 : static_assert(0 < 1, "There is no slot for us");
14829 : static const JSJitInfo counterIncrement_setterinfo = {
14830 : { (JSJitGetterOp)set_counterIncrement },
14831 : { prototypes::id::CSS2Properties },
14832 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14833 : JSJitInfo::Setter,
14834 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14835 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
14836 : false, /* isInfallible. False in setters. */
14837 : false, /* isMovable. Not relevant for setters. */
14838 : false, /* isEliminatable. Not relevant for setters. */
14839 : false, /* isAlwaysInSlot. Only relevant for getters. */
14840 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14841 : false, /* isTypedMethod. Only relevant for methods. */
14842 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14843 : };
14844 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14845 : static_assert(0 < 1, "There is no slot for us");
14846 :
14847 : static bool
14848 0 : get_counter_increment(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
14849 : {
14850 0 : binding_detail::FastErrorResult rv;
14851 0 : DOMString result;
14852 0 : self->GetCounterIncrement(result, rv);
14853 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14854 0 : return false;
14855 : }
14856 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14857 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
14858 0 : return false;
14859 : }
14860 0 : return true;
14861 : }
14862 :
14863 : static bool
14864 0 : set_counter_increment(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
14865 : {
14866 0 : binding_detail::FakeString arg0;
14867 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
14868 0 : return false;
14869 : }
14870 0 : binding_detail::FastErrorResult rv;
14871 0 : self->SetCounterIncrement(NonNullHelper(Constify(arg0)), rv);
14872 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14873 0 : return false;
14874 : }
14875 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14876 :
14877 0 : return true;
14878 : }
14879 :
14880 : static const JSJitInfo counter_increment_getterinfo = {
14881 : { (JSJitGetterOp)get_counter_increment },
14882 : { prototypes::id::CSS2Properties },
14883 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14884 : JSJitInfo::Getter,
14885 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14886 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
14887 : false, /* isInfallible. False in setters. */
14888 : false, /* isMovable. Not relevant for setters. */
14889 : false, /* isEliminatable. Not relevant for setters. */
14890 : false, /* isAlwaysInSlot. Only relevant for getters. */
14891 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14892 : false, /* isTypedMethod. Only relevant for methods. */
14893 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14894 : };
14895 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14896 : static_assert(0 < 1, "There is no slot for us");
14897 : static const JSJitInfo counter_increment_setterinfo = {
14898 : { (JSJitGetterOp)set_counter_increment },
14899 : { prototypes::id::CSS2Properties },
14900 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14901 : JSJitInfo::Setter,
14902 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14903 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
14904 : false, /* isInfallible. False in setters. */
14905 : false, /* isMovable. Not relevant for setters. */
14906 : false, /* isEliminatable. Not relevant for setters. */
14907 : false, /* isAlwaysInSlot. Only relevant for getters. */
14908 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14909 : false, /* isTypedMethod. Only relevant for methods. */
14910 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14911 : };
14912 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14913 : static_assert(0 < 1, "There is no slot for us");
14914 :
14915 : static bool
14916 0 : get_counterReset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
14917 : {
14918 0 : binding_detail::FastErrorResult rv;
14919 0 : DOMString result;
14920 0 : self->GetCounterReset(result, rv);
14921 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14922 0 : return false;
14923 : }
14924 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14925 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
14926 0 : return false;
14927 : }
14928 0 : return true;
14929 : }
14930 :
14931 : static bool
14932 0 : set_counterReset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
14933 : {
14934 0 : binding_detail::FakeString arg0;
14935 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
14936 0 : return false;
14937 : }
14938 0 : binding_detail::FastErrorResult rv;
14939 0 : self->SetCounterReset(NonNullHelper(Constify(arg0)), rv);
14940 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14941 0 : return false;
14942 : }
14943 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14944 :
14945 0 : return true;
14946 : }
14947 :
14948 : static const JSJitInfo counterReset_getterinfo = {
14949 : { (JSJitGetterOp)get_counterReset },
14950 : { prototypes::id::CSS2Properties },
14951 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14952 : JSJitInfo::Getter,
14953 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14954 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
14955 : false, /* isInfallible. False in setters. */
14956 : false, /* isMovable. Not relevant for setters. */
14957 : false, /* isEliminatable. Not relevant for setters. */
14958 : false, /* isAlwaysInSlot. Only relevant for getters. */
14959 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14960 : false, /* isTypedMethod. Only relevant for methods. */
14961 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14962 : };
14963 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14964 : static_assert(0 < 1, "There is no slot for us");
14965 : static const JSJitInfo counterReset_setterinfo = {
14966 : { (JSJitGetterOp)set_counterReset },
14967 : { prototypes::id::CSS2Properties },
14968 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
14969 : JSJitInfo::Setter,
14970 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
14971 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
14972 : false, /* isInfallible. False in setters. */
14973 : false, /* isMovable. Not relevant for setters. */
14974 : false, /* isEliminatable. Not relevant for setters. */
14975 : false, /* isAlwaysInSlot. Only relevant for getters. */
14976 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
14977 : false, /* isTypedMethod. Only relevant for methods. */
14978 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
14979 : };
14980 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
14981 : static_assert(0 < 1, "There is no slot for us");
14982 :
14983 : static bool
14984 0 : get_counter_reset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
14985 : {
14986 0 : binding_detail::FastErrorResult rv;
14987 0 : DOMString result;
14988 0 : self->GetCounterReset(result, rv);
14989 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
14990 0 : return false;
14991 : }
14992 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
14993 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
14994 0 : return false;
14995 : }
14996 0 : return true;
14997 : }
14998 :
14999 : static bool
15000 0 : set_counter_reset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
15001 : {
15002 0 : binding_detail::FakeString arg0;
15003 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
15004 0 : return false;
15005 : }
15006 0 : binding_detail::FastErrorResult rv;
15007 0 : self->SetCounterReset(NonNullHelper(Constify(arg0)), rv);
15008 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15009 0 : return false;
15010 : }
15011 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15012 :
15013 0 : return true;
15014 : }
15015 :
15016 : static const JSJitInfo counter_reset_getterinfo = {
15017 : { (JSJitGetterOp)get_counter_reset },
15018 : { prototypes::id::CSS2Properties },
15019 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15020 : JSJitInfo::Getter,
15021 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15022 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
15023 : false, /* isInfallible. False in setters. */
15024 : false, /* isMovable. Not relevant for setters. */
15025 : false, /* isEliminatable. Not relevant for setters. */
15026 : false, /* isAlwaysInSlot. Only relevant for getters. */
15027 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15028 : false, /* isTypedMethod. Only relevant for methods. */
15029 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15030 : };
15031 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15032 : static_assert(0 < 1, "There is no slot for us");
15033 : static const JSJitInfo counter_reset_setterinfo = {
15034 : { (JSJitGetterOp)set_counter_reset },
15035 : { prototypes::id::CSS2Properties },
15036 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15037 : JSJitInfo::Setter,
15038 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15039 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
15040 : false, /* isInfallible. False in setters. */
15041 : false, /* isMovable. Not relevant for setters. */
15042 : false, /* isEliminatable. Not relevant for setters. */
15043 : false, /* isAlwaysInSlot. Only relevant for getters. */
15044 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15045 : false, /* isTypedMethod. Only relevant for methods. */
15046 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15047 : };
15048 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15049 : static_assert(0 < 1, "There is no slot for us");
15050 :
15051 : static bool
15052 0 : get_cursor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
15053 : {
15054 0 : binding_detail::FastErrorResult rv;
15055 0 : DOMString result;
15056 0 : self->GetCursor(result, rv);
15057 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15058 0 : return false;
15059 : }
15060 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15061 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
15062 0 : return false;
15063 : }
15064 0 : return true;
15065 : }
15066 :
15067 : static bool
15068 0 : set_cursor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
15069 : {
15070 0 : binding_detail::FakeString arg0;
15071 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
15072 0 : return false;
15073 : }
15074 0 : binding_detail::FastErrorResult rv;
15075 0 : self->SetCursor(NonNullHelper(Constify(arg0)), rv);
15076 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15077 0 : return false;
15078 : }
15079 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15080 :
15081 0 : return true;
15082 : }
15083 :
15084 : static const JSJitInfo cursor_getterinfo = {
15085 : { (JSJitGetterOp)get_cursor },
15086 : { prototypes::id::CSS2Properties },
15087 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15088 : JSJitInfo::Getter,
15089 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15090 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
15091 : false, /* isInfallible. False in setters. */
15092 : false, /* isMovable. Not relevant for setters. */
15093 : false, /* isEliminatable. Not relevant for setters. */
15094 : false, /* isAlwaysInSlot. Only relevant for getters. */
15095 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15096 : false, /* isTypedMethod. Only relevant for methods. */
15097 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15098 : };
15099 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15100 : static_assert(0 < 1, "There is no slot for us");
15101 : static const JSJitInfo cursor_setterinfo = {
15102 : { (JSJitGetterOp)set_cursor },
15103 : { prototypes::id::CSS2Properties },
15104 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15105 : JSJitInfo::Setter,
15106 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15107 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
15108 : false, /* isInfallible. False in setters. */
15109 : false, /* isMovable. Not relevant for setters. */
15110 : false, /* isEliminatable. Not relevant for setters. */
15111 : false, /* isAlwaysInSlot. Only relevant for getters. */
15112 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15113 : false, /* isTypedMethod. Only relevant for methods. */
15114 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15115 : };
15116 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15117 : static_assert(0 < 1, "There is no slot for us");
15118 :
15119 : static bool
15120 1 : get_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
15121 : {
15122 2 : binding_detail::FastErrorResult rv;
15123 2 : DOMString result;
15124 1 : self->GetDirection(result, rv);
15125 1 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15126 0 : return false;
15127 : }
15128 1 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15129 1 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
15130 0 : return false;
15131 : }
15132 1 : return true;
15133 : }
15134 :
15135 : static bool
15136 4 : set_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
15137 : {
15138 8 : binding_detail::FakeString arg0;
15139 4 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
15140 0 : return false;
15141 : }
15142 8 : binding_detail::FastErrorResult rv;
15143 4 : self->SetDirection(NonNullHelper(Constify(arg0)), rv);
15144 4 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15145 0 : return false;
15146 : }
15147 4 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15148 :
15149 4 : return true;
15150 : }
15151 :
15152 : static const JSJitInfo direction_getterinfo = {
15153 : { (JSJitGetterOp)get_direction },
15154 : { prototypes::id::CSS2Properties },
15155 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15156 : JSJitInfo::Getter,
15157 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15158 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
15159 : false, /* isInfallible. False in setters. */
15160 : false, /* isMovable. Not relevant for setters. */
15161 : false, /* isEliminatable. Not relevant for setters. */
15162 : false, /* isAlwaysInSlot. Only relevant for getters. */
15163 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15164 : false, /* isTypedMethod. Only relevant for methods. */
15165 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15166 : };
15167 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15168 : static_assert(0 < 1, "There is no slot for us");
15169 : static const JSJitInfo direction_setterinfo = {
15170 : { (JSJitGetterOp)set_direction },
15171 : { prototypes::id::CSS2Properties },
15172 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15173 : JSJitInfo::Setter,
15174 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15175 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
15176 : false, /* isInfallible. False in setters. */
15177 : false, /* isMovable. Not relevant for setters. */
15178 : false, /* isEliminatable. Not relevant for setters. */
15179 : false, /* isAlwaysInSlot. Only relevant for getters. */
15180 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15181 : false, /* isTypedMethod. Only relevant for methods. */
15182 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15183 : };
15184 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15185 : static_assert(0 < 1, "There is no slot for us");
15186 :
15187 : static bool
15188 0 : get_display(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
15189 : {
15190 0 : binding_detail::FastErrorResult rv;
15191 0 : DOMString result;
15192 0 : self->GetDisplay(result, rv);
15193 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15194 0 : return false;
15195 : }
15196 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15197 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
15198 0 : return false;
15199 : }
15200 0 : return true;
15201 : }
15202 :
15203 : static bool
15204 0 : set_display(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
15205 : {
15206 0 : binding_detail::FakeString arg0;
15207 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
15208 0 : return false;
15209 : }
15210 0 : binding_detail::FastErrorResult rv;
15211 0 : self->SetDisplay(NonNullHelper(Constify(arg0)), rv);
15212 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15213 0 : return false;
15214 : }
15215 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15216 :
15217 0 : return true;
15218 : }
15219 :
15220 : static const JSJitInfo display_getterinfo = {
15221 : { (JSJitGetterOp)get_display },
15222 : { prototypes::id::CSS2Properties },
15223 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15224 : JSJitInfo::Getter,
15225 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15226 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
15227 : false, /* isInfallible. False in setters. */
15228 : false, /* isMovable. Not relevant for setters. */
15229 : false, /* isEliminatable. Not relevant for setters. */
15230 : false, /* isAlwaysInSlot. Only relevant for getters. */
15231 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15232 : false, /* isTypedMethod. Only relevant for methods. */
15233 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15234 : };
15235 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15236 : static_assert(0 < 1, "There is no slot for us");
15237 : static const JSJitInfo display_setterinfo = {
15238 : { (JSJitGetterOp)set_display },
15239 : { prototypes::id::CSS2Properties },
15240 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15241 : JSJitInfo::Setter,
15242 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15243 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
15244 : false, /* isInfallible. False in setters. */
15245 : false, /* isMovable. Not relevant for setters. */
15246 : false, /* isEliminatable. Not relevant for setters. */
15247 : false, /* isAlwaysInSlot. Only relevant for getters. */
15248 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15249 : false, /* isTypedMethod. Only relevant for methods. */
15250 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15251 : };
15252 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15253 : static_assert(0 < 1, "There is no slot for us");
15254 :
15255 : static bool
15256 0 : get_dominantBaseline(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
15257 : {
15258 0 : binding_detail::FastErrorResult rv;
15259 0 : DOMString result;
15260 0 : self->GetDominantBaseline(result, rv);
15261 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15262 0 : return false;
15263 : }
15264 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15265 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
15266 0 : return false;
15267 : }
15268 0 : return true;
15269 : }
15270 :
15271 : static bool
15272 0 : set_dominantBaseline(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
15273 : {
15274 0 : binding_detail::FakeString arg0;
15275 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
15276 0 : return false;
15277 : }
15278 0 : binding_detail::FastErrorResult rv;
15279 0 : self->SetDominantBaseline(NonNullHelper(Constify(arg0)), rv);
15280 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15281 0 : return false;
15282 : }
15283 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15284 :
15285 0 : return true;
15286 : }
15287 :
15288 : static const JSJitInfo dominantBaseline_getterinfo = {
15289 : { (JSJitGetterOp)get_dominantBaseline },
15290 : { prototypes::id::CSS2Properties },
15291 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15292 : JSJitInfo::Getter,
15293 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15294 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
15295 : false, /* isInfallible. False in setters. */
15296 : false, /* isMovable. Not relevant for setters. */
15297 : false, /* isEliminatable. Not relevant for setters. */
15298 : false, /* isAlwaysInSlot. Only relevant for getters. */
15299 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15300 : false, /* isTypedMethod. Only relevant for methods. */
15301 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15302 : };
15303 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15304 : static_assert(0 < 1, "There is no slot for us");
15305 : static const JSJitInfo dominantBaseline_setterinfo = {
15306 : { (JSJitGetterOp)set_dominantBaseline },
15307 : { prototypes::id::CSS2Properties },
15308 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15309 : JSJitInfo::Setter,
15310 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15311 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
15312 : false, /* isInfallible. False in setters. */
15313 : false, /* isMovable. Not relevant for setters. */
15314 : false, /* isEliminatable. Not relevant for setters. */
15315 : false, /* isAlwaysInSlot. Only relevant for getters. */
15316 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15317 : false, /* isTypedMethod. Only relevant for methods. */
15318 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15319 : };
15320 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15321 : static_assert(0 < 1, "There is no slot for us");
15322 :
15323 : static bool
15324 0 : get_dominant_baseline(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
15325 : {
15326 0 : binding_detail::FastErrorResult rv;
15327 0 : DOMString result;
15328 0 : self->GetDominantBaseline(result, rv);
15329 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15330 0 : return false;
15331 : }
15332 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15333 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
15334 0 : return false;
15335 : }
15336 0 : return true;
15337 : }
15338 :
15339 : static bool
15340 0 : set_dominant_baseline(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
15341 : {
15342 0 : binding_detail::FakeString arg0;
15343 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
15344 0 : return false;
15345 : }
15346 0 : binding_detail::FastErrorResult rv;
15347 0 : self->SetDominantBaseline(NonNullHelper(Constify(arg0)), rv);
15348 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15349 0 : return false;
15350 : }
15351 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15352 :
15353 0 : return true;
15354 : }
15355 :
15356 : static const JSJitInfo dominant_baseline_getterinfo = {
15357 : { (JSJitGetterOp)get_dominant_baseline },
15358 : { prototypes::id::CSS2Properties },
15359 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15360 : JSJitInfo::Getter,
15361 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15362 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
15363 : false, /* isInfallible. False in setters. */
15364 : false, /* isMovable. Not relevant for setters. */
15365 : false, /* isEliminatable. Not relevant for setters. */
15366 : false, /* isAlwaysInSlot. Only relevant for getters. */
15367 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15368 : false, /* isTypedMethod. Only relevant for methods. */
15369 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15370 : };
15371 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15372 : static_assert(0 < 1, "There is no slot for us");
15373 : static const JSJitInfo dominant_baseline_setterinfo = {
15374 : { (JSJitGetterOp)set_dominant_baseline },
15375 : { prototypes::id::CSS2Properties },
15376 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15377 : JSJitInfo::Setter,
15378 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15379 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
15380 : false, /* isInfallible. False in setters. */
15381 : false, /* isMovable. Not relevant for setters. */
15382 : false, /* isEliminatable. Not relevant for setters. */
15383 : false, /* isAlwaysInSlot. Only relevant for getters. */
15384 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15385 : false, /* isTypedMethod. Only relevant for methods. */
15386 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15387 : };
15388 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15389 : static_assert(0 < 1, "There is no slot for us");
15390 :
15391 : static bool
15392 0 : get_emptyCells(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
15393 : {
15394 0 : binding_detail::FastErrorResult rv;
15395 0 : DOMString result;
15396 0 : self->GetEmptyCells(result, rv);
15397 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15398 0 : return false;
15399 : }
15400 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15401 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
15402 0 : return false;
15403 : }
15404 0 : return true;
15405 : }
15406 :
15407 : static bool
15408 0 : set_emptyCells(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
15409 : {
15410 0 : binding_detail::FakeString arg0;
15411 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
15412 0 : return false;
15413 : }
15414 0 : binding_detail::FastErrorResult rv;
15415 0 : self->SetEmptyCells(NonNullHelper(Constify(arg0)), rv);
15416 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15417 0 : return false;
15418 : }
15419 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15420 :
15421 0 : return true;
15422 : }
15423 :
15424 : static const JSJitInfo emptyCells_getterinfo = {
15425 : { (JSJitGetterOp)get_emptyCells },
15426 : { prototypes::id::CSS2Properties },
15427 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15428 : JSJitInfo::Getter,
15429 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15430 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
15431 : false, /* isInfallible. False in setters. */
15432 : false, /* isMovable. Not relevant for setters. */
15433 : false, /* isEliminatable. Not relevant for setters. */
15434 : false, /* isAlwaysInSlot. Only relevant for getters. */
15435 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15436 : false, /* isTypedMethod. Only relevant for methods. */
15437 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15438 : };
15439 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15440 : static_assert(0 < 1, "There is no slot for us");
15441 : static const JSJitInfo emptyCells_setterinfo = {
15442 : { (JSJitGetterOp)set_emptyCells },
15443 : { prototypes::id::CSS2Properties },
15444 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15445 : JSJitInfo::Setter,
15446 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15447 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
15448 : false, /* isInfallible. False in setters. */
15449 : false, /* isMovable. Not relevant for setters. */
15450 : false, /* isEliminatable. Not relevant for setters. */
15451 : false, /* isAlwaysInSlot. Only relevant for getters. */
15452 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15453 : false, /* isTypedMethod. Only relevant for methods. */
15454 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15455 : };
15456 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15457 : static_assert(0 < 1, "There is no slot for us");
15458 :
15459 : static bool
15460 0 : get_empty_cells(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
15461 : {
15462 0 : binding_detail::FastErrorResult rv;
15463 0 : DOMString result;
15464 0 : self->GetEmptyCells(result, rv);
15465 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15466 0 : return false;
15467 : }
15468 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15469 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
15470 0 : return false;
15471 : }
15472 0 : return true;
15473 : }
15474 :
15475 : static bool
15476 0 : set_empty_cells(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
15477 : {
15478 0 : binding_detail::FakeString arg0;
15479 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
15480 0 : return false;
15481 : }
15482 0 : binding_detail::FastErrorResult rv;
15483 0 : self->SetEmptyCells(NonNullHelper(Constify(arg0)), rv);
15484 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15485 0 : return false;
15486 : }
15487 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15488 :
15489 0 : return true;
15490 : }
15491 :
15492 : static const JSJitInfo empty_cells_getterinfo = {
15493 : { (JSJitGetterOp)get_empty_cells },
15494 : { prototypes::id::CSS2Properties },
15495 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15496 : JSJitInfo::Getter,
15497 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15498 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
15499 : false, /* isInfallible. False in setters. */
15500 : false, /* isMovable. Not relevant for setters. */
15501 : false, /* isEliminatable. Not relevant for setters. */
15502 : false, /* isAlwaysInSlot. Only relevant for getters. */
15503 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15504 : false, /* isTypedMethod. Only relevant for methods. */
15505 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15506 : };
15507 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15508 : static_assert(0 < 1, "There is no slot for us");
15509 : static const JSJitInfo empty_cells_setterinfo = {
15510 : { (JSJitGetterOp)set_empty_cells },
15511 : { prototypes::id::CSS2Properties },
15512 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15513 : JSJitInfo::Setter,
15514 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15515 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
15516 : false, /* isInfallible. False in setters. */
15517 : false, /* isMovable. Not relevant for setters. */
15518 : false, /* isEliminatable. Not relevant for setters. */
15519 : false, /* isAlwaysInSlot. Only relevant for getters. */
15520 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15521 : false, /* isTypedMethod. Only relevant for methods. */
15522 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15523 : };
15524 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15525 : static_assert(0 < 1, "There is no slot for us");
15526 :
15527 : static bool
15528 0 : get_fill(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
15529 : {
15530 0 : binding_detail::FastErrorResult rv;
15531 0 : DOMString result;
15532 0 : self->GetFill(result, rv);
15533 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15534 0 : return false;
15535 : }
15536 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15537 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
15538 0 : return false;
15539 : }
15540 0 : return true;
15541 : }
15542 :
15543 : static bool
15544 0 : set_fill(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
15545 : {
15546 0 : binding_detail::FakeString arg0;
15547 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
15548 0 : return false;
15549 : }
15550 0 : binding_detail::FastErrorResult rv;
15551 0 : self->SetFill(NonNullHelper(Constify(arg0)), rv);
15552 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15553 0 : return false;
15554 : }
15555 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15556 :
15557 0 : return true;
15558 : }
15559 :
15560 : static const JSJitInfo fill_getterinfo = {
15561 : { (JSJitGetterOp)get_fill },
15562 : { prototypes::id::CSS2Properties },
15563 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15564 : JSJitInfo::Getter,
15565 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15566 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
15567 : false, /* isInfallible. False in setters. */
15568 : false, /* isMovable. Not relevant for setters. */
15569 : false, /* isEliminatable. Not relevant for setters. */
15570 : false, /* isAlwaysInSlot. Only relevant for getters. */
15571 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15572 : false, /* isTypedMethod. Only relevant for methods. */
15573 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15574 : };
15575 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15576 : static_assert(0 < 1, "There is no slot for us");
15577 : static const JSJitInfo fill_setterinfo = {
15578 : { (JSJitGetterOp)set_fill },
15579 : { prototypes::id::CSS2Properties },
15580 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15581 : JSJitInfo::Setter,
15582 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15583 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
15584 : false, /* isInfallible. False in setters. */
15585 : false, /* isMovable. Not relevant for setters. */
15586 : false, /* isEliminatable. Not relevant for setters. */
15587 : false, /* isAlwaysInSlot. Only relevant for getters. */
15588 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15589 : false, /* isTypedMethod. Only relevant for methods. */
15590 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15591 : };
15592 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15593 : static_assert(0 < 1, "There is no slot for us");
15594 :
15595 : static bool
15596 0 : get_fillOpacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
15597 : {
15598 0 : binding_detail::FastErrorResult rv;
15599 0 : DOMString result;
15600 0 : self->GetFillOpacity(result, rv);
15601 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15602 0 : return false;
15603 : }
15604 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15605 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
15606 0 : return false;
15607 : }
15608 0 : return true;
15609 : }
15610 :
15611 : static bool
15612 0 : set_fillOpacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
15613 : {
15614 0 : binding_detail::FakeString arg0;
15615 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
15616 0 : return false;
15617 : }
15618 0 : binding_detail::FastErrorResult rv;
15619 0 : self->SetFillOpacity(NonNullHelper(Constify(arg0)), rv);
15620 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15621 0 : return false;
15622 : }
15623 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15624 :
15625 0 : return true;
15626 : }
15627 :
15628 : static const JSJitInfo fillOpacity_getterinfo = {
15629 : { (JSJitGetterOp)get_fillOpacity },
15630 : { prototypes::id::CSS2Properties },
15631 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15632 : JSJitInfo::Getter,
15633 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15634 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
15635 : false, /* isInfallible. False in setters. */
15636 : false, /* isMovable. Not relevant for setters. */
15637 : false, /* isEliminatable. Not relevant for setters. */
15638 : false, /* isAlwaysInSlot. Only relevant for getters. */
15639 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15640 : false, /* isTypedMethod. Only relevant for methods. */
15641 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15642 : };
15643 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15644 : static_assert(0 < 1, "There is no slot for us");
15645 : static const JSJitInfo fillOpacity_setterinfo = {
15646 : { (JSJitGetterOp)set_fillOpacity },
15647 : { prototypes::id::CSS2Properties },
15648 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15649 : JSJitInfo::Setter,
15650 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15651 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
15652 : false, /* isInfallible. False in setters. */
15653 : false, /* isMovable. Not relevant for setters. */
15654 : false, /* isEliminatable. Not relevant for setters. */
15655 : false, /* isAlwaysInSlot. Only relevant for getters. */
15656 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15657 : false, /* isTypedMethod. Only relevant for methods. */
15658 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15659 : };
15660 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15661 : static_assert(0 < 1, "There is no slot for us");
15662 :
15663 : static bool
15664 0 : get_fill_opacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
15665 : {
15666 0 : binding_detail::FastErrorResult rv;
15667 0 : DOMString result;
15668 0 : self->GetFillOpacity(result, rv);
15669 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15670 0 : return false;
15671 : }
15672 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15673 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
15674 0 : return false;
15675 : }
15676 0 : return true;
15677 : }
15678 :
15679 : static bool
15680 0 : set_fill_opacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
15681 : {
15682 0 : binding_detail::FakeString arg0;
15683 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
15684 0 : return false;
15685 : }
15686 0 : binding_detail::FastErrorResult rv;
15687 0 : self->SetFillOpacity(NonNullHelper(Constify(arg0)), rv);
15688 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15689 0 : return false;
15690 : }
15691 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15692 :
15693 0 : return true;
15694 : }
15695 :
15696 : static const JSJitInfo fill_opacity_getterinfo = {
15697 : { (JSJitGetterOp)get_fill_opacity },
15698 : { prototypes::id::CSS2Properties },
15699 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15700 : JSJitInfo::Getter,
15701 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15702 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
15703 : false, /* isInfallible. False in setters. */
15704 : false, /* isMovable. Not relevant for setters. */
15705 : false, /* isEliminatable. Not relevant for setters. */
15706 : false, /* isAlwaysInSlot. Only relevant for getters. */
15707 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15708 : false, /* isTypedMethod. Only relevant for methods. */
15709 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15710 : };
15711 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15712 : static_assert(0 < 1, "There is no slot for us");
15713 : static const JSJitInfo fill_opacity_setterinfo = {
15714 : { (JSJitGetterOp)set_fill_opacity },
15715 : { prototypes::id::CSS2Properties },
15716 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15717 : JSJitInfo::Setter,
15718 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15719 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
15720 : false, /* isInfallible. False in setters. */
15721 : false, /* isMovable. Not relevant for setters. */
15722 : false, /* isEliminatable. Not relevant for setters. */
15723 : false, /* isAlwaysInSlot. Only relevant for getters. */
15724 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15725 : false, /* isTypedMethod. Only relevant for methods. */
15726 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15727 : };
15728 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15729 : static_assert(0 < 1, "There is no slot for us");
15730 :
15731 : static bool
15732 0 : get_fillRule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
15733 : {
15734 0 : binding_detail::FastErrorResult rv;
15735 0 : DOMString result;
15736 0 : self->GetFillRule(result, rv);
15737 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15738 0 : return false;
15739 : }
15740 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15741 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
15742 0 : return false;
15743 : }
15744 0 : return true;
15745 : }
15746 :
15747 : static bool
15748 0 : set_fillRule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
15749 : {
15750 0 : binding_detail::FakeString arg0;
15751 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
15752 0 : return false;
15753 : }
15754 0 : binding_detail::FastErrorResult rv;
15755 0 : self->SetFillRule(NonNullHelper(Constify(arg0)), rv);
15756 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15757 0 : return false;
15758 : }
15759 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15760 :
15761 0 : return true;
15762 : }
15763 :
15764 : static const JSJitInfo fillRule_getterinfo = {
15765 : { (JSJitGetterOp)get_fillRule },
15766 : { prototypes::id::CSS2Properties },
15767 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15768 : JSJitInfo::Getter,
15769 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15770 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
15771 : false, /* isInfallible. False in setters. */
15772 : false, /* isMovable. Not relevant for setters. */
15773 : false, /* isEliminatable. Not relevant for setters. */
15774 : false, /* isAlwaysInSlot. Only relevant for getters. */
15775 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15776 : false, /* isTypedMethod. Only relevant for methods. */
15777 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15778 : };
15779 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15780 : static_assert(0 < 1, "There is no slot for us");
15781 : static const JSJitInfo fillRule_setterinfo = {
15782 : { (JSJitGetterOp)set_fillRule },
15783 : { prototypes::id::CSS2Properties },
15784 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15785 : JSJitInfo::Setter,
15786 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15787 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
15788 : false, /* isInfallible. False in setters. */
15789 : false, /* isMovable. Not relevant for setters. */
15790 : false, /* isEliminatable. Not relevant for setters. */
15791 : false, /* isAlwaysInSlot. Only relevant for getters. */
15792 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15793 : false, /* isTypedMethod. Only relevant for methods. */
15794 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15795 : };
15796 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15797 : static_assert(0 < 1, "There is no slot for us");
15798 :
15799 : static bool
15800 0 : get_fill_rule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
15801 : {
15802 0 : binding_detail::FastErrorResult rv;
15803 0 : DOMString result;
15804 0 : self->GetFillRule(result, rv);
15805 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15806 0 : return false;
15807 : }
15808 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15809 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
15810 0 : return false;
15811 : }
15812 0 : return true;
15813 : }
15814 :
15815 : static bool
15816 0 : set_fill_rule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
15817 : {
15818 0 : binding_detail::FakeString arg0;
15819 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
15820 0 : return false;
15821 : }
15822 0 : binding_detail::FastErrorResult rv;
15823 0 : self->SetFillRule(NonNullHelper(Constify(arg0)), rv);
15824 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15825 0 : return false;
15826 : }
15827 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15828 :
15829 0 : return true;
15830 : }
15831 :
15832 : static const JSJitInfo fill_rule_getterinfo = {
15833 : { (JSJitGetterOp)get_fill_rule },
15834 : { prototypes::id::CSS2Properties },
15835 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15836 : JSJitInfo::Getter,
15837 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15838 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
15839 : false, /* isInfallible. False in setters. */
15840 : false, /* isMovable. Not relevant for setters. */
15841 : false, /* isEliminatable. Not relevant for setters. */
15842 : false, /* isAlwaysInSlot. Only relevant for getters. */
15843 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15844 : false, /* isTypedMethod. Only relevant for methods. */
15845 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15846 : };
15847 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15848 : static_assert(0 < 1, "There is no slot for us");
15849 : static const JSJitInfo fill_rule_setterinfo = {
15850 : { (JSJitGetterOp)set_fill_rule },
15851 : { prototypes::id::CSS2Properties },
15852 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15853 : JSJitInfo::Setter,
15854 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15855 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
15856 : false, /* isInfallible. False in setters. */
15857 : false, /* isMovable. Not relevant for setters. */
15858 : false, /* isEliminatable. Not relevant for setters. */
15859 : false, /* isAlwaysInSlot. Only relevant for getters. */
15860 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15861 : false, /* isTypedMethod. Only relevant for methods. */
15862 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15863 : };
15864 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15865 : static_assert(0 < 1, "There is no slot for us");
15866 :
15867 : static bool
15868 0 : get_filter(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
15869 : {
15870 0 : binding_detail::FastErrorResult rv;
15871 0 : DOMString result;
15872 0 : self->GetFilter(result, rv);
15873 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15874 0 : return false;
15875 : }
15876 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15877 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
15878 0 : return false;
15879 : }
15880 0 : return true;
15881 : }
15882 :
15883 : static bool
15884 0 : set_filter(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
15885 : {
15886 0 : binding_detail::FakeString arg0;
15887 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
15888 0 : return false;
15889 : }
15890 0 : binding_detail::FastErrorResult rv;
15891 0 : self->SetFilter(NonNullHelper(Constify(arg0)), rv);
15892 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15893 0 : return false;
15894 : }
15895 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15896 :
15897 0 : return true;
15898 : }
15899 :
15900 : static const JSJitInfo filter_getterinfo = {
15901 : { (JSJitGetterOp)get_filter },
15902 : { prototypes::id::CSS2Properties },
15903 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15904 : JSJitInfo::Getter,
15905 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15906 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
15907 : false, /* isInfallible. False in setters. */
15908 : false, /* isMovable. Not relevant for setters. */
15909 : false, /* isEliminatable. Not relevant for setters. */
15910 : false, /* isAlwaysInSlot. Only relevant for getters. */
15911 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15912 : false, /* isTypedMethod. Only relevant for methods. */
15913 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15914 : };
15915 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15916 : static_assert(0 < 1, "There is no slot for us");
15917 : static const JSJitInfo filter_setterinfo = {
15918 : { (JSJitGetterOp)set_filter },
15919 : { prototypes::id::CSS2Properties },
15920 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15921 : JSJitInfo::Setter,
15922 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15923 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
15924 : false, /* isInfallible. False in setters. */
15925 : false, /* isMovable. Not relevant for setters. */
15926 : false, /* isEliminatable. Not relevant for setters. */
15927 : false, /* isAlwaysInSlot. Only relevant for getters. */
15928 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15929 : false, /* isTypedMethod. Only relevant for methods. */
15930 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15931 : };
15932 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15933 : static_assert(0 < 1, "There is no slot for us");
15934 :
15935 : static bool
15936 0 : get_flex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
15937 : {
15938 0 : binding_detail::FastErrorResult rv;
15939 0 : DOMString result;
15940 0 : self->GetFlex(result, rv);
15941 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15942 0 : return false;
15943 : }
15944 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15945 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
15946 0 : return false;
15947 : }
15948 0 : return true;
15949 : }
15950 :
15951 : static bool
15952 0 : set_flex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
15953 : {
15954 0 : binding_detail::FakeString arg0;
15955 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
15956 0 : return false;
15957 : }
15958 0 : binding_detail::FastErrorResult rv;
15959 0 : self->SetFlex(NonNullHelper(Constify(arg0)), rv);
15960 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
15961 0 : return false;
15962 : }
15963 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
15964 :
15965 0 : return true;
15966 : }
15967 :
15968 : static const JSJitInfo flex_getterinfo = {
15969 : { (JSJitGetterOp)get_flex },
15970 : { prototypes::id::CSS2Properties },
15971 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15972 : JSJitInfo::Getter,
15973 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15974 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
15975 : false, /* isInfallible. False in setters. */
15976 : false, /* isMovable. Not relevant for setters. */
15977 : false, /* isEliminatable. Not relevant for setters. */
15978 : false, /* isAlwaysInSlot. Only relevant for getters. */
15979 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15980 : false, /* isTypedMethod. Only relevant for methods. */
15981 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15982 : };
15983 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
15984 : static_assert(0 < 1, "There is no slot for us");
15985 : static const JSJitInfo flex_setterinfo = {
15986 : { (JSJitGetterOp)set_flex },
15987 : { prototypes::id::CSS2Properties },
15988 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
15989 : JSJitInfo::Setter,
15990 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
15991 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
15992 : false, /* isInfallible. False in setters. */
15993 : false, /* isMovable. Not relevant for setters. */
15994 : false, /* isEliminatable. Not relevant for setters. */
15995 : false, /* isAlwaysInSlot. Only relevant for getters. */
15996 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
15997 : false, /* isTypedMethod. Only relevant for methods. */
15998 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
15999 : };
16000 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16001 : static_assert(0 < 1, "There is no slot for us");
16002 :
16003 : static bool
16004 0 : get_flexBasis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
16005 : {
16006 0 : binding_detail::FastErrorResult rv;
16007 0 : DOMString result;
16008 0 : self->GetFlexBasis(result, rv);
16009 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16010 0 : return false;
16011 : }
16012 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16013 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
16014 0 : return false;
16015 : }
16016 0 : return true;
16017 : }
16018 :
16019 : static bool
16020 0 : set_flexBasis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
16021 : {
16022 0 : binding_detail::FakeString arg0;
16023 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
16024 0 : return false;
16025 : }
16026 0 : binding_detail::FastErrorResult rv;
16027 0 : self->SetFlexBasis(NonNullHelper(Constify(arg0)), rv);
16028 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16029 0 : return false;
16030 : }
16031 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16032 :
16033 0 : return true;
16034 : }
16035 :
16036 : static const JSJitInfo flexBasis_getterinfo = {
16037 : { (JSJitGetterOp)get_flexBasis },
16038 : { prototypes::id::CSS2Properties },
16039 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16040 : JSJitInfo::Getter,
16041 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16042 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
16043 : false, /* isInfallible. False in setters. */
16044 : false, /* isMovable. Not relevant for setters. */
16045 : false, /* isEliminatable. Not relevant for setters. */
16046 : false, /* isAlwaysInSlot. Only relevant for getters. */
16047 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16048 : false, /* isTypedMethod. Only relevant for methods. */
16049 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16050 : };
16051 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16052 : static_assert(0 < 1, "There is no slot for us");
16053 : static const JSJitInfo flexBasis_setterinfo = {
16054 : { (JSJitGetterOp)set_flexBasis },
16055 : { prototypes::id::CSS2Properties },
16056 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16057 : JSJitInfo::Setter,
16058 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16059 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
16060 : false, /* isInfallible. False in setters. */
16061 : false, /* isMovable. Not relevant for setters. */
16062 : false, /* isEliminatable. Not relevant for setters. */
16063 : false, /* isAlwaysInSlot. Only relevant for getters. */
16064 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16065 : false, /* isTypedMethod. Only relevant for methods. */
16066 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16067 : };
16068 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16069 : static_assert(0 < 1, "There is no slot for us");
16070 :
16071 : static bool
16072 0 : get_flex_basis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
16073 : {
16074 0 : binding_detail::FastErrorResult rv;
16075 0 : DOMString result;
16076 0 : self->GetFlexBasis(result, rv);
16077 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16078 0 : return false;
16079 : }
16080 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16081 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
16082 0 : return false;
16083 : }
16084 0 : return true;
16085 : }
16086 :
16087 : static bool
16088 0 : set_flex_basis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
16089 : {
16090 0 : binding_detail::FakeString arg0;
16091 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
16092 0 : return false;
16093 : }
16094 0 : binding_detail::FastErrorResult rv;
16095 0 : self->SetFlexBasis(NonNullHelper(Constify(arg0)), rv);
16096 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16097 0 : return false;
16098 : }
16099 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16100 :
16101 0 : return true;
16102 : }
16103 :
16104 : static const JSJitInfo flex_basis_getterinfo = {
16105 : { (JSJitGetterOp)get_flex_basis },
16106 : { prototypes::id::CSS2Properties },
16107 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16108 : JSJitInfo::Getter,
16109 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16110 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
16111 : false, /* isInfallible. False in setters. */
16112 : false, /* isMovable. Not relevant for setters. */
16113 : false, /* isEliminatable. Not relevant for setters. */
16114 : false, /* isAlwaysInSlot. Only relevant for getters. */
16115 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16116 : false, /* isTypedMethod. Only relevant for methods. */
16117 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16118 : };
16119 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16120 : static_assert(0 < 1, "There is no slot for us");
16121 : static const JSJitInfo flex_basis_setterinfo = {
16122 : { (JSJitGetterOp)set_flex_basis },
16123 : { prototypes::id::CSS2Properties },
16124 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16125 : JSJitInfo::Setter,
16126 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16127 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
16128 : false, /* isInfallible. False in setters. */
16129 : false, /* isMovable. Not relevant for setters. */
16130 : false, /* isEliminatable. Not relevant for setters. */
16131 : false, /* isAlwaysInSlot. Only relevant for getters. */
16132 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16133 : false, /* isTypedMethod. Only relevant for methods. */
16134 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16135 : };
16136 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16137 : static_assert(0 < 1, "There is no slot for us");
16138 :
16139 : static bool
16140 0 : get_flexDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
16141 : {
16142 0 : binding_detail::FastErrorResult rv;
16143 0 : DOMString result;
16144 0 : self->GetFlexDirection(result, rv);
16145 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16146 0 : return false;
16147 : }
16148 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16149 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
16150 0 : return false;
16151 : }
16152 0 : return true;
16153 : }
16154 :
16155 : static bool
16156 0 : set_flexDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
16157 : {
16158 0 : binding_detail::FakeString arg0;
16159 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
16160 0 : return false;
16161 : }
16162 0 : binding_detail::FastErrorResult rv;
16163 0 : self->SetFlexDirection(NonNullHelper(Constify(arg0)), rv);
16164 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16165 0 : return false;
16166 : }
16167 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16168 :
16169 0 : return true;
16170 : }
16171 :
16172 : static const JSJitInfo flexDirection_getterinfo = {
16173 : { (JSJitGetterOp)get_flexDirection },
16174 : { prototypes::id::CSS2Properties },
16175 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16176 : JSJitInfo::Getter,
16177 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16178 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
16179 : false, /* isInfallible. False in setters. */
16180 : false, /* isMovable. Not relevant for setters. */
16181 : false, /* isEliminatable. Not relevant for setters. */
16182 : false, /* isAlwaysInSlot. Only relevant for getters. */
16183 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16184 : false, /* isTypedMethod. Only relevant for methods. */
16185 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16186 : };
16187 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16188 : static_assert(0 < 1, "There is no slot for us");
16189 : static const JSJitInfo flexDirection_setterinfo = {
16190 : { (JSJitGetterOp)set_flexDirection },
16191 : { prototypes::id::CSS2Properties },
16192 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16193 : JSJitInfo::Setter,
16194 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16195 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
16196 : false, /* isInfallible. False in setters. */
16197 : false, /* isMovable. Not relevant for setters. */
16198 : false, /* isEliminatable. Not relevant for setters. */
16199 : false, /* isAlwaysInSlot. Only relevant for getters. */
16200 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16201 : false, /* isTypedMethod. Only relevant for methods. */
16202 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16203 : };
16204 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16205 : static_assert(0 < 1, "There is no slot for us");
16206 :
16207 : static bool
16208 0 : get_flex_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
16209 : {
16210 0 : binding_detail::FastErrorResult rv;
16211 0 : DOMString result;
16212 0 : self->GetFlexDirection(result, rv);
16213 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16214 0 : return false;
16215 : }
16216 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16217 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
16218 0 : return false;
16219 : }
16220 0 : return true;
16221 : }
16222 :
16223 : static bool
16224 0 : set_flex_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
16225 : {
16226 0 : binding_detail::FakeString arg0;
16227 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
16228 0 : return false;
16229 : }
16230 0 : binding_detail::FastErrorResult rv;
16231 0 : self->SetFlexDirection(NonNullHelper(Constify(arg0)), rv);
16232 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16233 0 : return false;
16234 : }
16235 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16236 :
16237 0 : return true;
16238 : }
16239 :
16240 : static const JSJitInfo flex_direction_getterinfo = {
16241 : { (JSJitGetterOp)get_flex_direction },
16242 : { prototypes::id::CSS2Properties },
16243 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16244 : JSJitInfo::Getter,
16245 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16246 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
16247 : false, /* isInfallible. False in setters. */
16248 : false, /* isMovable. Not relevant for setters. */
16249 : false, /* isEliminatable. Not relevant for setters. */
16250 : false, /* isAlwaysInSlot. Only relevant for getters. */
16251 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16252 : false, /* isTypedMethod. Only relevant for methods. */
16253 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16254 : };
16255 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16256 : static_assert(0 < 1, "There is no slot for us");
16257 : static const JSJitInfo flex_direction_setterinfo = {
16258 : { (JSJitGetterOp)set_flex_direction },
16259 : { prototypes::id::CSS2Properties },
16260 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16261 : JSJitInfo::Setter,
16262 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16263 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
16264 : false, /* isInfallible. False in setters. */
16265 : false, /* isMovable. Not relevant for setters. */
16266 : false, /* isEliminatable. Not relevant for setters. */
16267 : false, /* isAlwaysInSlot. Only relevant for getters. */
16268 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16269 : false, /* isTypedMethod. Only relevant for methods. */
16270 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16271 : };
16272 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16273 : static_assert(0 < 1, "There is no slot for us");
16274 :
16275 : static bool
16276 0 : get_flexFlow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
16277 : {
16278 0 : binding_detail::FastErrorResult rv;
16279 0 : DOMString result;
16280 0 : self->GetFlexFlow(result, rv);
16281 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16282 0 : return false;
16283 : }
16284 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16285 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
16286 0 : return false;
16287 : }
16288 0 : return true;
16289 : }
16290 :
16291 : static bool
16292 0 : set_flexFlow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
16293 : {
16294 0 : binding_detail::FakeString arg0;
16295 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
16296 0 : return false;
16297 : }
16298 0 : binding_detail::FastErrorResult rv;
16299 0 : self->SetFlexFlow(NonNullHelper(Constify(arg0)), rv);
16300 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16301 0 : return false;
16302 : }
16303 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16304 :
16305 0 : return true;
16306 : }
16307 :
16308 : static const JSJitInfo flexFlow_getterinfo = {
16309 : { (JSJitGetterOp)get_flexFlow },
16310 : { prototypes::id::CSS2Properties },
16311 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16312 : JSJitInfo::Getter,
16313 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16314 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
16315 : false, /* isInfallible. False in setters. */
16316 : false, /* isMovable. Not relevant for setters. */
16317 : false, /* isEliminatable. Not relevant for setters. */
16318 : false, /* isAlwaysInSlot. Only relevant for getters. */
16319 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16320 : false, /* isTypedMethod. Only relevant for methods. */
16321 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16322 : };
16323 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16324 : static_assert(0 < 1, "There is no slot for us");
16325 : static const JSJitInfo flexFlow_setterinfo = {
16326 : { (JSJitGetterOp)set_flexFlow },
16327 : { prototypes::id::CSS2Properties },
16328 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16329 : JSJitInfo::Setter,
16330 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16331 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
16332 : false, /* isInfallible. False in setters. */
16333 : false, /* isMovable. Not relevant for setters. */
16334 : false, /* isEliminatable. Not relevant for setters. */
16335 : false, /* isAlwaysInSlot. Only relevant for getters. */
16336 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16337 : false, /* isTypedMethod. Only relevant for methods. */
16338 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16339 : };
16340 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16341 : static_assert(0 < 1, "There is no slot for us");
16342 :
16343 : static bool
16344 0 : get_flex_flow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
16345 : {
16346 0 : binding_detail::FastErrorResult rv;
16347 0 : DOMString result;
16348 0 : self->GetFlexFlow(result, rv);
16349 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16350 0 : return false;
16351 : }
16352 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16353 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
16354 0 : return false;
16355 : }
16356 0 : return true;
16357 : }
16358 :
16359 : static bool
16360 0 : set_flex_flow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
16361 : {
16362 0 : binding_detail::FakeString arg0;
16363 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
16364 0 : return false;
16365 : }
16366 0 : binding_detail::FastErrorResult rv;
16367 0 : self->SetFlexFlow(NonNullHelper(Constify(arg0)), rv);
16368 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16369 0 : return false;
16370 : }
16371 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16372 :
16373 0 : return true;
16374 : }
16375 :
16376 : static const JSJitInfo flex_flow_getterinfo = {
16377 : { (JSJitGetterOp)get_flex_flow },
16378 : { prototypes::id::CSS2Properties },
16379 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16380 : JSJitInfo::Getter,
16381 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16382 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
16383 : false, /* isInfallible. False in setters. */
16384 : false, /* isMovable. Not relevant for setters. */
16385 : false, /* isEliminatable. Not relevant for setters. */
16386 : false, /* isAlwaysInSlot. Only relevant for getters. */
16387 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16388 : false, /* isTypedMethod. Only relevant for methods. */
16389 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16390 : };
16391 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16392 : static_assert(0 < 1, "There is no slot for us");
16393 : static const JSJitInfo flex_flow_setterinfo = {
16394 : { (JSJitGetterOp)set_flex_flow },
16395 : { prototypes::id::CSS2Properties },
16396 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16397 : JSJitInfo::Setter,
16398 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16399 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
16400 : false, /* isInfallible. False in setters. */
16401 : false, /* isMovable. Not relevant for setters. */
16402 : false, /* isEliminatable. Not relevant for setters. */
16403 : false, /* isAlwaysInSlot. Only relevant for getters. */
16404 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16405 : false, /* isTypedMethod. Only relevant for methods. */
16406 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16407 : };
16408 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16409 : static_assert(0 < 1, "There is no slot for us");
16410 :
16411 : static bool
16412 0 : get_flexGrow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
16413 : {
16414 0 : binding_detail::FastErrorResult rv;
16415 0 : DOMString result;
16416 0 : self->GetFlexGrow(result, rv);
16417 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16418 0 : return false;
16419 : }
16420 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16421 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
16422 0 : return false;
16423 : }
16424 0 : return true;
16425 : }
16426 :
16427 : static bool
16428 0 : set_flexGrow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
16429 : {
16430 0 : binding_detail::FakeString arg0;
16431 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
16432 0 : return false;
16433 : }
16434 0 : binding_detail::FastErrorResult rv;
16435 0 : self->SetFlexGrow(NonNullHelper(Constify(arg0)), rv);
16436 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16437 0 : return false;
16438 : }
16439 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16440 :
16441 0 : return true;
16442 : }
16443 :
16444 : static const JSJitInfo flexGrow_getterinfo = {
16445 : { (JSJitGetterOp)get_flexGrow },
16446 : { prototypes::id::CSS2Properties },
16447 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16448 : JSJitInfo::Getter,
16449 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16450 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
16451 : false, /* isInfallible. False in setters. */
16452 : false, /* isMovable. Not relevant for setters. */
16453 : false, /* isEliminatable. Not relevant for setters. */
16454 : false, /* isAlwaysInSlot. Only relevant for getters. */
16455 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16456 : false, /* isTypedMethod. Only relevant for methods. */
16457 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16458 : };
16459 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16460 : static_assert(0 < 1, "There is no slot for us");
16461 : static const JSJitInfo flexGrow_setterinfo = {
16462 : { (JSJitGetterOp)set_flexGrow },
16463 : { prototypes::id::CSS2Properties },
16464 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16465 : JSJitInfo::Setter,
16466 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16467 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
16468 : false, /* isInfallible. False in setters. */
16469 : false, /* isMovable. Not relevant for setters. */
16470 : false, /* isEliminatable. Not relevant for setters. */
16471 : false, /* isAlwaysInSlot. Only relevant for getters. */
16472 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16473 : false, /* isTypedMethod. Only relevant for methods. */
16474 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16475 : };
16476 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16477 : static_assert(0 < 1, "There is no slot for us");
16478 :
16479 : static bool
16480 0 : get_flex_grow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
16481 : {
16482 0 : binding_detail::FastErrorResult rv;
16483 0 : DOMString result;
16484 0 : self->GetFlexGrow(result, rv);
16485 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16486 0 : return false;
16487 : }
16488 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16489 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
16490 0 : return false;
16491 : }
16492 0 : return true;
16493 : }
16494 :
16495 : static bool
16496 0 : set_flex_grow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
16497 : {
16498 0 : binding_detail::FakeString arg0;
16499 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
16500 0 : return false;
16501 : }
16502 0 : binding_detail::FastErrorResult rv;
16503 0 : self->SetFlexGrow(NonNullHelper(Constify(arg0)), rv);
16504 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16505 0 : return false;
16506 : }
16507 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16508 :
16509 0 : return true;
16510 : }
16511 :
16512 : static const JSJitInfo flex_grow_getterinfo = {
16513 : { (JSJitGetterOp)get_flex_grow },
16514 : { prototypes::id::CSS2Properties },
16515 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16516 : JSJitInfo::Getter,
16517 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16518 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
16519 : false, /* isInfallible. False in setters. */
16520 : false, /* isMovable. Not relevant for setters. */
16521 : false, /* isEliminatable. Not relevant for setters. */
16522 : false, /* isAlwaysInSlot. Only relevant for getters. */
16523 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16524 : false, /* isTypedMethod. Only relevant for methods. */
16525 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16526 : };
16527 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16528 : static_assert(0 < 1, "There is no slot for us");
16529 : static const JSJitInfo flex_grow_setterinfo = {
16530 : { (JSJitGetterOp)set_flex_grow },
16531 : { prototypes::id::CSS2Properties },
16532 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16533 : JSJitInfo::Setter,
16534 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16535 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
16536 : false, /* isInfallible. False in setters. */
16537 : false, /* isMovable. Not relevant for setters. */
16538 : false, /* isEliminatable. Not relevant for setters. */
16539 : false, /* isAlwaysInSlot. Only relevant for getters. */
16540 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16541 : false, /* isTypedMethod. Only relevant for methods. */
16542 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16543 : };
16544 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16545 : static_assert(0 < 1, "There is no slot for us");
16546 :
16547 : static bool
16548 0 : get_flexShrink(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
16549 : {
16550 0 : binding_detail::FastErrorResult rv;
16551 0 : DOMString result;
16552 0 : self->GetFlexShrink(result, rv);
16553 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16554 0 : return false;
16555 : }
16556 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16557 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
16558 0 : return false;
16559 : }
16560 0 : return true;
16561 : }
16562 :
16563 : static bool
16564 0 : set_flexShrink(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
16565 : {
16566 0 : binding_detail::FakeString arg0;
16567 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
16568 0 : return false;
16569 : }
16570 0 : binding_detail::FastErrorResult rv;
16571 0 : self->SetFlexShrink(NonNullHelper(Constify(arg0)), rv);
16572 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16573 0 : return false;
16574 : }
16575 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16576 :
16577 0 : return true;
16578 : }
16579 :
16580 : static const JSJitInfo flexShrink_getterinfo = {
16581 : { (JSJitGetterOp)get_flexShrink },
16582 : { prototypes::id::CSS2Properties },
16583 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16584 : JSJitInfo::Getter,
16585 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16586 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
16587 : false, /* isInfallible. False in setters. */
16588 : false, /* isMovable. Not relevant for setters. */
16589 : false, /* isEliminatable. Not relevant for setters. */
16590 : false, /* isAlwaysInSlot. Only relevant for getters. */
16591 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16592 : false, /* isTypedMethod. Only relevant for methods. */
16593 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16594 : };
16595 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16596 : static_assert(0 < 1, "There is no slot for us");
16597 : static const JSJitInfo flexShrink_setterinfo = {
16598 : { (JSJitGetterOp)set_flexShrink },
16599 : { prototypes::id::CSS2Properties },
16600 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16601 : JSJitInfo::Setter,
16602 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16603 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
16604 : false, /* isInfallible. False in setters. */
16605 : false, /* isMovable. Not relevant for setters. */
16606 : false, /* isEliminatable. Not relevant for setters. */
16607 : false, /* isAlwaysInSlot. Only relevant for getters. */
16608 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16609 : false, /* isTypedMethod. Only relevant for methods. */
16610 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16611 : };
16612 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16613 : static_assert(0 < 1, "There is no slot for us");
16614 :
16615 : static bool
16616 0 : get_flex_shrink(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
16617 : {
16618 0 : binding_detail::FastErrorResult rv;
16619 0 : DOMString result;
16620 0 : self->GetFlexShrink(result, rv);
16621 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16622 0 : return false;
16623 : }
16624 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16625 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
16626 0 : return false;
16627 : }
16628 0 : return true;
16629 : }
16630 :
16631 : static bool
16632 0 : set_flex_shrink(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
16633 : {
16634 0 : binding_detail::FakeString arg0;
16635 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
16636 0 : return false;
16637 : }
16638 0 : binding_detail::FastErrorResult rv;
16639 0 : self->SetFlexShrink(NonNullHelper(Constify(arg0)), rv);
16640 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16641 0 : return false;
16642 : }
16643 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16644 :
16645 0 : return true;
16646 : }
16647 :
16648 : static const JSJitInfo flex_shrink_getterinfo = {
16649 : { (JSJitGetterOp)get_flex_shrink },
16650 : { prototypes::id::CSS2Properties },
16651 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16652 : JSJitInfo::Getter,
16653 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16654 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
16655 : false, /* isInfallible. False in setters. */
16656 : false, /* isMovable. Not relevant for setters. */
16657 : false, /* isEliminatable. Not relevant for setters. */
16658 : false, /* isAlwaysInSlot. Only relevant for getters. */
16659 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16660 : false, /* isTypedMethod. Only relevant for methods. */
16661 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16662 : };
16663 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16664 : static_assert(0 < 1, "There is no slot for us");
16665 : static const JSJitInfo flex_shrink_setterinfo = {
16666 : { (JSJitGetterOp)set_flex_shrink },
16667 : { prototypes::id::CSS2Properties },
16668 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16669 : JSJitInfo::Setter,
16670 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16671 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
16672 : false, /* isInfallible. False in setters. */
16673 : false, /* isMovable. Not relevant for setters. */
16674 : false, /* isEliminatable. Not relevant for setters. */
16675 : false, /* isAlwaysInSlot. Only relevant for getters. */
16676 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16677 : false, /* isTypedMethod. Only relevant for methods. */
16678 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16679 : };
16680 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16681 : static_assert(0 < 1, "There is no slot for us");
16682 :
16683 : static bool
16684 0 : get_flexWrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
16685 : {
16686 0 : binding_detail::FastErrorResult rv;
16687 0 : DOMString result;
16688 0 : self->GetFlexWrap(result, rv);
16689 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16690 0 : return false;
16691 : }
16692 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16693 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
16694 0 : return false;
16695 : }
16696 0 : return true;
16697 : }
16698 :
16699 : static bool
16700 0 : set_flexWrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
16701 : {
16702 0 : binding_detail::FakeString arg0;
16703 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
16704 0 : return false;
16705 : }
16706 0 : binding_detail::FastErrorResult rv;
16707 0 : self->SetFlexWrap(NonNullHelper(Constify(arg0)), rv);
16708 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16709 0 : return false;
16710 : }
16711 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16712 :
16713 0 : return true;
16714 : }
16715 :
16716 : static const JSJitInfo flexWrap_getterinfo = {
16717 : { (JSJitGetterOp)get_flexWrap },
16718 : { prototypes::id::CSS2Properties },
16719 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16720 : JSJitInfo::Getter,
16721 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16722 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
16723 : false, /* isInfallible. False in setters. */
16724 : false, /* isMovable. Not relevant for setters. */
16725 : false, /* isEliminatable. Not relevant for setters. */
16726 : false, /* isAlwaysInSlot. Only relevant for getters. */
16727 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16728 : false, /* isTypedMethod. Only relevant for methods. */
16729 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16730 : };
16731 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16732 : static_assert(0 < 1, "There is no slot for us");
16733 : static const JSJitInfo flexWrap_setterinfo = {
16734 : { (JSJitGetterOp)set_flexWrap },
16735 : { prototypes::id::CSS2Properties },
16736 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16737 : JSJitInfo::Setter,
16738 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16739 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
16740 : false, /* isInfallible. False in setters. */
16741 : false, /* isMovable. Not relevant for setters. */
16742 : false, /* isEliminatable. Not relevant for setters. */
16743 : false, /* isAlwaysInSlot. Only relevant for getters. */
16744 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16745 : false, /* isTypedMethod. Only relevant for methods. */
16746 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16747 : };
16748 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16749 : static_assert(0 < 1, "There is no slot for us");
16750 :
16751 : static bool
16752 0 : get_flex_wrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
16753 : {
16754 0 : binding_detail::FastErrorResult rv;
16755 0 : DOMString result;
16756 0 : self->GetFlexWrap(result, rv);
16757 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16758 0 : return false;
16759 : }
16760 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16761 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
16762 0 : return false;
16763 : }
16764 0 : return true;
16765 : }
16766 :
16767 : static bool
16768 0 : set_flex_wrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
16769 : {
16770 0 : binding_detail::FakeString arg0;
16771 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
16772 0 : return false;
16773 : }
16774 0 : binding_detail::FastErrorResult rv;
16775 0 : self->SetFlexWrap(NonNullHelper(Constify(arg0)), rv);
16776 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16777 0 : return false;
16778 : }
16779 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16780 :
16781 0 : return true;
16782 : }
16783 :
16784 : static const JSJitInfo flex_wrap_getterinfo = {
16785 : { (JSJitGetterOp)get_flex_wrap },
16786 : { prototypes::id::CSS2Properties },
16787 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16788 : JSJitInfo::Getter,
16789 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16790 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
16791 : false, /* isInfallible. False in setters. */
16792 : false, /* isMovable. Not relevant for setters. */
16793 : false, /* isEliminatable. Not relevant for setters. */
16794 : false, /* isAlwaysInSlot. Only relevant for getters. */
16795 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16796 : false, /* isTypedMethod. Only relevant for methods. */
16797 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16798 : };
16799 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16800 : static_assert(0 < 1, "There is no slot for us");
16801 : static const JSJitInfo flex_wrap_setterinfo = {
16802 : { (JSJitGetterOp)set_flex_wrap },
16803 : { prototypes::id::CSS2Properties },
16804 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16805 : JSJitInfo::Setter,
16806 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16807 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
16808 : false, /* isInfallible. False in setters. */
16809 : false, /* isMovable. Not relevant for setters. */
16810 : false, /* isEliminatable. Not relevant for setters. */
16811 : false, /* isAlwaysInSlot. Only relevant for getters. */
16812 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16813 : false, /* isTypedMethod. Only relevant for methods. */
16814 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16815 : };
16816 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16817 : static_assert(0 < 1, "There is no slot for us");
16818 :
16819 : static bool
16820 0 : get_cssFloat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
16821 : {
16822 0 : binding_detail::FastErrorResult rv;
16823 0 : DOMString result;
16824 0 : self->GetCssFloat(result, rv);
16825 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16826 0 : return false;
16827 : }
16828 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16829 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
16830 0 : return false;
16831 : }
16832 0 : return true;
16833 : }
16834 :
16835 : static bool
16836 0 : set_cssFloat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
16837 : {
16838 0 : binding_detail::FakeString arg0;
16839 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
16840 0 : return false;
16841 : }
16842 0 : binding_detail::FastErrorResult rv;
16843 0 : self->SetCssFloat(NonNullHelper(Constify(arg0)), rv);
16844 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16845 0 : return false;
16846 : }
16847 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16848 :
16849 0 : return true;
16850 : }
16851 :
16852 : static const JSJitInfo cssFloat_getterinfo = {
16853 : { (JSJitGetterOp)get_cssFloat },
16854 : { prototypes::id::CSS2Properties },
16855 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16856 : JSJitInfo::Getter,
16857 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16858 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
16859 : false, /* isInfallible. False in setters. */
16860 : false, /* isMovable. Not relevant for setters. */
16861 : false, /* isEliminatable. Not relevant for setters. */
16862 : false, /* isAlwaysInSlot. Only relevant for getters. */
16863 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16864 : false, /* isTypedMethod. Only relevant for methods. */
16865 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16866 : };
16867 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16868 : static_assert(0 < 1, "There is no slot for us");
16869 : static const JSJitInfo cssFloat_setterinfo = {
16870 : { (JSJitGetterOp)set_cssFloat },
16871 : { prototypes::id::CSS2Properties },
16872 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16873 : JSJitInfo::Setter,
16874 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16875 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
16876 : false, /* isInfallible. False in setters. */
16877 : false, /* isMovable. Not relevant for setters. */
16878 : false, /* isEliminatable. Not relevant for setters. */
16879 : false, /* isAlwaysInSlot. Only relevant for getters. */
16880 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16881 : false, /* isTypedMethod. Only relevant for methods. */
16882 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16883 : };
16884 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16885 : static_assert(0 < 1, "There is no slot for us");
16886 :
16887 : static bool
16888 0 : get_float(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
16889 : {
16890 0 : binding_detail::FastErrorResult rv;
16891 0 : DOMString result;
16892 0 : self->GetCssFloat(result, rv);
16893 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16894 0 : return false;
16895 : }
16896 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16897 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
16898 0 : return false;
16899 : }
16900 0 : return true;
16901 : }
16902 :
16903 : static bool
16904 0 : set_float(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
16905 : {
16906 0 : binding_detail::FakeString arg0;
16907 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
16908 0 : return false;
16909 : }
16910 0 : binding_detail::FastErrorResult rv;
16911 0 : self->SetCssFloat(NonNullHelper(Constify(arg0)), rv);
16912 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16913 0 : return false;
16914 : }
16915 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16916 :
16917 0 : return true;
16918 : }
16919 :
16920 : static const JSJitInfo float_getterinfo = {
16921 : { (JSJitGetterOp)get_float },
16922 : { prototypes::id::CSS2Properties },
16923 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16924 : JSJitInfo::Getter,
16925 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16926 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
16927 : false, /* isInfallible. False in setters. */
16928 : false, /* isMovable. Not relevant for setters. */
16929 : false, /* isEliminatable. Not relevant for setters. */
16930 : false, /* isAlwaysInSlot. Only relevant for getters. */
16931 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16932 : false, /* isTypedMethod. Only relevant for methods. */
16933 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16934 : };
16935 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16936 : static_assert(0 < 1, "There is no slot for us");
16937 : static const JSJitInfo float_setterinfo = {
16938 : { (JSJitGetterOp)set_float },
16939 : { prototypes::id::CSS2Properties },
16940 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16941 : JSJitInfo::Setter,
16942 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16943 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
16944 : false, /* isInfallible. False in setters. */
16945 : false, /* isMovable. Not relevant for setters. */
16946 : false, /* isEliminatable. Not relevant for setters. */
16947 : false, /* isAlwaysInSlot. Only relevant for getters. */
16948 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
16949 : false, /* isTypedMethod. Only relevant for methods. */
16950 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
16951 : };
16952 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
16953 : static_assert(0 < 1, "There is no slot for us");
16954 :
16955 : static bool
16956 0 : get_MozFloatEdge(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
16957 : {
16958 0 : binding_detail::FastErrorResult rv;
16959 0 : DOMString result;
16960 0 : self->GetMozFloatEdge(result, rv);
16961 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16962 0 : return false;
16963 : }
16964 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16965 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
16966 0 : return false;
16967 : }
16968 0 : return true;
16969 : }
16970 :
16971 : static bool
16972 0 : set_MozFloatEdge(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
16973 : {
16974 0 : binding_detail::FakeString arg0;
16975 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
16976 0 : return false;
16977 : }
16978 0 : binding_detail::FastErrorResult rv;
16979 0 : self->SetMozFloatEdge(NonNullHelper(Constify(arg0)), rv);
16980 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
16981 0 : return false;
16982 : }
16983 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
16984 :
16985 0 : return true;
16986 : }
16987 :
16988 : static const JSJitInfo MozFloatEdge_getterinfo = {
16989 : { (JSJitGetterOp)get_MozFloatEdge },
16990 : { prototypes::id::CSS2Properties },
16991 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
16992 : JSJitInfo::Getter,
16993 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
16994 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
16995 : false, /* isInfallible. False in setters. */
16996 : false, /* isMovable. Not relevant for setters. */
16997 : false, /* isEliminatable. Not relevant for setters. */
16998 : false, /* isAlwaysInSlot. Only relevant for getters. */
16999 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17000 : false, /* isTypedMethod. Only relevant for methods. */
17001 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17002 : };
17003 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17004 : static_assert(0 < 1, "There is no slot for us");
17005 : static const JSJitInfo MozFloatEdge_setterinfo = {
17006 : { (JSJitGetterOp)set_MozFloatEdge },
17007 : { prototypes::id::CSS2Properties },
17008 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17009 : JSJitInfo::Setter,
17010 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17011 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
17012 : false, /* isInfallible. False in setters. */
17013 : false, /* isMovable. Not relevant for setters. */
17014 : false, /* isEliminatable. Not relevant for setters. */
17015 : false, /* isAlwaysInSlot. Only relevant for getters. */
17016 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17017 : false, /* isTypedMethod. Only relevant for methods. */
17018 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17019 : };
17020 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17021 : static_assert(0 < 1, "There is no slot for us");
17022 :
17023 : static bool
17024 0 : get__moz_float_edge(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
17025 : {
17026 0 : binding_detail::FastErrorResult rv;
17027 0 : DOMString result;
17028 0 : self->GetMozFloatEdge(result, rv);
17029 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17030 0 : return false;
17031 : }
17032 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17033 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
17034 0 : return false;
17035 : }
17036 0 : return true;
17037 : }
17038 :
17039 : static bool
17040 0 : set__moz_float_edge(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
17041 : {
17042 0 : binding_detail::FakeString arg0;
17043 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
17044 0 : return false;
17045 : }
17046 0 : binding_detail::FastErrorResult rv;
17047 0 : self->SetMozFloatEdge(NonNullHelper(Constify(arg0)), rv);
17048 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17049 0 : return false;
17050 : }
17051 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17052 :
17053 0 : return true;
17054 : }
17055 :
17056 : static const JSJitInfo _moz_float_edge_getterinfo = {
17057 : { (JSJitGetterOp)get__moz_float_edge },
17058 : { prototypes::id::CSS2Properties },
17059 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17060 : JSJitInfo::Getter,
17061 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17062 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
17063 : false, /* isInfallible. False in setters. */
17064 : false, /* isMovable. Not relevant for setters. */
17065 : false, /* isEliminatable. Not relevant for setters. */
17066 : false, /* isAlwaysInSlot. Only relevant for getters. */
17067 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17068 : false, /* isTypedMethod. Only relevant for methods. */
17069 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17070 : };
17071 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17072 : static_assert(0 < 1, "There is no slot for us");
17073 : static const JSJitInfo _moz_float_edge_setterinfo = {
17074 : { (JSJitGetterOp)set__moz_float_edge },
17075 : { prototypes::id::CSS2Properties },
17076 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17077 : JSJitInfo::Setter,
17078 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17079 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
17080 : false, /* isInfallible. False in setters. */
17081 : false, /* isMovable. Not relevant for setters. */
17082 : false, /* isEliminatable. Not relevant for setters. */
17083 : false, /* isAlwaysInSlot. Only relevant for getters. */
17084 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17085 : false, /* isTypedMethod. Only relevant for methods. */
17086 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17087 : };
17088 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17089 : static_assert(0 < 1, "There is no slot for us");
17090 :
17091 : static bool
17092 0 : get_floodColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
17093 : {
17094 0 : binding_detail::FastErrorResult rv;
17095 0 : DOMString result;
17096 0 : self->GetFloodColor(result, rv);
17097 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17098 0 : return false;
17099 : }
17100 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17101 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
17102 0 : return false;
17103 : }
17104 0 : return true;
17105 : }
17106 :
17107 : static bool
17108 0 : set_floodColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
17109 : {
17110 0 : binding_detail::FakeString arg0;
17111 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
17112 0 : return false;
17113 : }
17114 0 : binding_detail::FastErrorResult rv;
17115 0 : self->SetFloodColor(NonNullHelper(Constify(arg0)), rv);
17116 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17117 0 : return false;
17118 : }
17119 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17120 :
17121 0 : return true;
17122 : }
17123 :
17124 : static const JSJitInfo floodColor_getterinfo = {
17125 : { (JSJitGetterOp)get_floodColor },
17126 : { prototypes::id::CSS2Properties },
17127 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17128 : JSJitInfo::Getter,
17129 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17130 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
17131 : false, /* isInfallible. False in setters. */
17132 : false, /* isMovable. Not relevant for setters. */
17133 : false, /* isEliminatable. Not relevant for setters. */
17134 : false, /* isAlwaysInSlot. Only relevant for getters. */
17135 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17136 : false, /* isTypedMethod. Only relevant for methods. */
17137 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17138 : };
17139 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17140 : static_assert(0 < 1, "There is no slot for us");
17141 : static const JSJitInfo floodColor_setterinfo = {
17142 : { (JSJitGetterOp)set_floodColor },
17143 : { prototypes::id::CSS2Properties },
17144 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17145 : JSJitInfo::Setter,
17146 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17147 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
17148 : false, /* isInfallible. False in setters. */
17149 : false, /* isMovable. Not relevant for setters. */
17150 : false, /* isEliminatable. Not relevant for setters. */
17151 : false, /* isAlwaysInSlot. Only relevant for getters. */
17152 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17153 : false, /* isTypedMethod. Only relevant for methods. */
17154 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17155 : };
17156 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17157 : static_assert(0 < 1, "There is no slot for us");
17158 :
17159 : static bool
17160 0 : get_flood_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
17161 : {
17162 0 : binding_detail::FastErrorResult rv;
17163 0 : DOMString result;
17164 0 : self->GetFloodColor(result, rv);
17165 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17166 0 : return false;
17167 : }
17168 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17169 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
17170 0 : return false;
17171 : }
17172 0 : return true;
17173 : }
17174 :
17175 : static bool
17176 0 : set_flood_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
17177 : {
17178 0 : binding_detail::FakeString arg0;
17179 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
17180 0 : return false;
17181 : }
17182 0 : binding_detail::FastErrorResult rv;
17183 0 : self->SetFloodColor(NonNullHelper(Constify(arg0)), rv);
17184 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17185 0 : return false;
17186 : }
17187 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17188 :
17189 0 : return true;
17190 : }
17191 :
17192 : static const JSJitInfo flood_color_getterinfo = {
17193 : { (JSJitGetterOp)get_flood_color },
17194 : { prototypes::id::CSS2Properties },
17195 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17196 : JSJitInfo::Getter,
17197 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17198 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
17199 : false, /* isInfallible. False in setters. */
17200 : false, /* isMovable. Not relevant for setters. */
17201 : false, /* isEliminatable. Not relevant for setters. */
17202 : false, /* isAlwaysInSlot. Only relevant for getters. */
17203 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17204 : false, /* isTypedMethod. Only relevant for methods. */
17205 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17206 : };
17207 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17208 : static_assert(0 < 1, "There is no slot for us");
17209 : static const JSJitInfo flood_color_setterinfo = {
17210 : { (JSJitGetterOp)set_flood_color },
17211 : { prototypes::id::CSS2Properties },
17212 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17213 : JSJitInfo::Setter,
17214 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17215 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
17216 : false, /* isInfallible. False in setters. */
17217 : false, /* isMovable. Not relevant for setters. */
17218 : false, /* isEliminatable. Not relevant for setters. */
17219 : false, /* isAlwaysInSlot. Only relevant for getters. */
17220 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17221 : false, /* isTypedMethod. Only relevant for methods. */
17222 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17223 : };
17224 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17225 : static_assert(0 < 1, "There is no slot for us");
17226 :
17227 : static bool
17228 0 : get_floodOpacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
17229 : {
17230 0 : binding_detail::FastErrorResult rv;
17231 0 : DOMString result;
17232 0 : self->GetFloodOpacity(result, rv);
17233 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17234 0 : return false;
17235 : }
17236 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17237 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
17238 0 : return false;
17239 : }
17240 0 : return true;
17241 : }
17242 :
17243 : static bool
17244 0 : set_floodOpacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
17245 : {
17246 0 : binding_detail::FakeString arg0;
17247 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
17248 0 : return false;
17249 : }
17250 0 : binding_detail::FastErrorResult rv;
17251 0 : self->SetFloodOpacity(NonNullHelper(Constify(arg0)), rv);
17252 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17253 0 : return false;
17254 : }
17255 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17256 :
17257 0 : return true;
17258 : }
17259 :
17260 : static const JSJitInfo floodOpacity_getterinfo = {
17261 : { (JSJitGetterOp)get_floodOpacity },
17262 : { prototypes::id::CSS2Properties },
17263 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17264 : JSJitInfo::Getter,
17265 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17266 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
17267 : false, /* isInfallible. False in setters. */
17268 : false, /* isMovable. Not relevant for setters. */
17269 : false, /* isEliminatable. Not relevant for setters. */
17270 : false, /* isAlwaysInSlot. Only relevant for getters. */
17271 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17272 : false, /* isTypedMethod. Only relevant for methods. */
17273 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17274 : };
17275 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17276 : static_assert(0 < 1, "There is no slot for us");
17277 : static const JSJitInfo floodOpacity_setterinfo = {
17278 : { (JSJitGetterOp)set_floodOpacity },
17279 : { prototypes::id::CSS2Properties },
17280 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17281 : JSJitInfo::Setter,
17282 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17283 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
17284 : false, /* isInfallible. False in setters. */
17285 : false, /* isMovable. Not relevant for setters. */
17286 : false, /* isEliminatable. Not relevant for setters. */
17287 : false, /* isAlwaysInSlot. Only relevant for getters. */
17288 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17289 : false, /* isTypedMethod. Only relevant for methods. */
17290 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17291 : };
17292 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17293 : static_assert(0 < 1, "There is no slot for us");
17294 :
17295 : static bool
17296 0 : get_flood_opacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
17297 : {
17298 0 : binding_detail::FastErrorResult rv;
17299 0 : DOMString result;
17300 0 : self->GetFloodOpacity(result, rv);
17301 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17302 0 : return false;
17303 : }
17304 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17305 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
17306 0 : return false;
17307 : }
17308 0 : return true;
17309 : }
17310 :
17311 : static bool
17312 0 : set_flood_opacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
17313 : {
17314 0 : binding_detail::FakeString arg0;
17315 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
17316 0 : return false;
17317 : }
17318 0 : binding_detail::FastErrorResult rv;
17319 0 : self->SetFloodOpacity(NonNullHelper(Constify(arg0)), rv);
17320 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17321 0 : return false;
17322 : }
17323 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17324 :
17325 0 : return true;
17326 : }
17327 :
17328 : static const JSJitInfo flood_opacity_getterinfo = {
17329 : { (JSJitGetterOp)get_flood_opacity },
17330 : { prototypes::id::CSS2Properties },
17331 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17332 : JSJitInfo::Getter,
17333 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17334 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
17335 : false, /* isInfallible. False in setters. */
17336 : false, /* isMovable. Not relevant for setters. */
17337 : false, /* isEliminatable. Not relevant for setters. */
17338 : false, /* isAlwaysInSlot. Only relevant for getters. */
17339 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17340 : false, /* isTypedMethod. Only relevant for methods. */
17341 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17342 : };
17343 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17344 : static_assert(0 < 1, "There is no slot for us");
17345 : static const JSJitInfo flood_opacity_setterinfo = {
17346 : { (JSJitGetterOp)set_flood_opacity },
17347 : { prototypes::id::CSS2Properties },
17348 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17349 : JSJitInfo::Setter,
17350 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17351 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
17352 : false, /* isInfallible. False in setters. */
17353 : false, /* isMovable. Not relevant for setters. */
17354 : false, /* isEliminatable. Not relevant for setters. */
17355 : false, /* isAlwaysInSlot. Only relevant for getters. */
17356 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17357 : false, /* isTypedMethod. Only relevant for methods. */
17358 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17359 : };
17360 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17361 : static_assert(0 < 1, "There is no slot for us");
17362 :
17363 : static bool
17364 0 : get_font(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
17365 : {
17366 0 : binding_detail::FastErrorResult rv;
17367 0 : DOMString result;
17368 0 : self->GetFont(result, rv);
17369 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17370 0 : return false;
17371 : }
17372 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17373 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
17374 0 : return false;
17375 : }
17376 0 : return true;
17377 : }
17378 :
17379 : static bool
17380 0 : set_font(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
17381 : {
17382 0 : binding_detail::FakeString arg0;
17383 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
17384 0 : return false;
17385 : }
17386 0 : binding_detail::FastErrorResult rv;
17387 0 : self->SetFont(NonNullHelper(Constify(arg0)), rv);
17388 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17389 0 : return false;
17390 : }
17391 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17392 :
17393 0 : return true;
17394 : }
17395 :
17396 : static const JSJitInfo font_getterinfo = {
17397 : { (JSJitGetterOp)get_font },
17398 : { prototypes::id::CSS2Properties },
17399 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17400 : JSJitInfo::Getter,
17401 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17402 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
17403 : false, /* isInfallible. False in setters. */
17404 : false, /* isMovable. Not relevant for setters. */
17405 : false, /* isEliminatable. Not relevant for setters. */
17406 : false, /* isAlwaysInSlot. Only relevant for getters. */
17407 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17408 : false, /* isTypedMethod. Only relevant for methods. */
17409 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17410 : };
17411 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17412 : static_assert(0 < 1, "There is no slot for us");
17413 : static const JSJitInfo font_setterinfo = {
17414 : { (JSJitGetterOp)set_font },
17415 : { prototypes::id::CSS2Properties },
17416 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17417 : JSJitInfo::Setter,
17418 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17419 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
17420 : false, /* isInfallible. False in setters. */
17421 : false, /* isMovable. Not relevant for setters. */
17422 : false, /* isEliminatable. Not relevant for setters. */
17423 : false, /* isAlwaysInSlot. Only relevant for getters. */
17424 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17425 : false, /* isTypedMethod. Only relevant for methods. */
17426 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17427 : };
17428 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17429 : static_assert(0 < 1, "There is no slot for us");
17430 :
17431 : static bool
17432 0 : get_fontFamily(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
17433 : {
17434 0 : binding_detail::FastErrorResult rv;
17435 0 : DOMString result;
17436 0 : self->GetFontFamily(result, rv);
17437 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17438 0 : return false;
17439 : }
17440 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17441 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
17442 0 : return false;
17443 : }
17444 0 : return true;
17445 : }
17446 :
17447 : static bool
17448 0 : set_fontFamily(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
17449 : {
17450 0 : binding_detail::FakeString arg0;
17451 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
17452 0 : return false;
17453 : }
17454 0 : binding_detail::FastErrorResult rv;
17455 0 : self->SetFontFamily(NonNullHelper(Constify(arg0)), rv);
17456 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17457 0 : return false;
17458 : }
17459 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17460 :
17461 0 : return true;
17462 : }
17463 :
17464 : static const JSJitInfo fontFamily_getterinfo = {
17465 : { (JSJitGetterOp)get_fontFamily },
17466 : { prototypes::id::CSS2Properties },
17467 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17468 : JSJitInfo::Getter,
17469 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17470 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
17471 : false, /* isInfallible. False in setters. */
17472 : false, /* isMovable. Not relevant for setters. */
17473 : false, /* isEliminatable. Not relevant for setters. */
17474 : false, /* isAlwaysInSlot. Only relevant for getters. */
17475 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17476 : false, /* isTypedMethod. Only relevant for methods. */
17477 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17478 : };
17479 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17480 : static_assert(0 < 1, "There is no slot for us");
17481 : static const JSJitInfo fontFamily_setterinfo = {
17482 : { (JSJitGetterOp)set_fontFamily },
17483 : { prototypes::id::CSS2Properties },
17484 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17485 : JSJitInfo::Setter,
17486 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17487 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
17488 : false, /* isInfallible. False in setters. */
17489 : false, /* isMovable. Not relevant for setters. */
17490 : false, /* isEliminatable. Not relevant for setters. */
17491 : false, /* isAlwaysInSlot. Only relevant for getters. */
17492 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17493 : false, /* isTypedMethod. Only relevant for methods. */
17494 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17495 : };
17496 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17497 : static_assert(0 < 1, "There is no slot for us");
17498 :
17499 : static bool
17500 0 : get_font_family(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
17501 : {
17502 0 : binding_detail::FastErrorResult rv;
17503 0 : DOMString result;
17504 0 : self->GetFontFamily(result, rv);
17505 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17506 0 : return false;
17507 : }
17508 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17509 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
17510 0 : return false;
17511 : }
17512 0 : return true;
17513 : }
17514 :
17515 : static bool
17516 0 : set_font_family(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
17517 : {
17518 0 : binding_detail::FakeString arg0;
17519 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
17520 0 : return false;
17521 : }
17522 0 : binding_detail::FastErrorResult rv;
17523 0 : self->SetFontFamily(NonNullHelper(Constify(arg0)), rv);
17524 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17525 0 : return false;
17526 : }
17527 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17528 :
17529 0 : return true;
17530 : }
17531 :
17532 : static const JSJitInfo font_family_getterinfo = {
17533 : { (JSJitGetterOp)get_font_family },
17534 : { prototypes::id::CSS2Properties },
17535 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17536 : JSJitInfo::Getter,
17537 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17538 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
17539 : false, /* isInfallible. False in setters. */
17540 : false, /* isMovable. Not relevant for setters. */
17541 : false, /* isEliminatable. Not relevant for setters. */
17542 : false, /* isAlwaysInSlot. Only relevant for getters. */
17543 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17544 : false, /* isTypedMethod. Only relevant for methods. */
17545 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17546 : };
17547 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17548 : static_assert(0 < 1, "There is no slot for us");
17549 : static const JSJitInfo font_family_setterinfo = {
17550 : { (JSJitGetterOp)set_font_family },
17551 : { prototypes::id::CSS2Properties },
17552 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17553 : JSJitInfo::Setter,
17554 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17555 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
17556 : false, /* isInfallible. False in setters. */
17557 : false, /* isMovable. Not relevant for setters. */
17558 : false, /* isEliminatable. Not relevant for setters. */
17559 : false, /* isAlwaysInSlot. Only relevant for getters. */
17560 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17561 : false, /* isTypedMethod. Only relevant for methods. */
17562 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17563 : };
17564 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17565 : static_assert(0 < 1, "There is no slot for us");
17566 :
17567 : static bool
17568 0 : get_fontFeatureSettings(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
17569 : {
17570 0 : binding_detail::FastErrorResult rv;
17571 0 : DOMString result;
17572 0 : self->GetFontFeatureSettings(result, rv);
17573 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17574 0 : return false;
17575 : }
17576 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17577 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
17578 0 : return false;
17579 : }
17580 0 : return true;
17581 : }
17582 :
17583 : static bool
17584 0 : set_fontFeatureSettings(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
17585 : {
17586 0 : binding_detail::FakeString arg0;
17587 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
17588 0 : return false;
17589 : }
17590 0 : binding_detail::FastErrorResult rv;
17591 0 : self->SetFontFeatureSettings(NonNullHelper(Constify(arg0)), rv);
17592 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17593 0 : return false;
17594 : }
17595 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17596 :
17597 0 : return true;
17598 : }
17599 :
17600 : static const JSJitInfo fontFeatureSettings_getterinfo = {
17601 : { (JSJitGetterOp)get_fontFeatureSettings },
17602 : { prototypes::id::CSS2Properties },
17603 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17604 : JSJitInfo::Getter,
17605 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17606 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
17607 : false, /* isInfallible. False in setters. */
17608 : false, /* isMovable. Not relevant for setters. */
17609 : false, /* isEliminatable. Not relevant for setters. */
17610 : false, /* isAlwaysInSlot. Only relevant for getters. */
17611 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17612 : false, /* isTypedMethod. Only relevant for methods. */
17613 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17614 : };
17615 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17616 : static_assert(0 < 1, "There is no slot for us");
17617 : static const JSJitInfo fontFeatureSettings_setterinfo = {
17618 : { (JSJitGetterOp)set_fontFeatureSettings },
17619 : { prototypes::id::CSS2Properties },
17620 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17621 : JSJitInfo::Setter,
17622 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17623 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
17624 : false, /* isInfallible. False in setters. */
17625 : false, /* isMovable. Not relevant for setters. */
17626 : false, /* isEliminatable. Not relevant for setters. */
17627 : false, /* isAlwaysInSlot. Only relevant for getters. */
17628 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17629 : false, /* isTypedMethod. Only relevant for methods. */
17630 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17631 : };
17632 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17633 : static_assert(0 < 1, "There is no slot for us");
17634 :
17635 : static bool
17636 0 : get_font_feature_settings(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
17637 : {
17638 0 : binding_detail::FastErrorResult rv;
17639 0 : DOMString result;
17640 0 : self->GetFontFeatureSettings(result, rv);
17641 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17642 0 : return false;
17643 : }
17644 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17645 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
17646 0 : return false;
17647 : }
17648 0 : return true;
17649 : }
17650 :
17651 : static bool
17652 0 : set_font_feature_settings(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
17653 : {
17654 0 : binding_detail::FakeString arg0;
17655 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
17656 0 : return false;
17657 : }
17658 0 : binding_detail::FastErrorResult rv;
17659 0 : self->SetFontFeatureSettings(NonNullHelper(Constify(arg0)), rv);
17660 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17661 0 : return false;
17662 : }
17663 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17664 :
17665 0 : return true;
17666 : }
17667 :
17668 : static const JSJitInfo font_feature_settings_getterinfo = {
17669 : { (JSJitGetterOp)get_font_feature_settings },
17670 : { prototypes::id::CSS2Properties },
17671 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17672 : JSJitInfo::Getter,
17673 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17674 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
17675 : false, /* isInfallible. False in setters. */
17676 : false, /* isMovable. Not relevant for setters. */
17677 : false, /* isEliminatable. Not relevant for setters. */
17678 : false, /* isAlwaysInSlot. Only relevant for getters. */
17679 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17680 : false, /* isTypedMethod. Only relevant for methods. */
17681 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17682 : };
17683 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17684 : static_assert(0 < 1, "There is no slot for us");
17685 : static const JSJitInfo font_feature_settings_setterinfo = {
17686 : { (JSJitGetterOp)set_font_feature_settings },
17687 : { prototypes::id::CSS2Properties },
17688 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17689 : JSJitInfo::Setter,
17690 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17691 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
17692 : false, /* isInfallible. False in setters. */
17693 : false, /* isMovable. Not relevant for setters. */
17694 : false, /* isEliminatable. Not relevant for setters. */
17695 : false, /* isAlwaysInSlot. Only relevant for getters. */
17696 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17697 : false, /* isTypedMethod. Only relevant for methods. */
17698 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17699 : };
17700 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17701 : static_assert(0 < 1, "There is no slot for us");
17702 :
17703 : static bool
17704 0 : get_fontKerning(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
17705 : {
17706 0 : binding_detail::FastErrorResult rv;
17707 0 : DOMString result;
17708 0 : self->GetFontKerning(result, rv);
17709 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17710 0 : return false;
17711 : }
17712 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17713 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
17714 0 : return false;
17715 : }
17716 0 : return true;
17717 : }
17718 :
17719 : static bool
17720 0 : set_fontKerning(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
17721 : {
17722 0 : binding_detail::FakeString arg0;
17723 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
17724 0 : return false;
17725 : }
17726 0 : binding_detail::FastErrorResult rv;
17727 0 : self->SetFontKerning(NonNullHelper(Constify(arg0)), rv);
17728 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17729 0 : return false;
17730 : }
17731 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17732 :
17733 0 : return true;
17734 : }
17735 :
17736 : static const JSJitInfo fontKerning_getterinfo = {
17737 : { (JSJitGetterOp)get_fontKerning },
17738 : { prototypes::id::CSS2Properties },
17739 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17740 : JSJitInfo::Getter,
17741 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17742 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
17743 : false, /* isInfallible. False in setters. */
17744 : false, /* isMovable. Not relevant for setters. */
17745 : false, /* isEliminatable. Not relevant for setters. */
17746 : false, /* isAlwaysInSlot. Only relevant for getters. */
17747 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17748 : false, /* isTypedMethod. Only relevant for methods. */
17749 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17750 : };
17751 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17752 : static_assert(0 < 1, "There is no slot for us");
17753 : static const JSJitInfo fontKerning_setterinfo = {
17754 : { (JSJitGetterOp)set_fontKerning },
17755 : { prototypes::id::CSS2Properties },
17756 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17757 : JSJitInfo::Setter,
17758 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17759 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
17760 : false, /* isInfallible. False in setters. */
17761 : false, /* isMovable. Not relevant for setters. */
17762 : false, /* isEliminatable. Not relevant for setters. */
17763 : false, /* isAlwaysInSlot. Only relevant for getters. */
17764 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17765 : false, /* isTypedMethod. Only relevant for methods. */
17766 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17767 : };
17768 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17769 : static_assert(0 < 1, "There is no slot for us");
17770 :
17771 : static bool
17772 0 : get_font_kerning(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
17773 : {
17774 0 : binding_detail::FastErrorResult rv;
17775 0 : DOMString result;
17776 0 : self->GetFontKerning(result, rv);
17777 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17778 0 : return false;
17779 : }
17780 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17781 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
17782 0 : return false;
17783 : }
17784 0 : return true;
17785 : }
17786 :
17787 : static bool
17788 0 : set_font_kerning(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
17789 : {
17790 0 : binding_detail::FakeString arg0;
17791 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
17792 0 : return false;
17793 : }
17794 0 : binding_detail::FastErrorResult rv;
17795 0 : self->SetFontKerning(NonNullHelper(Constify(arg0)), rv);
17796 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17797 0 : return false;
17798 : }
17799 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17800 :
17801 0 : return true;
17802 : }
17803 :
17804 : static const JSJitInfo font_kerning_getterinfo = {
17805 : { (JSJitGetterOp)get_font_kerning },
17806 : { prototypes::id::CSS2Properties },
17807 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17808 : JSJitInfo::Getter,
17809 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17810 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
17811 : false, /* isInfallible. False in setters. */
17812 : false, /* isMovable. Not relevant for setters. */
17813 : false, /* isEliminatable. Not relevant for setters. */
17814 : false, /* isAlwaysInSlot. Only relevant for getters. */
17815 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17816 : false, /* isTypedMethod. Only relevant for methods. */
17817 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17818 : };
17819 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17820 : static_assert(0 < 1, "There is no slot for us");
17821 : static const JSJitInfo font_kerning_setterinfo = {
17822 : { (JSJitGetterOp)set_font_kerning },
17823 : { prototypes::id::CSS2Properties },
17824 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17825 : JSJitInfo::Setter,
17826 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17827 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
17828 : false, /* isInfallible. False in setters. */
17829 : false, /* isMovable. Not relevant for setters. */
17830 : false, /* isEliminatable. Not relevant for setters. */
17831 : false, /* isAlwaysInSlot. Only relevant for getters. */
17832 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17833 : false, /* isTypedMethod. Only relevant for methods. */
17834 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17835 : };
17836 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17837 : static_assert(0 < 1, "There is no slot for us");
17838 :
17839 : static bool
17840 0 : get_fontLanguageOverride(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
17841 : {
17842 0 : binding_detail::FastErrorResult rv;
17843 0 : DOMString result;
17844 0 : self->GetFontLanguageOverride(result, rv);
17845 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17846 0 : return false;
17847 : }
17848 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17849 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
17850 0 : return false;
17851 : }
17852 0 : return true;
17853 : }
17854 :
17855 : static bool
17856 0 : set_fontLanguageOverride(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
17857 : {
17858 0 : binding_detail::FakeString arg0;
17859 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
17860 0 : return false;
17861 : }
17862 0 : binding_detail::FastErrorResult rv;
17863 0 : self->SetFontLanguageOverride(NonNullHelper(Constify(arg0)), rv);
17864 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17865 0 : return false;
17866 : }
17867 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17868 :
17869 0 : return true;
17870 : }
17871 :
17872 : static const JSJitInfo fontLanguageOverride_getterinfo = {
17873 : { (JSJitGetterOp)get_fontLanguageOverride },
17874 : { prototypes::id::CSS2Properties },
17875 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17876 : JSJitInfo::Getter,
17877 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17878 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
17879 : false, /* isInfallible. False in setters. */
17880 : false, /* isMovable. Not relevant for setters. */
17881 : false, /* isEliminatable. Not relevant for setters. */
17882 : false, /* isAlwaysInSlot. Only relevant for getters. */
17883 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17884 : false, /* isTypedMethod. Only relevant for methods. */
17885 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17886 : };
17887 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17888 : static_assert(0 < 1, "There is no slot for us");
17889 : static const JSJitInfo fontLanguageOverride_setterinfo = {
17890 : { (JSJitGetterOp)set_fontLanguageOverride },
17891 : { prototypes::id::CSS2Properties },
17892 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17893 : JSJitInfo::Setter,
17894 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17895 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
17896 : false, /* isInfallible. False in setters. */
17897 : false, /* isMovable. Not relevant for setters. */
17898 : false, /* isEliminatable. Not relevant for setters. */
17899 : false, /* isAlwaysInSlot. Only relevant for getters. */
17900 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17901 : false, /* isTypedMethod. Only relevant for methods. */
17902 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17903 : };
17904 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17905 : static_assert(0 < 1, "There is no slot for us");
17906 :
17907 : static bool
17908 0 : get_font_language_override(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
17909 : {
17910 0 : binding_detail::FastErrorResult rv;
17911 0 : DOMString result;
17912 0 : self->GetFontLanguageOverride(result, rv);
17913 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17914 0 : return false;
17915 : }
17916 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17917 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
17918 0 : return false;
17919 : }
17920 0 : return true;
17921 : }
17922 :
17923 : static bool
17924 0 : set_font_language_override(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
17925 : {
17926 0 : binding_detail::FakeString arg0;
17927 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
17928 0 : return false;
17929 : }
17930 0 : binding_detail::FastErrorResult rv;
17931 0 : self->SetFontLanguageOverride(NonNullHelper(Constify(arg0)), rv);
17932 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17933 0 : return false;
17934 : }
17935 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17936 :
17937 0 : return true;
17938 : }
17939 :
17940 : static const JSJitInfo font_language_override_getterinfo = {
17941 : { (JSJitGetterOp)get_font_language_override },
17942 : { prototypes::id::CSS2Properties },
17943 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17944 : JSJitInfo::Getter,
17945 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17946 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
17947 : false, /* isInfallible. False in setters. */
17948 : false, /* isMovable. Not relevant for setters. */
17949 : false, /* isEliminatable. Not relevant for setters. */
17950 : false, /* isAlwaysInSlot. Only relevant for getters. */
17951 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17952 : false, /* isTypedMethod. Only relevant for methods. */
17953 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17954 : };
17955 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17956 : static_assert(0 < 1, "There is no slot for us");
17957 : static const JSJitInfo font_language_override_setterinfo = {
17958 : { (JSJitGetterOp)set_font_language_override },
17959 : { prototypes::id::CSS2Properties },
17960 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
17961 : JSJitInfo::Setter,
17962 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
17963 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
17964 : false, /* isInfallible. False in setters. */
17965 : false, /* isMovable. Not relevant for setters. */
17966 : false, /* isEliminatable. Not relevant for setters. */
17967 : false, /* isAlwaysInSlot. Only relevant for getters. */
17968 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
17969 : false, /* isTypedMethod. Only relevant for methods. */
17970 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
17971 : };
17972 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
17973 : static_assert(0 < 1, "There is no slot for us");
17974 :
17975 : static bool
17976 0 : get_fontSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
17977 : {
17978 0 : binding_detail::FastErrorResult rv;
17979 0 : DOMString result;
17980 0 : self->GetFontSize(result, rv);
17981 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
17982 0 : return false;
17983 : }
17984 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
17985 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
17986 0 : return false;
17987 : }
17988 0 : return true;
17989 : }
17990 :
17991 : static bool
17992 0 : set_fontSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
17993 : {
17994 0 : binding_detail::FakeString arg0;
17995 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
17996 0 : return false;
17997 : }
17998 0 : binding_detail::FastErrorResult rv;
17999 0 : self->SetFontSize(NonNullHelper(Constify(arg0)), rv);
18000 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18001 0 : return false;
18002 : }
18003 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18004 :
18005 0 : return true;
18006 : }
18007 :
18008 : static const JSJitInfo fontSize_getterinfo = {
18009 : { (JSJitGetterOp)get_fontSize },
18010 : { prototypes::id::CSS2Properties },
18011 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18012 : JSJitInfo::Getter,
18013 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18014 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
18015 : false, /* isInfallible. False in setters. */
18016 : false, /* isMovable. Not relevant for setters. */
18017 : false, /* isEliminatable. Not relevant for setters. */
18018 : false, /* isAlwaysInSlot. Only relevant for getters. */
18019 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18020 : false, /* isTypedMethod. Only relevant for methods. */
18021 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18022 : };
18023 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18024 : static_assert(0 < 1, "There is no slot for us");
18025 : static const JSJitInfo fontSize_setterinfo = {
18026 : { (JSJitGetterOp)set_fontSize },
18027 : { prototypes::id::CSS2Properties },
18028 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18029 : JSJitInfo::Setter,
18030 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18031 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
18032 : false, /* isInfallible. False in setters. */
18033 : false, /* isMovable. Not relevant for setters. */
18034 : false, /* isEliminatable. Not relevant for setters. */
18035 : false, /* isAlwaysInSlot. Only relevant for getters. */
18036 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18037 : false, /* isTypedMethod. Only relevant for methods. */
18038 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18039 : };
18040 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18041 : static_assert(0 < 1, "There is no slot for us");
18042 :
18043 : static bool
18044 0 : get_font_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
18045 : {
18046 0 : binding_detail::FastErrorResult rv;
18047 0 : DOMString result;
18048 0 : self->GetFontSize(result, rv);
18049 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18050 0 : return false;
18051 : }
18052 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18053 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
18054 0 : return false;
18055 : }
18056 0 : return true;
18057 : }
18058 :
18059 : static bool
18060 0 : set_font_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
18061 : {
18062 0 : binding_detail::FakeString arg0;
18063 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
18064 0 : return false;
18065 : }
18066 0 : binding_detail::FastErrorResult rv;
18067 0 : self->SetFontSize(NonNullHelper(Constify(arg0)), rv);
18068 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18069 0 : return false;
18070 : }
18071 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18072 :
18073 0 : return true;
18074 : }
18075 :
18076 : static const JSJitInfo font_size_getterinfo = {
18077 : { (JSJitGetterOp)get_font_size },
18078 : { prototypes::id::CSS2Properties },
18079 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18080 : JSJitInfo::Getter,
18081 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18082 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
18083 : false, /* isInfallible. False in setters. */
18084 : false, /* isMovable. Not relevant for setters. */
18085 : false, /* isEliminatable. Not relevant for setters. */
18086 : false, /* isAlwaysInSlot. Only relevant for getters. */
18087 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18088 : false, /* isTypedMethod. Only relevant for methods. */
18089 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18090 : };
18091 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18092 : static_assert(0 < 1, "There is no slot for us");
18093 : static const JSJitInfo font_size_setterinfo = {
18094 : { (JSJitGetterOp)set_font_size },
18095 : { prototypes::id::CSS2Properties },
18096 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18097 : JSJitInfo::Setter,
18098 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18099 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
18100 : false, /* isInfallible. False in setters. */
18101 : false, /* isMovable. Not relevant for setters. */
18102 : false, /* isEliminatable. Not relevant for setters. */
18103 : false, /* isAlwaysInSlot. Only relevant for getters. */
18104 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18105 : false, /* isTypedMethod. Only relevant for methods. */
18106 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18107 : };
18108 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18109 : static_assert(0 < 1, "There is no slot for us");
18110 :
18111 : static bool
18112 0 : get_fontSizeAdjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
18113 : {
18114 0 : binding_detail::FastErrorResult rv;
18115 0 : DOMString result;
18116 0 : self->GetFontSizeAdjust(result, rv);
18117 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18118 0 : return false;
18119 : }
18120 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18121 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
18122 0 : return false;
18123 : }
18124 0 : return true;
18125 : }
18126 :
18127 : static bool
18128 0 : set_fontSizeAdjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
18129 : {
18130 0 : binding_detail::FakeString arg0;
18131 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
18132 0 : return false;
18133 : }
18134 0 : binding_detail::FastErrorResult rv;
18135 0 : self->SetFontSizeAdjust(NonNullHelper(Constify(arg0)), rv);
18136 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18137 0 : return false;
18138 : }
18139 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18140 :
18141 0 : return true;
18142 : }
18143 :
18144 : static const JSJitInfo fontSizeAdjust_getterinfo = {
18145 : { (JSJitGetterOp)get_fontSizeAdjust },
18146 : { prototypes::id::CSS2Properties },
18147 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18148 : JSJitInfo::Getter,
18149 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18150 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
18151 : false, /* isInfallible. False in setters. */
18152 : false, /* isMovable. Not relevant for setters. */
18153 : false, /* isEliminatable. Not relevant for setters. */
18154 : false, /* isAlwaysInSlot. Only relevant for getters. */
18155 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18156 : false, /* isTypedMethod. Only relevant for methods. */
18157 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18158 : };
18159 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18160 : static_assert(0 < 1, "There is no slot for us");
18161 : static const JSJitInfo fontSizeAdjust_setterinfo = {
18162 : { (JSJitGetterOp)set_fontSizeAdjust },
18163 : { prototypes::id::CSS2Properties },
18164 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18165 : JSJitInfo::Setter,
18166 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18167 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
18168 : false, /* isInfallible. False in setters. */
18169 : false, /* isMovable. Not relevant for setters. */
18170 : false, /* isEliminatable. Not relevant for setters. */
18171 : false, /* isAlwaysInSlot. Only relevant for getters. */
18172 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18173 : false, /* isTypedMethod. Only relevant for methods. */
18174 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18175 : };
18176 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18177 : static_assert(0 < 1, "There is no slot for us");
18178 :
18179 : static bool
18180 0 : get_font_size_adjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
18181 : {
18182 0 : binding_detail::FastErrorResult rv;
18183 0 : DOMString result;
18184 0 : self->GetFontSizeAdjust(result, rv);
18185 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18186 0 : return false;
18187 : }
18188 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18189 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
18190 0 : return false;
18191 : }
18192 0 : return true;
18193 : }
18194 :
18195 : static bool
18196 0 : set_font_size_adjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
18197 : {
18198 0 : binding_detail::FakeString arg0;
18199 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
18200 0 : return false;
18201 : }
18202 0 : binding_detail::FastErrorResult rv;
18203 0 : self->SetFontSizeAdjust(NonNullHelper(Constify(arg0)), rv);
18204 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18205 0 : return false;
18206 : }
18207 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18208 :
18209 0 : return true;
18210 : }
18211 :
18212 : static const JSJitInfo font_size_adjust_getterinfo = {
18213 : { (JSJitGetterOp)get_font_size_adjust },
18214 : { prototypes::id::CSS2Properties },
18215 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18216 : JSJitInfo::Getter,
18217 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18218 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
18219 : false, /* isInfallible. False in setters. */
18220 : false, /* isMovable. Not relevant for setters. */
18221 : false, /* isEliminatable. Not relevant for setters. */
18222 : false, /* isAlwaysInSlot. Only relevant for getters. */
18223 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18224 : false, /* isTypedMethod. Only relevant for methods. */
18225 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18226 : };
18227 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18228 : static_assert(0 < 1, "There is no slot for us");
18229 : static const JSJitInfo font_size_adjust_setterinfo = {
18230 : { (JSJitGetterOp)set_font_size_adjust },
18231 : { prototypes::id::CSS2Properties },
18232 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18233 : JSJitInfo::Setter,
18234 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18235 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
18236 : false, /* isInfallible. False in setters. */
18237 : false, /* isMovable. Not relevant for setters. */
18238 : false, /* isEliminatable. Not relevant for setters. */
18239 : false, /* isAlwaysInSlot. Only relevant for getters. */
18240 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18241 : false, /* isTypedMethod. Only relevant for methods. */
18242 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18243 : };
18244 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18245 : static_assert(0 < 1, "There is no slot for us");
18246 :
18247 : static bool
18248 0 : get_fontStretch(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
18249 : {
18250 0 : binding_detail::FastErrorResult rv;
18251 0 : DOMString result;
18252 0 : self->GetFontStretch(result, rv);
18253 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18254 0 : return false;
18255 : }
18256 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18257 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
18258 0 : return false;
18259 : }
18260 0 : return true;
18261 : }
18262 :
18263 : static bool
18264 0 : set_fontStretch(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
18265 : {
18266 0 : binding_detail::FakeString arg0;
18267 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
18268 0 : return false;
18269 : }
18270 0 : binding_detail::FastErrorResult rv;
18271 0 : self->SetFontStretch(NonNullHelper(Constify(arg0)), rv);
18272 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18273 0 : return false;
18274 : }
18275 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18276 :
18277 0 : return true;
18278 : }
18279 :
18280 : static const JSJitInfo fontStretch_getterinfo = {
18281 : { (JSJitGetterOp)get_fontStretch },
18282 : { prototypes::id::CSS2Properties },
18283 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18284 : JSJitInfo::Getter,
18285 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18286 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
18287 : false, /* isInfallible. False in setters. */
18288 : false, /* isMovable. Not relevant for setters. */
18289 : false, /* isEliminatable. Not relevant for setters. */
18290 : false, /* isAlwaysInSlot. Only relevant for getters. */
18291 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18292 : false, /* isTypedMethod. Only relevant for methods. */
18293 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18294 : };
18295 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18296 : static_assert(0 < 1, "There is no slot for us");
18297 : static const JSJitInfo fontStretch_setterinfo = {
18298 : { (JSJitGetterOp)set_fontStretch },
18299 : { prototypes::id::CSS2Properties },
18300 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18301 : JSJitInfo::Setter,
18302 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18303 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
18304 : false, /* isInfallible. False in setters. */
18305 : false, /* isMovable. Not relevant for setters. */
18306 : false, /* isEliminatable. Not relevant for setters. */
18307 : false, /* isAlwaysInSlot. Only relevant for getters. */
18308 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18309 : false, /* isTypedMethod. Only relevant for methods. */
18310 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18311 : };
18312 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18313 : static_assert(0 < 1, "There is no slot for us");
18314 :
18315 : static bool
18316 0 : get_font_stretch(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
18317 : {
18318 0 : binding_detail::FastErrorResult rv;
18319 0 : DOMString result;
18320 0 : self->GetFontStretch(result, rv);
18321 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18322 0 : return false;
18323 : }
18324 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18325 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
18326 0 : return false;
18327 : }
18328 0 : return true;
18329 : }
18330 :
18331 : static bool
18332 0 : set_font_stretch(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
18333 : {
18334 0 : binding_detail::FakeString arg0;
18335 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
18336 0 : return false;
18337 : }
18338 0 : binding_detail::FastErrorResult rv;
18339 0 : self->SetFontStretch(NonNullHelper(Constify(arg0)), rv);
18340 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18341 0 : return false;
18342 : }
18343 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18344 :
18345 0 : return true;
18346 : }
18347 :
18348 : static const JSJitInfo font_stretch_getterinfo = {
18349 : { (JSJitGetterOp)get_font_stretch },
18350 : { prototypes::id::CSS2Properties },
18351 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18352 : JSJitInfo::Getter,
18353 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18354 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
18355 : false, /* isInfallible. False in setters. */
18356 : false, /* isMovable. Not relevant for setters. */
18357 : false, /* isEliminatable. Not relevant for setters. */
18358 : false, /* isAlwaysInSlot. Only relevant for getters. */
18359 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18360 : false, /* isTypedMethod. Only relevant for methods. */
18361 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18362 : };
18363 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18364 : static_assert(0 < 1, "There is no slot for us");
18365 : static const JSJitInfo font_stretch_setterinfo = {
18366 : { (JSJitGetterOp)set_font_stretch },
18367 : { prototypes::id::CSS2Properties },
18368 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18369 : JSJitInfo::Setter,
18370 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18371 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
18372 : false, /* isInfallible. False in setters. */
18373 : false, /* isMovable. Not relevant for setters. */
18374 : false, /* isEliminatable. Not relevant for setters. */
18375 : false, /* isAlwaysInSlot. Only relevant for getters. */
18376 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18377 : false, /* isTypedMethod. Only relevant for methods. */
18378 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18379 : };
18380 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18381 : static_assert(0 < 1, "There is no slot for us");
18382 :
18383 : static bool
18384 0 : get_fontStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
18385 : {
18386 0 : binding_detail::FastErrorResult rv;
18387 0 : DOMString result;
18388 0 : self->GetFontStyle(result, rv);
18389 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18390 0 : return false;
18391 : }
18392 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18393 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
18394 0 : return false;
18395 : }
18396 0 : return true;
18397 : }
18398 :
18399 : static bool
18400 0 : set_fontStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
18401 : {
18402 0 : binding_detail::FakeString arg0;
18403 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
18404 0 : return false;
18405 : }
18406 0 : binding_detail::FastErrorResult rv;
18407 0 : self->SetFontStyle(NonNullHelper(Constify(arg0)), rv);
18408 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18409 0 : return false;
18410 : }
18411 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18412 :
18413 0 : return true;
18414 : }
18415 :
18416 : static const JSJitInfo fontStyle_getterinfo = {
18417 : { (JSJitGetterOp)get_fontStyle },
18418 : { prototypes::id::CSS2Properties },
18419 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18420 : JSJitInfo::Getter,
18421 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18422 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
18423 : false, /* isInfallible. False in setters. */
18424 : false, /* isMovable. Not relevant for setters. */
18425 : false, /* isEliminatable. Not relevant for setters. */
18426 : false, /* isAlwaysInSlot. Only relevant for getters. */
18427 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18428 : false, /* isTypedMethod. Only relevant for methods. */
18429 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18430 : };
18431 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18432 : static_assert(0 < 1, "There is no slot for us");
18433 : static const JSJitInfo fontStyle_setterinfo = {
18434 : { (JSJitGetterOp)set_fontStyle },
18435 : { prototypes::id::CSS2Properties },
18436 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18437 : JSJitInfo::Setter,
18438 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18439 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
18440 : false, /* isInfallible. False in setters. */
18441 : false, /* isMovable. Not relevant for setters. */
18442 : false, /* isEliminatable. Not relevant for setters. */
18443 : false, /* isAlwaysInSlot. Only relevant for getters. */
18444 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18445 : false, /* isTypedMethod. Only relevant for methods. */
18446 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18447 : };
18448 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18449 : static_assert(0 < 1, "There is no slot for us");
18450 :
18451 : static bool
18452 0 : get_font_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
18453 : {
18454 0 : binding_detail::FastErrorResult rv;
18455 0 : DOMString result;
18456 0 : self->GetFontStyle(result, rv);
18457 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18458 0 : return false;
18459 : }
18460 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18461 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
18462 0 : return false;
18463 : }
18464 0 : return true;
18465 : }
18466 :
18467 : static bool
18468 0 : set_font_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
18469 : {
18470 0 : binding_detail::FakeString arg0;
18471 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
18472 0 : return false;
18473 : }
18474 0 : binding_detail::FastErrorResult rv;
18475 0 : self->SetFontStyle(NonNullHelper(Constify(arg0)), rv);
18476 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18477 0 : return false;
18478 : }
18479 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18480 :
18481 0 : return true;
18482 : }
18483 :
18484 : static const JSJitInfo font_style_getterinfo = {
18485 : { (JSJitGetterOp)get_font_style },
18486 : { prototypes::id::CSS2Properties },
18487 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18488 : JSJitInfo::Getter,
18489 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18490 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
18491 : false, /* isInfallible. False in setters. */
18492 : false, /* isMovable. Not relevant for setters. */
18493 : false, /* isEliminatable. Not relevant for setters. */
18494 : false, /* isAlwaysInSlot. Only relevant for getters. */
18495 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18496 : false, /* isTypedMethod. Only relevant for methods. */
18497 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18498 : };
18499 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18500 : static_assert(0 < 1, "There is no slot for us");
18501 : static const JSJitInfo font_style_setterinfo = {
18502 : { (JSJitGetterOp)set_font_style },
18503 : { prototypes::id::CSS2Properties },
18504 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18505 : JSJitInfo::Setter,
18506 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18507 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
18508 : false, /* isInfallible. False in setters. */
18509 : false, /* isMovable. Not relevant for setters. */
18510 : false, /* isEliminatable. Not relevant for setters. */
18511 : false, /* isAlwaysInSlot. Only relevant for getters. */
18512 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18513 : false, /* isTypedMethod. Only relevant for methods. */
18514 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18515 : };
18516 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18517 : static_assert(0 < 1, "There is no slot for us");
18518 :
18519 : static bool
18520 0 : get_fontSynthesis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
18521 : {
18522 0 : binding_detail::FastErrorResult rv;
18523 0 : DOMString result;
18524 0 : self->GetFontSynthesis(result, rv);
18525 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18526 0 : return false;
18527 : }
18528 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18529 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
18530 0 : return false;
18531 : }
18532 0 : return true;
18533 : }
18534 :
18535 : static bool
18536 0 : set_fontSynthesis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
18537 : {
18538 0 : binding_detail::FakeString arg0;
18539 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
18540 0 : return false;
18541 : }
18542 0 : binding_detail::FastErrorResult rv;
18543 0 : self->SetFontSynthesis(NonNullHelper(Constify(arg0)), rv);
18544 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18545 0 : return false;
18546 : }
18547 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18548 :
18549 0 : return true;
18550 : }
18551 :
18552 : static const JSJitInfo fontSynthesis_getterinfo = {
18553 : { (JSJitGetterOp)get_fontSynthesis },
18554 : { prototypes::id::CSS2Properties },
18555 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18556 : JSJitInfo::Getter,
18557 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18558 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
18559 : false, /* isInfallible. False in setters. */
18560 : false, /* isMovable. Not relevant for setters. */
18561 : false, /* isEliminatable. Not relevant for setters. */
18562 : false, /* isAlwaysInSlot. Only relevant for getters. */
18563 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18564 : false, /* isTypedMethod. Only relevant for methods. */
18565 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18566 : };
18567 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18568 : static_assert(0 < 1, "There is no slot for us");
18569 : static const JSJitInfo fontSynthesis_setterinfo = {
18570 : { (JSJitGetterOp)set_fontSynthesis },
18571 : { prototypes::id::CSS2Properties },
18572 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18573 : JSJitInfo::Setter,
18574 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18575 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
18576 : false, /* isInfallible. False in setters. */
18577 : false, /* isMovable. Not relevant for setters. */
18578 : false, /* isEliminatable. Not relevant for setters. */
18579 : false, /* isAlwaysInSlot. Only relevant for getters. */
18580 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18581 : false, /* isTypedMethod. Only relevant for methods. */
18582 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18583 : };
18584 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18585 : static_assert(0 < 1, "There is no slot for us");
18586 :
18587 : static bool
18588 0 : get_font_synthesis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
18589 : {
18590 0 : binding_detail::FastErrorResult rv;
18591 0 : DOMString result;
18592 0 : self->GetFontSynthesis(result, rv);
18593 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18594 0 : return false;
18595 : }
18596 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18597 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
18598 0 : return false;
18599 : }
18600 0 : return true;
18601 : }
18602 :
18603 : static bool
18604 0 : set_font_synthesis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
18605 : {
18606 0 : binding_detail::FakeString arg0;
18607 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
18608 0 : return false;
18609 : }
18610 0 : binding_detail::FastErrorResult rv;
18611 0 : self->SetFontSynthesis(NonNullHelper(Constify(arg0)), rv);
18612 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18613 0 : return false;
18614 : }
18615 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18616 :
18617 0 : return true;
18618 : }
18619 :
18620 : static const JSJitInfo font_synthesis_getterinfo = {
18621 : { (JSJitGetterOp)get_font_synthesis },
18622 : { prototypes::id::CSS2Properties },
18623 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18624 : JSJitInfo::Getter,
18625 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18626 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
18627 : false, /* isInfallible. False in setters. */
18628 : false, /* isMovable. Not relevant for setters. */
18629 : false, /* isEliminatable. Not relevant for setters. */
18630 : false, /* isAlwaysInSlot. Only relevant for getters. */
18631 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18632 : false, /* isTypedMethod. Only relevant for methods. */
18633 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18634 : };
18635 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18636 : static_assert(0 < 1, "There is no slot for us");
18637 : static const JSJitInfo font_synthesis_setterinfo = {
18638 : { (JSJitGetterOp)set_font_synthesis },
18639 : { prototypes::id::CSS2Properties },
18640 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18641 : JSJitInfo::Setter,
18642 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18643 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
18644 : false, /* isInfallible. False in setters. */
18645 : false, /* isMovable. Not relevant for setters. */
18646 : false, /* isEliminatable. Not relevant for setters. */
18647 : false, /* isAlwaysInSlot. Only relevant for getters. */
18648 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18649 : false, /* isTypedMethod. Only relevant for methods. */
18650 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18651 : };
18652 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18653 : static_assert(0 < 1, "There is no slot for us");
18654 :
18655 : static bool
18656 0 : get_fontVariant(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
18657 : {
18658 0 : binding_detail::FastErrorResult rv;
18659 0 : DOMString result;
18660 0 : self->GetFontVariant(result, rv);
18661 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18662 0 : return false;
18663 : }
18664 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18665 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
18666 0 : return false;
18667 : }
18668 0 : return true;
18669 : }
18670 :
18671 : static bool
18672 0 : set_fontVariant(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
18673 : {
18674 0 : binding_detail::FakeString arg0;
18675 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
18676 0 : return false;
18677 : }
18678 0 : binding_detail::FastErrorResult rv;
18679 0 : self->SetFontVariant(NonNullHelper(Constify(arg0)), rv);
18680 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18681 0 : return false;
18682 : }
18683 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18684 :
18685 0 : return true;
18686 : }
18687 :
18688 : static const JSJitInfo fontVariant_getterinfo = {
18689 : { (JSJitGetterOp)get_fontVariant },
18690 : { prototypes::id::CSS2Properties },
18691 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18692 : JSJitInfo::Getter,
18693 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18694 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
18695 : false, /* isInfallible. False in setters. */
18696 : false, /* isMovable. Not relevant for setters. */
18697 : false, /* isEliminatable. Not relevant for setters. */
18698 : false, /* isAlwaysInSlot. Only relevant for getters. */
18699 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18700 : false, /* isTypedMethod. Only relevant for methods. */
18701 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18702 : };
18703 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18704 : static_assert(0 < 1, "There is no slot for us");
18705 : static const JSJitInfo fontVariant_setterinfo = {
18706 : { (JSJitGetterOp)set_fontVariant },
18707 : { prototypes::id::CSS2Properties },
18708 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18709 : JSJitInfo::Setter,
18710 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18711 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
18712 : false, /* isInfallible. False in setters. */
18713 : false, /* isMovable. Not relevant for setters. */
18714 : false, /* isEliminatable. Not relevant for setters. */
18715 : false, /* isAlwaysInSlot. Only relevant for getters. */
18716 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18717 : false, /* isTypedMethod. Only relevant for methods. */
18718 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18719 : };
18720 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18721 : static_assert(0 < 1, "There is no slot for us");
18722 :
18723 : static bool
18724 0 : get_font_variant(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
18725 : {
18726 0 : binding_detail::FastErrorResult rv;
18727 0 : DOMString result;
18728 0 : self->GetFontVariant(result, rv);
18729 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18730 0 : return false;
18731 : }
18732 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18733 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
18734 0 : return false;
18735 : }
18736 0 : return true;
18737 : }
18738 :
18739 : static bool
18740 0 : set_font_variant(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
18741 : {
18742 0 : binding_detail::FakeString arg0;
18743 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
18744 0 : return false;
18745 : }
18746 0 : binding_detail::FastErrorResult rv;
18747 0 : self->SetFontVariant(NonNullHelper(Constify(arg0)), rv);
18748 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18749 0 : return false;
18750 : }
18751 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18752 :
18753 0 : return true;
18754 : }
18755 :
18756 : static const JSJitInfo font_variant_getterinfo = {
18757 : { (JSJitGetterOp)get_font_variant },
18758 : { prototypes::id::CSS2Properties },
18759 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18760 : JSJitInfo::Getter,
18761 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18762 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
18763 : false, /* isInfallible. False in setters. */
18764 : false, /* isMovable. Not relevant for setters. */
18765 : false, /* isEliminatable. Not relevant for setters. */
18766 : false, /* isAlwaysInSlot. Only relevant for getters. */
18767 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18768 : false, /* isTypedMethod. Only relevant for methods. */
18769 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18770 : };
18771 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18772 : static_assert(0 < 1, "There is no slot for us");
18773 : static const JSJitInfo font_variant_setterinfo = {
18774 : { (JSJitGetterOp)set_font_variant },
18775 : { prototypes::id::CSS2Properties },
18776 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18777 : JSJitInfo::Setter,
18778 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18779 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
18780 : false, /* isInfallible. False in setters. */
18781 : false, /* isMovable. Not relevant for setters. */
18782 : false, /* isEliminatable. Not relevant for setters. */
18783 : false, /* isAlwaysInSlot. Only relevant for getters. */
18784 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18785 : false, /* isTypedMethod. Only relevant for methods. */
18786 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18787 : };
18788 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18789 : static_assert(0 < 1, "There is no slot for us");
18790 :
18791 : static bool
18792 0 : get_fontVariantAlternates(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
18793 : {
18794 0 : binding_detail::FastErrorResult rv;
18795 0 : DOMString result;
18796 0 : self->GetFontVariantAlternates(result, rv);
18797 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18798 0 : return false;
18799 : }
18800 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18801 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
18802 0 : return false;
18803 : }
18804 0 : return true;
18805 : }
18806 :
18807 : static bool
18808 0 : set_fontVariantAlternates(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
18809 : {
18810 0 : binding_detail::FakeString arg0;
18811 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
18812 0 : return false;
18813 : }
18814 0 : binding_detail::FastErrorResult rv;
18815 0 : self->SetFontVariantAlternates(NonNullHelper(Constify(arg0)), rv);
18816 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18817 0 : return false;
18818 : }
18819 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18820 :
18821 0 : return true;
18822 : }
18823 :
18824 : static const JSJitInfo fontVariantAlternates_getterinfo = {
18825 : { (JSJitGetterOp)get_fontVariantAlternates },
18826 : { prototypes::id::CSS2Properties },
18827 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18828 : JSJitInfo::Getter,
18829 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18830 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
18831 : false, /* isInfallible. False in setters. */
18832 : false, /* isMovable. Not relevant for setters. */
18833 : false, /* isEliminatable. Not relevant for setters. */
18834 : false, /* isAlwaysInSlot. Only relevant for getters. */
18835 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18836 : false, /* isTypedMethod. Only relevant for methods. */
18837 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18838 : };
18839 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18840 : static_assert(0 < 1, "There is no slot for us");
18841 : static const JSJitInfo fontVariantAlternates_setterinfo = {
18842 : { (JSJitGetterOp)set_fontVariantAlternates },
18843 : { prototypes::id::CSS2Properties },
18844 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18845 : JSJitInfo::Setter,
18846 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18847 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
18848 : false, /* isInfallible. False in setters. */
18849 : false, /* isMovable. Not relevant for setters. */
18850 : false, /* isEliminatable. Not relevant for setters. */
18851 : false, /* isAlwaysInSlot. Only relevant for getters. */
18852 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18853 : false, /* isTypedMethod. Only relevant for methods. */
18854 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18855 : };
18856 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18857 : static_assert(0 < 1, "There is no slot for us");
18858 :
18859 : static bool
18860 0 : get_font_variant_alternates(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
18861 : {
18862 0 : binding_detail::FastErrorResult rv;
18863 0 : DOMString result;
18864 0 : self->GetFontVariantAlternates(result, rv);
18865 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18866 0 : return false;
18867 : }
18868 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18869 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
18870 0 : return false;
18871 : }
18872 0 : return true;
18873 : }
18874 :
18875 : static bool
18876 0 : set_font_variant_alternates(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
18877 : {
18878 0 : binding_detail::FakeString arg0;
18879 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
18880 0 : return false;
18881 : }
18882 0 : binding_detail::FastErrorResult rv;
18883 0 : self->SetFontVariantAlternates(NonNullHelper(Constify(arg0)), rv);
18884 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18885 0 : return false;
18886 : }
18887 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18888 :
18889 0 : return true;
18890 : }
18891 :
18892 : static const JSJitInfo font_variant_alternates_getterinfo = {
18893 : { (JSJitGetterOp)get_font_variant_alternates },
18894 : { prototypes::id::CSS2Properties },
18895 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18896 : JSJitInfo::Getter,
18897 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18898 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
18899 : false, /* isInfallible. False in setters. */
18900 : false, /* isMovable. Not relevant for setters. */
18901 : false, /* isEliminatable. Not relevant for setters. */
18902 : false, /* isAlwaysInSlot. Only relevant for getters. */
18903 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18904 : false, /* isTypedMethod. Only relevant for methods. */
18905 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18906 : };
18907 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18908 : static_assert(0 < 1, "There is no slot for us");
18909 : static const JSJitInfo font_variant_alternates_setterinfo = {
18910 : { (JSJitGetterOp)set_font_variant_alternates },
18911 : { prototypes::id::CSS2Properties },
18912 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18913 : JSJitInfo::Setter,
18914 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18915 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
18916 : false, /* isInfallible. False in setters. */
18917 : false, /* isMovable. Not relevant for setters. */
18918 : false, /* isEliminatable. Not relevant for setters. */
18919 : false, /* isAlwaysInSlot. Only relevant for getters. */
18920 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18921 : false, /* isTypedMethod. Only relevant for methods. */
18922 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18923 : };
18924 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18925 : static_assert(0 < 1, "There is no slot for us");
18926 :
18927 : static bool
18928 0 : get_fontVariantCaps(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
18929 : {
18930 0 : binding_detail::FastErrorResult rv;
18931 0 : DOMString result;
18932 0 : self->GetFontVariantCaps(result, rv);
18933 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18934 0 : return false;
18935 : }
18936 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18937 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
18938 0 : return false;
18939 : }
18940 0 : return true;
18941 : }
18942 :
18943 : static bool
18944 0 : set_fontVariantCaps(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
18945 : {
18946 0 : binding_detail::FakeString arg0;
18947 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
18948 0 : return false;
18949 : }
18950 0 : binding_detail::FastErrorResult rv;
18951 0 : self->SetFontVariantCaps(NonNullHelper(Constify(arg0)), rv);
18952 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
18953 0 : return false;
18954 : }
18955 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
18956 :
18957 0 : return true;
18958 : }
18959 :
18960 : static const JSJitInfo fontVariantCaps_getterinfo = {
18961 : { (JSJitGetterOp)get_fontVariantCaps },
18962 : { prototypes::id::CSS2Properties },
18963 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18964 : JSJitInfo::Getter,
18965 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18966 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
18967 : false, /* isInfallible. False in setters. */
18968 : false, /* isMovable. Not relevant for setters. */
18969 : false, /* isEliminatable. Not relevant for setters. */
18970 : false, /* isAlwaysInSlot. Only relevant for getters. */
18971 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18972 : false, /* isTypedMethod. Only relevant for methods. */
18973 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18974 : };
18975 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18976 : static_assert(0 < 1, "There is no slot for us");
18977 : static const JSJitInfo fontVariantCaps_setterinfo = {
18978 : { (JSJitGetterOp)set_fontVariantCaps },
18979 : { prototypes::id::CSS2Properties },
18980 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
18981 : JSJitInfo::Setter,
18982 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
18983 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
18984 : false, /* isInfallible. False in setters. */
18985 : false, /* isMovable. Not relevant for setters. */
18986 : false, /* isEliminatable. Not relevant for setters. */
18987 : false, /* isAlwaysInSlot. Only relevant for getters. */
18988 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
18989 : false, /* isTypedMethod. Only relevant for methods. */
18990 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
18991 : };
18992 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
18993 : static_assert(0 < 1, "There is no slot for us");
18994 :
18995 : static bool
18996 0 : get_font_variant_caps(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
18997 : {
18998 0 : binding_detail::FastErrorResult rv;
18999 0 : DOMString result;
19000 0 : self->GetFontVariantCaps(result, rv);
19001 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19002 0 : return false;
19003 : }
19004 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19005 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
19006 0 : return false;
19007 : }
19008 0 : return true;
19009 : }
19010 :
19011 : static bool
19012 0 : set_font_variant_caps(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
19013 : {
19014 0 : binding_detail::FakeString arg0;
19015 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
19016 0 : return false;
19017 : }
19018 0 : binding_detail::FastErrorResult rv;
19019 0 : self->SetFontVariantCaps(NonNullHelper(Constify(arg0)), rv);
19020 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19021 0 : return false;
19022 : }
19023 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19024 :
19025 0 : return true;
19026 : }
19027 :
19028 : static const JSJitInfo font_variant_caps_getterinfo = {
19029 : { (JSJitGetterOp)get_font_variant_caps },
19030 : { prototypes::id::CSS2Properties },
19031 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19032 : JSJitInfo::Getter,
19033 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19034 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
19035 : false, /* isInfallible. False in setters. */
19036 : false, /* isMovable. Not relevant for setters. */
19037 : false, /* isEliminatable. Not relevant for setters. */
19038 : false, /* isAlwaysInSlot. Only relevant for getters. */
19039 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19040 : false, /* isTypedMethod. Only relevant for methods. */
19041 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19042 : };
19043 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19044 : static_assert(0 < 1, "There is no slot for us");
19045 : static const JSJitInfo font_variant_caps_setterinfo = {
19046 : { (JSJitGetterOp)set_font_variant_caps },
19047 : { prototypes::id::CSS2Properties },
19048 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19049 : JSJitInfo::Setter,
19050 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19051 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
19052 : false, /* isInfallible. False in setters. */
19053 : false, /* isMovable. Not relevant for setters. */
19054 : false, /* isEliminatable. Not relevant for setters. */
19055 : false, /* isAlwaysInSlot. Only relevant for getters. */
19056 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19057 : false, /* isTypedMethod. Only relevant for methods. */
19058 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19059 : };
19060 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19061 : static_assert(0 < 1, "There is no slot for us");
19062 :
19063 : static bool
19064 0 : get_fontVariantEastAsian(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
19065 : {
19066 0 : binding_detail::FastErrorResult rv;
19067 0 : DOMString result;
19068 0 : self->GetFontVariantEastAsian(result, rv);
19069 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19070 0 : return false;
19071 : }
19072 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19073 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
19074 0 : return false;
19075 : }
19076 0 : return true;
19077 : }
19078 :
19079 : static bool
19080 0 : set_fontVariantEastAsian(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
19081 : {
19082 0 : binding_detail::FakeString arg0;
19083 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
19084 0 : return false;
19085 : }
19086 0 : binding_detail::FastErrorResult rv;
19087 0 : self->SetFontVariantEastAsian(NonNullHelper(Constify(arg0)), rv);
19088 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19089 0 : return false;
19090 : }
19091 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19092 :
19093 0 : return true;
19094 : }
19095 :
19096 : static const JSJitInfo fontVariantEastAsian_getterinfo = {
19097 : { (JSJitGetterOp)get_fontVariantEastAsian },
19098 : { prototypes::id::CSS2Properties },
19099 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19100 : JSJitInfo::Getter,
19101 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19102 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
19103 : false, /* isInfallible. False in setters. */
19104 : false, /* isMovable. Not relevant for setters. */
19105 : false, /* isEliminatable. Not relevant for setters. */
19106 : false, /* isAlwaysInSlot. Only relevant for getters. */
19107 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19108 : false, /* isTypedMethod. Only relevant for methods. */
19109 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19110 : };
19111 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19112 : static_assert(0 < 1, "There is no slot for us");
19113 : static const JSJitInfo fontVariantEastAsian_setterinfo = {
19114 : { (JSJitGetterOp)set_fontVariantEastAsian },
19115 : { prototypes::id::CSS2Properties },
19116 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19117 : JSJitInfo::Setter,
19118 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19119 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
19120 : false, /* isInfallible. False in setters. */
19121 : false, /* isMovable. Not relevant for setters. */
19122 : false, /* isEliminatable. Not relevant for setters. */
19123 : false, /* isAlwaysInSlot. Only relevant for getters. */
19124 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19125 : false, /* isTypedMethod. Only relevant for methods. */
19126 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19127 : };
19128 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19129 : static_assert(0 < 1, "There is no slot for us");
19130 :
19131 : static bool
19132 0 : get_font_variant_east_asian(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
19133 : {
19134 0 : binding_detail::FastErrorResult rv;
19135 0 : DOMString result;
19136 0 : self->GetFontVariantEastAsian(result, rv);
19137 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19138 0 : return false;
19139 : }
19140 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19141 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
19142 0 : return false;
19143 : }
19144 0 : return true;
19145 : }
19146 :
19147 : static bool
19148 0 : set_font_variant_east_asian(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
19149 : {
19150 0 : binding_detail::FakeString arg0;
19151 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
19152 0 : return false;
19153 : }
19154 0 : binding_detail::FastErrorResult rv;
19155 0 : self->SetFontVariantEastAsian(NonNullHelper(Constify(arg0)), rv);
19156 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19157 0 : return false;
19158 : }
19159 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19160 :
19161 0 : return true;
19162 : }
19163 :
19164 : static const JSJitInfo font_variant_east_asian_getterinfo = {
19165 : { (JSJitGetterOp)get_font_variant_east_asian },
19166 : { prototypes::id::CSS2Properties },
19167 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19168 : JSJitInfo::Getter,
19169 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19170 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
19171 : false, /* isInfallible. False in setters. */
19172 : false, /* isMovable. Not relevant for setters. */
19173 : false, /* isEliminatable. Not relevant for setters. */
19174 : false, /* isAlwaysInSlot. Only relevant for getters. */
19175 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19176 : false, /* isTypedMethod. Only relevant for methods. */
19177 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19178 : };
19179 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19180 : static_assert(0 < 1, "There is no slot for us");
19181 : static const JSJitInfo font_variant_east_asian_setterinfo = {
19182 : { (JSJitGetterOp)set_font_variant_east_asian },
19183 : { prototypes::id::CSS2Properties },
19184 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19185 : JSJitInfo::Setter,
19186 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19187 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
19188 : false, /* isInfallible. False in setters. */
19189 : false, /* isMovable. Not relevant for setters. */
19190 : false, /* isEliminatable. Not relevant for setters. */
19191 : false, /* isAlwaysInSlot. Only relevant for getters. */
19192 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19193 : false, /* isTypedMethod. Only relevant for methods. */
19194 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19195 : };
19196 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19197 : static_assert(0 < 1, "There is no slot for us");
19198 :
19199 : static bool
19200 0 : get_fontVariantLigatures(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
19201 : {
19202 0 : binding_detail::FastErrorResult rv;
19203 0 : DOMString result;
19204 0 : self->GetFontVariantLigatures(result, rv);
19205 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19206 0 : return false;
19207 : }
19208 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19209 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
19210 0 : return false;
19211 : }
19212 0 : return true;
19213 : }
19214 :
19215 : static bool
19216 0 : set_fontVariantLigatures(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
19217 : {
19218 0 : binding_detail::FakeString arg0;
19219 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
19220 0 : return false;
19221 : }
19222 0 : binding_detail::FastErrorResult rv;
19223 0 : self->SetFontVariantLigatures(NonNullHelper(Constify(arg0)), rv);
19224 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19225 0 : return false;
19226 : }
19227 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19228 :
19229 0 : return true;
19230 : }
19231 :
19232 : static const JSJitInfo fontVariantLigatures_getterinfo = {
19233 : { (JSJitGetterOp)get_fontVariantLigatures },
19234 : { prototypes::id::CSS2Properties },
19235 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19236 : JSJitInfo::Getter,
19237 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19238 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
19239 : false, /* isInfallible. False in setters. */
19240 : false, /* isMovable. Not relevant for setters. */
19241 : false, /* isEliminatable. Not relevant for setters. */
19242 : false, /* isAlwaysInSlot. Only relevant for getters. */
19243 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19244 : false, /* isTypedMethod. Only relevant for methods. */
19245 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19246 : };
19247 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19248 : static_assert(0 < 1, "There is no slot for us");
19249 : static const JSJitInfo fontVariantLigatures_setterinfo = {
19250 : { (JSJitGetterOp)set_fontVariantLigatures },
19251 : { prototypes::id::CSS2Properties },
19252 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19253 : JSJitInfo::Setter,
19254 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19255 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
19256 : false, /* isInfallible. False in setters. */
19257 : false, /* isMovable. Not relevant for setters. */
19258 : false, /* isEliminatable. Not relevant for setters. */
19259 : false, /* isAlwaysInSlot. Only relevant for getters. */
19260 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19261 : false, /* isTypedMethod. Only relevant for methods. */
19262 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19263 : };
19264 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19265 : static_assert(0 < 1, "There is no slot for us");
19266 :
19267 : static bool
19268 0 : get_font_variant_ligatures(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
19269 : {
19270 0 : binding_detail::FastErrorResult rv;
19271 0 : DOMString result;
19272 0 : self->GetFontVariantLigatures(result, rv);
19273 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19274 0 : return false;
19275 : }
19276 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19277 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
19278 0 : return false;
19279 : }
19280 0 : return true;
19281 : }
19282 :
19283 : static bool
19284 0 : set_font_variant_ligatures(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
19285 : {
19286 0 : binding_detail::FakeString arg0;
19287 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
19288 0 : return false;
19289 : }
19290 0 : binding_detail::FastErrorResult rv;
19291 0 : self->SetFontVariantLigatures(NonNullHelper(Constify(arg0)), rv);
19292 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19293 0 : return false;
19294 : }
19295 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19296 :
19297 0 : return true;
19298 : }
19299 :
19300 : static const JSJitInfo font_variant_ligatures_getterinfo = {
19301 : { (JSJitGetterOp)get_font_variant_ligatures },
19302 : { prototypes::id::CSS2Properties },
19303 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19304 : JSJitInfo::Getter,
19305 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19306 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
19307 : false, /* isInfallible. False in setters. */
19308 : false, /* isMovable. Not relevant for setters. */
19309 : false, /* isEliminatable. Not relevant for setters. */
19310 : false, /* isAlwaysInSlot. Only relevant for getters. */
19311 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19312 : false, /* isTypedMethod. Only relevant for methods. */
19313 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19314 : };
19315 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19316 : static_assert(0 < 1, "There is no slot for us");
19317 : static const JSJitInfo font_variant_ligatures_setterinfo = {
19318 : { (JSJitGetterOp)set_font_variant_ligatures },
19319 : { prototypes::id::CSS2Properties },
19320 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19321 : JSJitInfo::Setter,
19322 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19323 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
19324 : false, /* isInfallible. False in setters. */
19325 : false, /* isMovable. Not relevant for setters. */
19326 : false, /* isEliminatable. Not relevant for setters. */
19327 : false, /* isAlwaysInSlot. Only relevant for getters. */
19328 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19329 : false, /* isTypedMethod. Only relevant for methods. */
19330 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19331 : };
19332 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19333 : static_assert(0 < 1, "There is no slot for us");
19334 :
19335 : static bool
19336 0 : get_fontVariantNumeric(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
19337 : {
19338 0 : binding_detail::FastErrorResult rv;
19339 0 : DOMString result;
19340 0 : self->GetFontVariantNumeric(result, rv);
19341 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19342 0 : return false;
19343 : }
19344 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19345 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
19346 0 : return false;
19347 : }
19348 0 : return true;
19349 : }
19350 :
19351 : static bool
19352 0 : set_fontVariantNumeric(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
19353 : {
19354 0 : binding_detail::FakeString arg0;
19355 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
19356 0 : return false;
19357 : }
19358 0 : binding_detail::FastErrorResult rv;
19359 0 : self->SetFontVariantNumeric(NonNullHelper(Constify(arg0)), rv);
19360 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19361 0 : return false;
19362 : }
19363 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19364 :
19365 0 : return true;
19366 : }
19367 :
19368 : static const JSJitInfo fontVariantNumeric_getterinfo = {
19369 : { (JSJitGetterOp)get_fontVariantNumeric },
19370 : { prototypes::id::CSS2Properties },
19371 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19372 : JSJitInfo::Getter,
19373 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19374 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
19375 : false, /* isInfallible. False in setters. */
19376 : false, /* isMovable. Not relevant for setters. */
19377 : false, /* isEliminatable. Not relevant for setters. */
19378 : false, /* isAlwaysInSlot. Only relevant for getters. */
19379 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19380 : false, /* isTypedMethod. Only relevant for methods. */
19381 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19382 : };
19383 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19384 : static_assert(0 < 1, "There is no slot for us");
19385 : static const JSJitInfo fontVariantNumeric_setterinfo = {
19386 : { (JSJitGetterOp)set_fontVariantNumeric },
19387 : { prototypes::id::CSS2Properties },
19388 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19389 : JSJitInfo::Setter,
19390 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19391 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
19392 : false, /* isInfallible. False in setters. */
19393 : false, /* isMovable. Not relevant for setters. */
19394 : false, /* isEliminatable. Not relevant for setters. */
19395 : false, /* isAlwaysInSlot. Only relevant for getters. */
19396 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19397 : false, /* isTypedMethod. Only relevant for methods. */
19398 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19399 : };
19400 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19401 : static_assert(0 < 1, "There is no slot for us");
19402 :
19403 : static bool
19404 0 : get_font_variant_numeric(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
19405 : {
19406 0 : binding_detail::FastErrorResult rv;
19407 0 : DOMString result;
19408 0 : self->GetFontVariantNumeric(result, rv);
19409 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19410 0 : return false;
19411 : }
19412 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19413 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
19414 0 : return false;
19415 : }
19416 0 : return true;
19417 : }
19418 :
19419 : static bool
19420 0 : set_font_variant_numeric(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
19421 : {
19422 0 : binding_detail::FakeString arg0;
19423 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
19424 0 : return false;
19425 : }
19426 0 : binding_detail::FastErrorResult rv;
19427 0 : self->SetFontVariantNumeric(NonNullHelper(Constify(arg0)), rv);
19428 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19429 0 : return false;
19430 : }
19431 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19432 :
19433 0 : return true;
19434 : }
19435 :
19436 : static const JSJitInfo font_variant_numeric_getterinfo = {
19437 : { (JSJitGetterOp)get_font_variant_numeric },
19438 : { prototypes::id::CSS2Properties },
19439 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19440 : JSJitInfo::Getter,
19441 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19442 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
19443 : false, /* isInfallible. False in setters. */
19444 : false, /* isMovable. Not relevant for setters. */
19445 : false, /* isEliminatable. Not relevant for setters. */
19446 : false, /* isAlwaysInSlot. Only relevant for getters. */
19447 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19448 : false, /* isTypedMethod. Only relevant for methods. */
19449 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19450 : };
19451 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19452 : static_assert(0 < 1, "There is no slot for us");
19453 : static const JSJitInfo font_variant_numeric_setterinfo = {
19454 : { (JSJitGetterOp)set_font_variant_numeric },
19455 : { prototypes::id::CSS2Properties },
19456 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19457 : JSJitInfo::Setter,
19458 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19459 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
19460 : false, /* isInfallible. False in setters. */
19461 : false, /* isMovable. Not relevant for setters. */
19462 : false, /* isEliminatable. Not relevant for setters. */
19463 : false, /* isAlwaysInSlot. Only relevant for getters. */
19464 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19465 : false, /* isTypedMethod. Only relevant for methods. */
19466 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19467 : };
19468 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19469 : static_assert(0 < 1, "There is no slot for us");
19470 :
19471 : static bool
19472 0 : get_fontVariantPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
19473 : {
19474 0 : binding_detail::FastErrorResult rv;
19475 0 : DOMString result;
19476 0 : self->GetFontVariantPosition(result, rv);
19477 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19478 0 : return false;
19479 : }
19480 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19481 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
19482 0 : return false;
19483 : }
19484 0 : return true;
19485 : }
19486 :
19487 : static bool
19488 0 : set_fontVariantPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
19489 : {
19490 0 : binding_detail::FakeString arg0;
19491 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
19492 0 : return false;
19493 : }
19494 0 : binding_detail::FastErrorResult rv;
19495 0 : self->SetFontVariantPosition(NonNullHelper(Constify(arg0)), rv);
19496 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19497 0 : return false;
19498 : }
19499 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19500 :
19501 0 : return true;
19502 : }
19503 :
19504 : static const JSJitInfo fontVariantPosition_getterinfo = {
19505 : { (JSJitGetterOp)get_fontVariantPosition },
19506 : { prototypes::id::CSS2Properties },
19507 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19508 : JSJitInfo::Getter,
19509 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19510 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
19511 : false, /* isInfallible. False in setters. */
19512 : false, /* isMovable. Not relevant for setters. */
19513 : false, /* isEliminatable. Not relevant for setters. */
19514 : false, /* isAlwaysInSlot. Only relevant for getters. */
19515 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19516 : false, /* isTypedMethod. Only relevant for methods. */
19517 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19518 : };
19519 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19520 : static_assert(0 < 1, "There is no slot for us");
19521 : static const JSJitInfo fontVariantPosition_setterinfo = {
19522 : { (JSJitGetterOp)set_fontVariantPosition },
19523 : { prototypes::id::CSS2Properties },
19524 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19525 : JSJitInfo::Setter,
19526 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19527 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
19528 : false, /* isInfallible. False in setters. */
19529 : false, /* isMovable. Not relevant for setters. */
19530 : false, /* isEliminatable. Not relevant for setters. */
19531 : false, /* isAlwaysInSlot. Only relevant for getters. */
19532 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19533 : false, /* isTypedMethod. Only relevant for methods. */
19534 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19535 : };
19536 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19537 : static_assert(0 < 1, "There is no slot for us");
19538 :
19539 : static bool
19540 0 : get_font_variant_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
19541 : {
19542 0 : binding_detail::FastErrorResult rv;
19543 0 : DOMString result;
19544 0 : self->GetFontVariantPosition(result, rv);
19545 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19546 0 : return false;
19547 : }
19548 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19549 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
19550 0 : return false;
19551 : }
19552 0 : return true;
19553 : }
19554 :
19555 : static bool
19556 0 : set_font_variant_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
19557 : {
19558 0 : binding_detail::FakeString arg0;
19559 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
19560 0 : return false;
19561 : }
19562 0 : binding_detail::FastErrorResult rv;
19563 0 : self->SetFontVariantPosition(NonNullHelper(Constify(arg0)), rv);
19564 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19565 0 : return false;
19566 : }
19567 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19568 :
19569 0 : return true;
19570 : }
19571 :
19572 : static const JSJitInfo font_variant_position_getterinfo = {
19573 : { (JSJitGetterOp)get_font_variant_position },
19574 : { prototypes::id::CSS2Properties },
19575 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19576 : JSJitInfo::Getter,
19577 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19578 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
19579 : false, /* isInfallible. False in setters. */
19580 : false, /* isMovable. Not relevant for setters. */
19581 : false, /* isEliminatable. Not relevant for setters. */
19582 : false, /* isAlwaysInSlot. Only relevant for getters. */
19583 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19584 : false, /* isTypedMethod. Only relevant for methods. */
19585 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19586 : };
19587 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19588 : static_assert(0 < 1, "There is no slot for us");
19589 : static const JSJitInfo font_variant_position_setterinfo = {
19590 : { (JSJitGetterOp)set_font_variant_position },
19591 : { prototypes::id::CSS2Properties },
19592 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19593 : JSJitInfo::Setter,
19594 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19595 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
19596 : false, /* isInfallible. False in setters. */
19597 : false, /* isMovable. Not relevant for setters. */
19598 : false, /* isEliminatable. Not relevant for setters. */
19599 : false, /* isAlwaysInSlot. Only relevant for getters. */
19600 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19601 : false, /* isTypedMethod. Only relevant for methods. */
19602 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19603 : };
19604 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19605 : static_assert(0 < 1, "There is no slot for us");
19606 :
19607 : static bool
19608 0 : get_fontVariationSettings(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
19609 : {
19610 0 : binding_detail::FastErrorResult rv;
19611 0 : DOMString result;
19612 0 : self->GetFontVariationSettings(result, rv);
19613 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19614 0 : return false;
19615 : }
19616 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19617 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
19618 0 : return false;
19619 : }
19620 0 : return true;
19621 : }
19622 :
19623 : static bool
19624 0 : set_fontVariationSettings(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
19625 : {
19626 0 : binding_detail::FakeString arg0;
19627 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
19628 0 : return false;
19629 : }
19630 0 : binding_detail::FastErrorResult rv;
19631 0 : self->SetFontVariationSettings(NonNullHelper(Constify(arg0)), rv);
19632 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19633 0 : return false;
19634 : }
19635 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19636 :
19637 0 : return true;
19638 : }
19639 :
19640 : static const JSJitInfo fontVariationSettings_getterinfo = {
19641 : { (JSJitGetterOp)get_fontVariationSettings },
19642 : { prototypes::id::CSS2Properties },
19643 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19644 : JSJitInfo::Getter,
19645 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19646 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
19647 : false, /* isInfallible. False in setters. */
19648 : false, /* isMovable. Not relevant for setters. */
19649 : false, /* isEliminatable. Not relevant for setters. */
19650 : false, /* isAlwaysInSlot. Only relevant for getters. */
19651 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19652 : false, /* isTypedMethod. Only relevant for methods. */
19653 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19654 : };
19655 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19656 : static_assert(0 < 1, "There is no slot for us");
19657 : static const JSJitInfo fontVariationSettings_setterinfo = {
19658 : { (JSJitGetterOp)set_fontVariationSettings },
19659 : { prototypes::id::CSS2Properties },
19660 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19661 : JSJitInfo::Setter,
19662 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19663 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
19664 : false, /* isInfallible. False in setters. */
19665 : false, /* isMovable. Not relevant for setters. */
19666 : false, /* isEliminatable. Not relevant for setters. */
19667 : false, /* isAlwaysInSlot. Only relevant for getters. */
19668 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19669 : false, /* isTypedMethod. Only relevant for methods. */
19670 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19671 : };
19672 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19673 : static_assert(0 < 1, "There is no slot for us");
19674 :
19675 : static bool
19676 0 : get_font_variation_settings(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
19677 : {
19678 0 : binding_detail::FastErrorResult rv;
19679 0 : DOMString result;
19680 0 : self->GetFontVariationSettings(result, rv);
19681 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19682 0 : return false;
19683 : }
19684 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19685 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
19686 0 : return false;
19687 : }
19688 0 : return true;
19689 : }
19690 :
19691 : static bool
19692 0 : set_font_variation_settings(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
19693 : {
19694 0 : binding_detail::FakeString arg0;
19695 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
19696 0 : return false;
19697 : }
19698 0 : binding_detail::FastErrorResult rv;
19699 0 : self->SetFontVariationSettings(NonNullHelper(Constify(arg0)), rv);
19700 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19701 0 : return false;
19702 : }
19703 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19704 :
19705 0 : return true;
19706 : }
19707 :
19708 : static const JSJitInfo font_variation_settings_getterinfo = {
19709 : { (JSJitGetterOp)get_font_variation_settings },
19710 : { prototypes::id::CSS2Properties },
19711 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19712 : JSJitInfo::Getter,
19713 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19714 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
19715 : false, /* isInfallible. False in setters. */
19716 : false, /* isMovable. Not relevant for setters. */
19717 : false, /* isEliminatable. Not relevant for setters. */
19718 : false, /* isAlwaysInSlot. Only relevant for getters. */
19719 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19720 : false, /* isTypedMethod. Only relevant for methods. */
19721 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19722 : };
19723 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19724 : static_assert(0 < 1, "There is no slot for us");
19725 : static const JSJitInfo font_variation_settings_setterinfo = {
19726 : { (JSJitGetterOp)set_font_variation_settings },
19727 : { prototypes::id::CSS2Properties },
19728 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19729 : JSJitInfo::Setter,
19730 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19731 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
19732 : false, /* isInfallible. False in setters. */
19733 : false, /* isMovable. Not relevant for setters. */
19734 : false, /* isEliminatable. Not relevant for setters. */
19735 : false, /* isAlwaysInSlot. Only relevant for getters. */
19736 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19737 : false, /* isTypedMethod. Only relevant for methods. */
19738 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19739 : };
19740 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19741 : static_assert(0 < 1, "There is no slot for us");
19742 :
19743 : static bool
19744 0 : get_fontWeight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
19745 : {
19746 0 : binding_detail::FastErrorResult rv;
19747 0 : DOMString result;
19748 0 : self->GetFontWeight(result, rv);
19749 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19750 0 : return false;
19751 : }
19752 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19753 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
19754 0 : return false;
19755 : }
19756 0 : return true;
19757 : }
19758 :
19759 : static bool
19760 0 : set_fontWeight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
19761 : {
19762 0 : binding_detail::FakeString arg0;
19763 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
19764 0 : return false;
19765 : }
19766 0 : binding_detail::FastErrorResult rv;
19767 0 : self->SetFontWeight(NonNullHelper(Constify(arg0)), rv);
19768 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19769 0 : return false;
19770 : }
19771 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19772 :
19773 0 : return true;
19774 : }
19775 :
19776 : static const JSJitInfo fontWeight_getterinfo = {
19777 : { (JSJitGetterOp)get_fontWeight },
19778 : { prototypes::id::CSS2Properties },
19779 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19780 : JSJitInfo::Getter,
19781 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19782 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
19783 : false, /* isInfallible. False in setters. */
19784 : false, /* isMovable. Not relevant for setters. */
19785 : false, /* isEliminatable. Not relevant for setters. */
19786 : false, /* isAlwaysInSlot. Only relevant for getters. */
19787 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19788 : false, /* isTypedMethod. Only relevant for methods. */
19789 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19790 : };
19791 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19792 : static_assert(0 < 1, "There is no slot for us");
19793 : static const JSJitInfo fontWeight_setterinfo = {
19794 : { (JSJitGetterOp)set_fontWeight },
19795 : { prototypes::id::CSS2Properties },
19796 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19797 : JSJitInfo::Setter,
19798 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19799 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
19800 : false, /* isInfallible. False in setters. */
19801 : false, /* isMovable. Not relevant for setters. */
19802 : false, /* isEliminatable. Not relevant for setters. */
19803 : false, /* isAlwaysInSlot. Only relevant for getters. */
19804 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19805 : false, /* isTypedMethod. Only relevant for methods. */
19806 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19807 : };
19808 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19809 : static_assert(0 < 1, "There is no slot for us");
19810 :
19811 : static bool
19812 0 : get_font_weight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
19813 : {
19814 0 : binding_detail::FastErrorResult rv;
19815 0 : DOMString result;
19816 0 : self->GetFontWeight(result, rv);
19817 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19818 0 : return false;
19819 : }
19820 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19821 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
19822 0 : return false;
19823 : }
19824 0 : return true;
19825 : }
19826 :
19827 : static bool
19828 0 : set_font_weight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
19829 : {
19830 0 : binding_detail::FakeString arg0;
19831 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
19832 0 : return false;
19833 : }
19834 0 : binding_detail::FastErrorResult rv;
19835 0 : self->SetFontWeight(NonNullHelper(Constify(arg0)), rv);
19836 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19837 0 : return false;
19838 : }
19839 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19840 :
19841 0 : return true;
19842 : }
19843 :
19844 : static const JSJitInfo font_weight_getterinfo = {
19845 : { (JSJitGetterOp)get_font_weight },
19846 : { prototypes::id::CSS2Properties },
19847 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19848 : JSJitInfo::Getter,
19849 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19850 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
19851 : false, /* isInfallible. False in setters. */
19852 : false, /* isMovable. Not relevant for setters. */
19853 : false, /* isEliminatable. Not relevant for setters. */
19854 : false, /* isAlwaysInSlot. Only relevant for getters. */
19855 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19856 : false, /* isTypedMethod. Only relevant for methods. */
19857 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19858 : };
19859 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19860 : static_assert(0 < 1, "There is no slot for us");
19861 : static const JSJitInfo font_weight_setterinfo = {
19862 : { (JSJitGetterOp)set_font_weight },
19863 : { prototypes::id::CSS2Properties },
19864 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19865 : JSJitInfo::Setter,
19866 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19867 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
19868 : false, /* isInfallible. False in setters. */
19869 : false, /* isMovable. Not relevant for setters. */
19870 : false, /* isEliminatable. Not relevant for setters. */
19871 : false, /* isAlwaysInSlot. Only relevant for getters. */
19872 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19873 : false, /* isTypedMethod. Only relevant for methods. */
19874 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19875 : };
19876 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19877 : static_assert(0 < 1, "There is no slot for us");
19878 :
19879 : static bool
19880 0 : get_MozForceBrokenImageIcon(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
19881 : {
19882 0 : binding_detail::FastErrorResult rv;
19883 0 : DOMString result;
19884 0 : self->GetMozForceBrokenImageIcon(result, rv);
19885 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19886 0 : return false;
19887 : }
19888 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19889 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
19890 0 : return false;
19891 : }
19892 0 : return true;
19893 : }
19894 :
19895 : static bool
19896 0 : set_MozForceBrokenImageIcon(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
19897 : {
19898 0 : binding_detail::FakeString arg0;
19899 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
19900 0 : return false;
19901 : }
19902 0 : binding_detail::FastErrorResult rv;
19903 0 : self->SetMozForceBrokenImageIcon(NonNullHelper(Constify(arg0)), rv);
19904 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19905 0 : return false;
19906 : }
19907 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19908 :
19909 0 : return true;
19910 : }
19911 :
19912 : static const JSJitInfo MozForceBrokenImageIcon_getterinfo = {
19913 : { (JSJitGetterOp)get_MozForceBrokenImageIcon },
19914 : { prototypes::id::CSS2Properties },
19915 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19916 : JSJitInfo::Getter,
19917 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19918 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
19919 : false, /* isInfallible. False in setters. */
19920 : false, /* isMovable. Not relevant for setters. */
19921 : false, /* isEliminatable. Not relevant for setters. */
19922 : false, /* isAlwaysInSlot. Only relevant for getters. */
19923 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19924 : false, /* isTypedMethod. Only relevant for methods. */
19925 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19926 : };
19927 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19928 : static_assert(0 < 1, "There is no slot for us");
19929 : static const JSJitInfo MozForceBrokenImageIcon_setterinfo = {
19930 : { (JSJitGetterOp)set_MozForceBrokenImageIcon },
19931 : { prototypes::id::CSS2Properties },
19932 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19933 : JSJitInfo::Setter,
19934 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19935 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
19936 : false, /* isInfallible. False in setters. */
19937 : false, /* isMovable. Not relevant for setters. */
19938 : false, /* isEliminatable. Not relevant for setters. */
19939 : false, /* isAlwaysInSlot. Only relevant for getters. */
19940 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19941 : false, /* isTypedMethod. Only relevant for methods. */
19942 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19943 : };
19944 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19945 : static_assert(0 < 1, "There is no slot for us");
19946 :
19947 : static bool
19948 0 : get__moz_force_broken_image_icon(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
19949 : {
19950 0 : binding_detail::FastErrorResult rv;
19951 0 : DOMString result;
19952 0 : self->GetMozForceBrokenImageIcon(result, rv);
19953 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19954 0 : return false;
19955 : }
19956 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19957 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
19958 0 : return false;
19959 : }
19960 0 : return true;
19961 : }
19962 :
19963 : static bool
19964 0 : set__moz_force_broken_image_icon(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
19965 : {
19966 0 : binding_detail::FakeString arg0;
19967 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
19968 0 : return false;
19969 : }
19970 0 : binding_detail::FastErrorResult rv;
19971 0 : self->SetMozForceBrokenImageIcon(NonNullHelper(Constify(arg0)), rv);
19972 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
19973 0 : return false;
19974 : }
19975 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
19976 :
19977 0 : return true;
19978 : }
19979 :
19980 : static const JSJitInfo _moz_force_broken_image_icon_getterinfo = {
19981 : { (JSJitGetterOp)get__moz_force_broken_image_icon },
19982 : { prototypes::id::CSS2Properties },
19983 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
19984 : JSJitInfo::Getter,
19985 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
19986 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
19987 : false, /* isInfallible. False in setters. */
19988 : false, /* isMovable. Not relevant for setters. */
19989 : false, /* isEliminatable. Not relevant for setters. */
19990 : false, /* isAlwaysInSlot. Only relevant for getters. */
19991 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
19992 : false, /* isTypedMethod. Only relevant for methods. */
19993 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
19994 : };
19995 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
19996 : static_assert(0 < 1, "There is no slot for us");
19997 : static const JSJitInfo _moz_force_broken_image_icon_setterinfo = {
19998 : { (JSJitGetterOp)set__moz_force_broken_image_icon },
19999 : { prototypes::id::CSS2Properties },
20000 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20001 : JSJitInfo::Setter,
20002 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20003 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
20004 : false, /* isInfallible. False in setters. */
20005 : false, /* isMovable. Not relevant for setters. */
20006 : false, /* isEliminatable. Not relevant for setters. */
20007 : false, /* isAlwaysInSlot. Only relevant for getters. */
20008 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20009 : false, /* isTypedMethod. Only relevant for methods. */
20010 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20011 : };
20012 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20013 : static_assert(0 < 1, "There is no slot for us");
20014 :
20015 : static bool
20016 0 : get_grid(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
20017 : {
20018 0 : binding_detail::FastErrorResult rv;
20019 0 : DOMString result;
20020 0 : self->GetGrid(result, rv);
20021 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20022 0 : return false;
20023 : }
20024 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20025 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
20026 0 : return false;
20027 : }
20028 0 : return true;
20029 : }
20030 :
20031 : static bool
20032 0 : set_grid(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
20033 : {
20034 0 : binding_detail::FakeString arg0;
20035 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
20036 0 : return false;
20037 : }
20038 0 : binding_detail::FastErrorResult rv;
20039 0 : self->SetGrid(NonNullHelper(Constify(arg0)), rv);
20040 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20041 0 : return false;
20042 : }
20043 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20044 :
20045 0 : return true;
20046 : }
20047 :
20048 : static const JSJitInfo grid_getterinfo = {
20049 : { (JSJitGetterOp)get_grid },
20050 : { prototypes::id::CSS2Properties },
20051 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20052 : JSJitInfo::Getter,
20053 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20054 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
20055 : false, /* isInfallible. False in setters. */
20056 : false, /* isMovable. Not relevant for setters. */
20057 : false, /* isEliminatable. Not relevant for setters. */
20058 : false, /* isAlwaysInSlot. Only relevant for getters. */
20059 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20060 : false, /* isTypedMethod. Only relevant for methods. */
20061 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20062 : };
20063 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20064 : static_assert(0 < 1, "There is no slot for us");
20065 : static const JSJitInfo grid_setterinfo = {
20066 : { (JSJitGetterOp)set_grid },
20067 : { prototypes::id::CSS2Properties },
20068 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20069 : JSJitInfo::Setter,
20070 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20071 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
20072 : false, /* isInfallible. False in setters. */
20073 : false, /* isMovable. Not relevant for setters. */
20074 : false, /* isEliminatable. Not relevant for setters. */
20075 : false, /* isAlwaysInSlot. Only relevant for getters. */
20076 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20077 : false, /* isTypedMethod. Only relevant for methods. */
20078 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20079 : };
20080 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20081 : static_assert(0 < 1, "There is no slot for us");
20082 :
20083 : static bool
20084 0 : get_gridArea(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
20085 : {
20086 0 : binding_detail::FastErrorResult rv;
20087 0 : DOMString result;
20088 0 : self->GetGridArea(result, rv);
20089 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20090 0 : return false;
20091 : }
20092 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20093 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
20094 0 : return false;
20095 : }
20096 0 : return true;
20097 : }
20098 :
20099 : static bool
20100 0 : set_gridArea(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
20101 : {
20102 0 : binding_detail::FakeString arg0;
20103 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
20104 0 : return false;
20105 : }
20106 0 : binding_detail::FastErrorResult rv;
20107 0 : self->SetGridArea(NonNullHelper(Constify(arg0)), rv);
20108 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20109 0 : return false;
20110 : }
20111 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20112 :
20113 0 : return true;
20114 : }
20115 :
20116 : static const JSJitInfo gridArea_getterinfo = {
20117 : { (JSJitGetterOp)get_gridArea },
20118 : { prototypes::id::CSS2Properties },
20119 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20120 : JSJitInfo::Getter,
20121 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20122 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
20123 : false, /* isInfallible. False in setters. */
20124 : false, /* isMovable. Not relevant for setters. */
20125 : false, /* isEliminatable. Not relevant for setters. */
20126 : false, /* isAlwaysInSlot. Only relevant for getters. */
20127 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20128 : false, /* isTypedMethod. Only relevant for methods. */
20129 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20130 : };
20131 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20132 : static_assert(0 < 1, "There is no slot for us");
20133 : static const JSJitInfo gridArea_setterinfo = {
20134 : { (JSJitGetterOp)set_gridArea },
20135 : { prototypes::id::CSS2Properties },
20136 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20137 : JSJitInfo::Setter,
20138 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20139 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
20140 : false, /* isInfallible. False in setters. */
20141 : false, /* isMovable. Not relevant for setters. */
20142 : false, /* isEliminatable. Not relevant for setters. */
20143 : false, /* isAlwaysInSlot. Only relevant for getters. */
20144 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20145 : false, /* isTypedMethod. Only relevant for methods. */
20146 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20147 : };
20148 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20149 : static_assert(0 < 1, "There is no slot for us");
20150 :
20151 : static bool
20152 0 : get_grid_area(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
20153 : {
20154 0 : binding_detail::FastErrorResult rv;
20155 0 : DOMString result;
20156 0 : self->GetGridArea(result, rv);
20157 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20158 0 : return false;
20159 : }
20160 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20161 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
20162 0 : return false;
20163 : }
20164 0 : return true;
20165 : }
20166 :
20167 : static bool
20168 0 : set_grid_area(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
20169 : {
20170 0 : binding_detail::FakeString arg0;
20171 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
20172 0 : return false;
20173 : }
20174 0 : binding_detail::FastErrorResult rv;
20175 0 : self->SetGridArea(NonNullHelper(Constify(arg0)), rv);
20176 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20177 0 : return false;
20178 : }
20179 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20180 :
20181 0 : return true;
20182 : }
20183 :
20184 : static const JSJitInfo grid_area_getterinfo = {
20185 : { (JSJitGetterOp)get_grid_area },
20186 : { prototypes::id::CSS2Properties },
20187 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20188 : JSJitInfo::Getter,
20189 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20190 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
20191 : false, /* isInfallible. False in setters. */
20192 : false, /* isMovable. Not relevant for setters. */
20193 : false, /* isEliminatable. Not relevant for setters. */
20194 : false, /* isAlwaysInSlot. Only relevant for getters. */
20195 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20196 : false, /* isTypedMethod. Only relevant for methods. */
20197 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20198 : };
20199 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20200 : static_assert(0 < 1, "There is no slot for us");
20201 : static const JSJitInfo grid_area_setterinfo = {
20202 : { (JSJitGetterOp)set_grid_area },
20203 : { prototypes::id::CSS2Properties },
20204 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20205 : JSJitInfo::Setter,
20206 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20207 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
20208 : false, /* isInfallible. False in setters. */
20209 : false, /* isMovable. Not relevant for setters. */
20210 : false, /* isEliminatable. Not relevant for setters. */
20211 : false, /* isAlwaysInSlot. Only relevant for getters. */
20212 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20213 : false, /* isTypedMethod. Only relevant for methods. */
20214 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20215 : };
20216 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20217 : static_assert(0 < 1, "There is no slot for us");
20218 :
20219 : static bool
20220 0 : get_gridAutoColumns(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
20221 : {
20222 0 : binding_detail::FastErrorResult rv;
20223 0 : DOMString result;
20224 0 : self->GetGridAutoColumns(result, rv);
20225 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20226 0 : return false;
20227 : }
20228 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20229 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
20230 0 : return false;
20231 : }
20232 0 : return true;
20233 : }
20234 :
20235 : static bool
20236 0 : set_gridAutoColumns(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
20237 : {
20238 0 : binding_detail::FakeString arg0;
20239 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
20240 0 : return false;
20241 : }
20242 0 : binding_detail::FastErrorResult rv;
20243 0 : self->SetGridAutoColumns(NonNullHelper(Constify(arg0)), rv);
20244 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20245 0 : return false;
20246 : }
20247 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20248 :
20249 0 : return true;
20250 : }
20251 :
20252 : static const JSJitInfo gridAutoColumns_getterinfo = {
20253 : { (JSJitGetterOp)get_gridAutoColumns },
20254 : { prototypes::id::CSS2Properties },
20255 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20256 : JSJitInfo::Getter,
20257 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20258 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
20259 : false, /* isInfallible. False in setters. */
20260 : false, /* isMovable. Not relevant for setters. */
20261 : false, /* isEliminatable. Not relevant for setters. */
20262 : false, /* isAlwaysInSlot. Only relevant for getters. */
20263 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20264 : false, /* isTypedMethod. Only relevant for methods. */
20265 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20266 : };
20267 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20268 : static_assert(0 < 1, "There is no slot for us");
20269 : static const JSJitInfo gridAutoColumns_setterinfo = {
20270 : { (JSJitGetterOp)set_gridAutoColumns },
20271 : { prototypes::id::CSS2Properties },
20272 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20273 : JSJitInfo::Setter,
20274 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20275 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
20276 : false, /* isInfallible. False in setters. */
20277 : false, /* isMovable. Not relevant for setters. */
20278 : false, /* isEliminatable. Not relevant for setters. */
20279 : false, /* isAlwaysInSlot. Only relevant for getters. */
20280 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20281 : false, /* isTypedMethod. Only relevant for methods. */
20282 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20283 : };
20284 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20285 : static_assert(0 < 1, "There is no slot for us");
20286 :
20287 : static bool
20288 0 : get_grid_auto_columns(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
20289 : {
20290 0 : binding_detail::FastErrorResult rv;
20291 0 : DOMString result;
20292 0 : self->GetGridAutoColumns(result, rv);
20293 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20294 0 : return false;
20295 : }
20296 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20297 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
20298 0 : return false;
20299 : }
20300 0 : return true;
20301 : }
20302 :
20303 : static bool
20304 0 : set_grid_auto_columns(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
20305 : {
20306 0 : binding_detail::FakeString arg0;
20307 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
20308 0 : return false;
20309 : }
20310 0 : binding_detail::FastErrorResult rv;
20311 0 : self->SetGridAutoColumns(NonNullHelper(Constify(arg0)), rv);
20312 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20313 0 : return false;
20314 : }
20315 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20316 :
20317 0 : return true;
20318 : }
20319 :
20320 : static const JSJitInfo grid_auto_columns_getterinfo = {
20321 : { (JSJitGetterOp)get_grid_auto_columns },
20322 : { prototypes::id::CSS2Properties },
20323 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20324 : JSJitInfo::Getter,
20325 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20326 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
20327 : false, /* isInfallible. False in setters. */
20328 : false, /* isMovable. Not relevant for setters. */
20329 : false, /* isEliminatable. Not relevant for setters. */
20330 : false, /* isAlwaysInSlot. Only relevant for getters. */
20331 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20332 : false, /* isTypedMethod. Only relevant for methods. */
20333 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20334 : };
20335 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20336 : static_assert(0 < 1, "There is no slot for us");
20337 : static const JSJitInfo grid_auto_columns_setterinfo = {
20338 : { (JSJitGetterOp)set_grid_auto_columns },
20339 : { prototypes::id::CSS2Properties },
20340 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20341 : JSJitInfo::Setter,
20342 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20343 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
20344 : false, /* isInfallible. False in setters. */
20345 : false, /* isMovable. Not relevant for setters. */
20346 : false, /* isEliminatable. Not relevant for setters. */
20347 : false, /* isAlwaysInSlot. Only relevant for getters. */
20348 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20349 : false, /* isTypedMethod. Only relevant for methods. */
20350 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20351 : };
20352 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20353 : static_assert(0 < 1, "There is no slot for us");
20354 :
20355 : static bool
20356 0 : get_gridAutoFlow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
20357 : {
20358 0 : binding_detail::FastErrorResult rv;
20359 0 : DOMString result;
20360 0 : self->GetGridAutoFlow(result, rv);
20361 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20362 0 : return false;
20363 : }
20364 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20365 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
20366 0 : return false;
20367 : }
20368 0 : return true;
20369 : }
20370 :
20371 : static bool
20372 0 : set_gridAutoFlow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
20373 : {
20374 0 : binding_detail::FakeString arg0;
20375 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
20376 0 : return false;
20377 : }
20378 0 : binding_detail::FastErrorResult rv;
20379 0 : self->SetGridAutoFlow(NonNullHelper(Constify(arg0)), rv);
20380 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20381 0 : return false;
20382 : }
20383 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20384 :
20385 0 : return true;
20386 : }
20387 :
20388 : static const JSJitInfo gridAutoFlow_getterinfo = {
20389 : { (JSJitGetterOp)get_gridAutoFlow },
20390 : { prototypes::id::CSS2Properties },
20391 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20392 : JSJitInfo::Getter,
20393 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20394 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
20395 : false, /* isInfallible. False in setters. */
20396 : false, /* isMovable. Not relevant for setters. */
20397 : false, /* isEliminatable. Not relevant for setters. */
20398 : false, /* isAlwaysInSlot. Only relevant for getters. */
20399 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20400 : false, /* isTypedMethod. Only relevant for methods. */
20401 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20402 : };
20403 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20404 : static_assert(0 < 1, "There is no slot for us");
20405 : static const JSJitInfo gridAutoFlow_setterinfo = {
20406 : { (JSJitGetterOp)set_gridAutoFlow },
20407 : { prototypes::id::CSS2Properties },
20408 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20409 : JSJitInfo::Setter,
20410 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20411 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
20412 : false, /* isInfallible. False in setters. */
20413 : false, /* isMovable. Not relevant for setters. */
20414 : false, /* isEliminatable. Not relevant for setters. */
20415 : false, /* isAlwaysInSlot. Only relevant for getters. */
20416 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20417 : false, /* isTypedMethod. Only relevant for methods. */
20418 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20419 : };
20420 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20421 : static_assert(0 < 1, "There is no slot for us");
20422 :
20423 : static bool
20424 0 : get_grid_auto_flow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
20425 : {
20426 0 : binding_detail::FastErrorResult rv;
20427 0 : DOMString result;
20428 0 : self->GetGridAutoFlow(result, rv);
20429 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20430 0 : return false;
20431 : }
20432 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20433 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
20434 0 : return false;
20435 : }
20436 0 : return true;
20437 : }
20438 :
20439 : static bool
20440 0 : set_grid_auto_flow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
20441 : {
20442 0 : binding_detail::FakeString arg0;
20443 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
20444 0 : return false;
20445 : }
20446 0 : binding_detail::FastErrorResult rv;
20447 0 : self->SetGridAutoFlow(NonNullHelper(Constify(arg0)), rv);
20448 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20449 0 : return false;
20450 : }
20451 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20452 :
20453 0 : return true;
20454 : }
20455 :
20456 : static const JSJitInfo grid_auto_flow_getterinfo = {
20457 : { (JSJitGetterOp)get_grid_auto_flow },
20458 : { prototypes::id::CSS2Properties },
20459 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20460 : JSJitInfo::Getter,
20461 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20462 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
20463 : false, /* isInfallible. False in setters. */
20464 : false, /* isMovable. Not relevant for setters. */
20465 : false, /* isEliminatable. Not relevant for setters. */
20466 : false, /* isAlwaysInSlot. Only relevant for getters. */
20467 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20468 : false, /* isTypedMethod. Only relevant for methods. */
20469 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20470 : };
20471 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20472 : static_assert(0 < 1, "There is no slot for us");
20473 : static const JSJitInfo grid_auto_flow_setterinfo = {
20474 : { (JSJitGetterOp)set_grid_auto_flow },
20475 : { prototypes::id::CSS2Properties },
20476 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20477 : JSJitInfo::Setter,
20478 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20479 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
20480 : false, /* isInfallible. False in setters. */
20481 : false, /* isMovable. Not relevant for setters. */
20482 : false, /* isEliminatable. Not relevant for setters. */
20483 : false, /* isAlwaysInSlot. Only relevant for getters. */
20484 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20485 : false, /* isTypedMethod. Only relevant for methods. */
20486 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20487 : };
20488 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20489 : static_assert(0 < 1, "There is no slot for us");
20490 :
20491 : static bool
20492 0 : get_gridAutoRows(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
20493 : {
20494 0 : binding_detail::FastErrorResult rv;
20495 0 : DOMString result;
20496 0 : self->GetGridAutoRows(result, rv);
20497 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20498 0 : return false;
20499 : }
20500 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20501 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
20502 0 : return false;
20503 : }
20504 0 : return true;
20505 : }
20506 :
20507 : static bool
20508 0 : set_gridAutoRows(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
20509 : {
20510 0 : binding_detail::FakeString arg0;
20511 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
20512 0 : return false;
20513 : }
20514 0 : binding_detail::FastErrorResult rv;
20515 0 : self->SetGridAutoRows(NonNullHelper(Constify(arg0)), rv);
20516 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20517 0 : return false;
20518 : }
20519 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20520 :
20521 0 : return true;
20522 : }
20523 :
20524 : static const JSJitInfo gridAutoRows_getterinfo = {
20525 : { (JSJitGetterOp)get_gridAutoRows },
20526 : { prototypes::id::CSS2Properties },
20527 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20528 : JSJitInfo::Getter,
20529 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20530 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
20531 : false, /* isInfallible. False in setters. */
20532 : false, /* isMovable. Not relevant for setters. */
20533 : false, /* isEliminatable. Not relevant for setters. */
20534 : false, /* isAlwaysInSlot. Only relevant for getters. */
20535 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20536 : false, /* isTypedMethod. Only relevant for methods. */
20537 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20538 : };
20539 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20540 : static_assert(0 < 1, "There is no slot for us");
20541 : static const JSJitInfo gridAutoRows_setterinfo = {
20542 : { (JSJitGetterOp)set_gridAutoRows },
20543 : { prototypes::id::CSS2Properties },
20544 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20545 : JSJitInfo::Setter,
20546 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20547 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
20548 : false, /* isInfallible. False in setters. */
20549 : false, /* isMovable. Not relevant for setters. */
20550 : false, /* isEliminatable. Not relevant for setters. */
20551 : false, /* isAlwaysInSlot. Only relevant for getters. */
20552 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20553 : false, /* isTypedMethod. Only relevant for methods. */
20554 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20555 : };
20556 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20557 : static_assert(0 < 1, "There is no slot for us");
20558 :
20559 : static bool
20560 0 : get_grid_auto_rows(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
20561 : {
20562 0 : binding_detail::FastErrorResult rv;
20563 0 : DOMString result;
20564 0 : self->GetGridAutoRows(result, rv);
20565 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20566 0 : return false;
20567 : }
20568 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20569 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
20570 0 : return false;
20571 : }
20572 0 : return true;
20573 : }
20574 :
20575 : static bool
20576 0 : set_grid_auto_rows(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
20577 : {
20578 0 : binding_detail::FakeString arg0;
20579 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
20580 0 : return false;
20581 : }
20582 0 : binding_detail::FastErrorResult rv;
20583 0 : self->SetGridAutoRows(NonNullHelper(Constify(arg0)), rv);
20584 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20585 0 : return false;
20586 : }
20587 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20588 :
20589 0 : return true;
20590 : }
20591 :
20592 : static const JSJitInfo grid_auto_rows_getterinfo = {
20593 : { (JSJitGetterOp)get_grid_auto_rows },
20594 : { prototypes::id::CSS2Properties },
20595 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20596 : JSJitInfo::Getter,
20597 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20598 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
20599 : false, /* isInfallible. False in setters. */
20600 : false, /* isMovable. Not relevant for setters. */
20601 : false, /* isEliminatable. Not relevant for setters. */
20602 : false, /* isAlwaysInSlot. Only relevant for getters. */
20603 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20604 : false, /* isTypedMethod. Only relevant for methods. */
20605 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20606 : };
20607 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20608 : static_assert(0 < 1, "There is no slot for us");
20609 : static const JSJitInfo grid_auto_rows_setterinfo = {
20610 : { (JSJitGetterOp)set_grid_auto_rows },
20611 : { prototypes::id::CSS2Properties },
20612 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20613 : JSJitInfo::Setter,
20614 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20615 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
20616 : false, /* isInfallible. False in setters. */
20617 : false, /* isMovable. Not relevant for setters. */
20618 : false, /* isEliminatable. Not relevant for setters. */
20619 : false, /* isAlwaysInSlot. Only relevant for getters. */
20620 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20621 : false, /* isTypedMethod. Only relevant for methods. */
20622 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20623 : };
20624 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20625 : static_assert(0 < 1, "There is no slot for us");
20626 :
20627 : static bool
20628 0 : get_gridColumn(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
20629 : {
20630 0 : binding_detail::FastErrorResult rv;
20631 0 : DOMString result;
20632 0 : self->GetGridColumn(result, rv);
20633 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20634 0 : return false;
20635 : }
20636 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20637 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
20638 0 : return false;
20639 : }
20640 0 : return true;
20641 : }
20642 :
20643 : static bool
20644 0 : set_gridColumn(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
20645 : {
20646 0 : binding_detail::FakeString arg0;
20647 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
20648 0 : return false;
20649 : }
20650 0 : binding_detail::FastErrorResult rv;
20651 0 : self->SetGridColumn(NonNullHelper(Constify(arg0)), rv);
20652 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20653 0 : return false;
20654 : }
20655 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20656 :
20657 0 : return true;
20658 : }
20659 :
20660 : static const JSJitInfo gridColumn_getterinfo = {
20661 : { (JSJitGetterOp)get_gridColumn },
20662 : { prototypes::id::CSS2Properties },
20663 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20664 : JSJitInfo::Getter,
20665 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20666 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
20667 : false, /* isInfallible. False in setters. */
20668 : false, /* isMovable. Not relevant for setters. */
20669 : false, /* isEliminatable. Not relevant for setters. */
20670 : false, /* isAlwaysInSlot. Only relevant for getters. */
20671 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20672 : false, /* isTypedMethod. Only relevant for methods. */
20673 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20674 : };
20675 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20676 : static_assert(0 < 1, "There is no slot for us");
20677 : static const JSJitInfo gridColumn_setterinfo = {
20678 : { (JSJitGetterOp)set_gridColumn },
20679 : { prototypes::id::CSS2Properties },
20680 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20681 : JSJitInfo::Setter,
20682 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20683 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
20684 : false, /* isInfallible. False in setters. */
20685 : false, /* isMovable. Not relevant for setters. */
20686 : false, /* isEliminatable. Not relevant for setters. */
20687 : false, /* isAlwaysInSlot. Only relevant for getters. */
20688 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20689 : false, /* isTypedMethod. Only relevant for methods. */
20690 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20691 : };
20692 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20693 : static_assert(0 < 1, "There is no slot for us");
20694 :
20695 : static bool
20696 0 : get_grid_column(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
20697 : {
20698 0 : binding_detail::FastErrorResult rv;
20699 0 : DOMString result;
20700 0 : self->GetGridColumn(result, rv);
20701 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20702 0 : return false;
20703 : }
20704 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20705 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
20706 0 : return false;
20707 : }
20708 0 : return true;
20709 : }
20710 :
20711 : static bool
20712 0 : set_grid_column(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
20713 : {
20714 0 : binding_detail::FakeString arg0;
20715 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
20716 0 : return false;
20717 : }
20718 0 : binding_detail::FastErrorResult rv;
20719 0 : self->SetGridColumn(NonNullHelper(Constify(arg0)), rv);
20720 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20721 0 : return false;
20722 : }
20723 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20724 :
20725 0 : return true;
20726 : }
20727 :
20728 : static const JSJitInfo grid_column_getterinfo = {
20729 : { (JSJitGetterOp)get_grid_column },
20730 : { prototypes::id::CSS2Properties },
20731 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20732 : JSJitInfo::Getter,
20733 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20734 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
20735 : false, /* isInfallible. False in setters. */
20736 : false, /* isMovable. Not relevant for setters. */
20737 : false, /* isEliminatable. Not relevant for setters. */
20738 : false, /* isAlwaysInSlot. Only relevant for getters. */
20739 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20740 : false, /* isTypedMethod. Only relevant for methods. */
20741 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20742 : };
20743 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20744 : static_assert(0 < 1, "There is no slot for us");
20745 : static const JSJitInfo grid_column_setterinfo = {
20746 : { (JSJitGetterOp)set_grid_column },
20747 : { prototypes::id::CSS2Properties },
20748 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20749 : JSJitInfo::Setter,
20750 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20751 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
20752 : false, /* isInfallible. False in setters. */
20753 : false, /* isMovable. Not relevant for setters. */
20754 : false, /* isEliminatable. Not relevant for setters. */
20755 : false, /* isAlwaysInSlot. Only relevant for getters. */
20756 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20757 : false, /* isTypedMethod. Only relevant for methods. */
20758 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20759 : };
20760 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20761 : static_assert(0 < 1, "There is no slot for us");
20762 :
20763 : static bool
20764 0 : get_gridColumnEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
20765 : {
20766 0 : binding_detail::FastErrorResult rv;
20767 0 : DOMString result;
20768 0 : self->GetGridColumnEnd(result, rv);
20769 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20770 0 : return false;
20771 : }
20772 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20773 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
20774 0 : return false;
20775 : }
20776 0 : return true;
20777 : }
20778 :
20779 : static bool
20780 0 : set_gridColumnEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
20781 : {
20782 0 : binding_detail::FakeString arg0;
20783 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
20784 0 : return false;
20785 : }
20786 0 : binding_detail::FastErrorResult rv;
20787 0 : self->SetGridColumnEnd(NonNullHelper(Constify(arg0)), rv);
20788 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20789 0 : return false;
20790 : }
20791 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20792 :
20793 0 : return true;
20794 : }
20795 :
20796 : static const JSJitInfo gridColumnEnd_getterinfo = {
20797 : { (JSJitGetterOp)get_gridColumnEnd },
20798 : { prototypes::id::CSS2Properties },
20799 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20800 : JSJitInfo::Getter,
20801 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20802 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
20803 : false, /* isInfallible. False in setters. */
20804 : false, /* isMovable. Not relevant for setters. */
20805 : false, /* isEliminatable. Not relevant for setters. */
20806 : false, /* isAlwaysInSlot. Only relevant for getters. */
20807 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20808 : false, /* isTypedMethod. Only relevant for methods. */
20809 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20810 : };
20811 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20812 : static_assert(0 < 1, "There is no slot for us");
20813 : static const JSJitInfo gridColumnEnd_setterinfo = {
20814 : { (JSJitGetterOp)set_gridColumnEnd },
20815 : { prototypes::id::CSS2Properties },
20816 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20817 : JSJitInfo::Setter,
20818 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20819 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
20820 : false, /* isInfallible. False in setters. */
20821 : false, /* isMovable. Not relevant for setters. */
20822 : false, /* isEliminatable. Not relevant for setters. */
20823 : false, /* isAlwaysInSlot. Only relevant for getters. */
20824 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20825 : false, /* isTypedMethod. Only relevant for methods. */
20826 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20827 : };
20828 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20829 : static_assert(0 < 1, "There is no slot for us");
20830 :
20831 : static bool
20832 0 : get_grid_column_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
20833 : {
20834 0 : binding_detail::FastErrorResult rv;
20835 0 : DOMString result;
20836 0 : self->GetGridColumnEnd(result, rv);
20837 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20838 0 : return false;
20839 : }
20840 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20841 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
20842 0 : return false;
20843 : }
20844 0 : return true;
20845 : }
20846 :
20847 : static bool
20848 0 : set_grid_column_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
20849 : {
20850 0 : binding_detail::FakeString arg0;
20851 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
20852 0 : return false;
20853 : }
20854 0 : binding_detail::FastErrorResult rv;
20855 0 : self->SetGridColumnEnd(NonNullHelper(Constify(arg0)), rv);
20856 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20857 0 : return false;
20858 : }
20859 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20860 :
20861 0 : return true;
20862 : }
20863 :
20864 : static const JSJitInfo grid_column_end_getterinfo = {
20865 : { (JSJitGetterOp)get_grid_column_end },
20866 : { prototypes::id::CSS2Properties },
20867 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20868 : JSJitInfo::Getter,
20869 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20870 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
20871 : false, /* isInfallible. False in setters. */
20872 : false, /* isMovable. Not relevant for setters. */
20873 : false, /* isEliminatable. Not relevant for setters. */
20874 : false, /* isAlwaysInSlot. Only relevant for getters. */
20875 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20876 : false, /* isTypedMethod. Only relevant for methods. */
20877 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20878 : };
20879 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20880 : static_assert(0 < 1, "There is no slot for us");
20881 : static const JSJitInfo grid_column_end_setterinfo = {
20882 : { (JSJitGetterOp)set_grid_column_end },
20883 : { prototypes::id::CSS2Properties },
20884 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20885 : JSJitInfo::Setter,
20886 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20887 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
20888 : false, /* isInfallible. False in setters. */
20889 : false, /* isMovable. Not relevant for setters. */
20890 : false, /* isEliminatable. Not relevant for setters. */
20891 : false, /* isAlwaysInSlot. Only relevant for getters. */
20892 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20893 : false, /* isTypedMethod. Only relevant for methods. */
20894 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20895 : };
20896 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20897 : static_assert(0 < 1, "There is no slot for us");
20898 :
20899 : static bool
20900 0 : get_gridColumnGap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
20901 : {
20902 0 : binding_detail::FastErrorResult rv;
20903 0 : DOMString result;
20904 0 : self->GetGridColumnGap(result, rv);
20905 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20906 0 : return false;
20907 : }
20908 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20909 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
20910 0 : return false;
20911 : }
20912 0 : return true;
20913 : }
20914 :
20915 : static bool
20916 0 : set_gridColumnGap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
20917 : {
20918 0 : binding_detail::FakeString arg0;
20919 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
20920 0 : return false;
20921 : }
20922 0 : binding_detail::FastErrorResult rv;
20923 0 : self->SetGridColumnGap(NonNullHelper(Constify(arg0)), rv);
20924 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20925 0 : return false;
20926 : }
20927 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20928 :
20929 0 : return true;
20930 : }
20931 :
20932 : static const JSJitInfo gridColumnGap_getterinfo = {
20933 : { (JSJitGetterOp)get_gridColumnGap },
20934 : { prototypes::id::CSS2Properties },
20935 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20936 : JSJitInfo::Getter,
20937 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20938 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
20939 : false, /* isInfallible. False in setters. */
20940 : false, /* isMovable. Not relevant for setters. */
20941 : false, /* isEliminatable. Not relevant for setters. */
20942 : false, /* isAlwaysInSlot. Only relevant for getters. */
20943 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20944 : false, /* isTypedMethod. Only relevant for methods. */
20945 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20946 : };
20947 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20948 : static_assert(0 < 1, "There is no slot for us");
20949 : static const JSJitInfo gridColumnGap_setterinfo = {
20950 : { (JSJitGetterOp)set_gridColumnGap },
20951 : { prototypes::id::CSS2Properties },
20952 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
20953 : JSJitInfo::Setter,
20954 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
20955 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
20956 : false, /* isInfallible. False in setters. */
20957 : false, /* isMovable. Not relevant for setters. */
20958 : false, /* isEliminatable. Not relevant for setters. */
20959 : false, /* isAlwaysInSlot. Only relevant for getters. */
20960 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
20961 : false, /* isTypedMethod. Only relevant for methods. */
20962 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
20963 : };
20964 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
20965 : static_assert(0 < 1, "There is no slot for us");
20966 :
20967 : static bool
20968 0 : get_grid_column_gap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
20969 : {
20970 0 : binding_detail::FastErrorResult rv;
20971 0 : DOMString result;
20972 0 : self->GetGridColumnGap(result, rv);
20973 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20974 0 : return false;
20975 : }
20976 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20977 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
20978 0 : return false;
20979 : }
20980 0 : return true;
20981 : }
20982 :
20983 : static bool
20984 0 : set_grid_column_gap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
20985 : {
20986 0 : binding_detail::FakeString arg0;
20987 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
20988 0 : return false;
20989 : }
20990 0 : binding_detail::FastErrorResult rv;
20991 0 : self->SetGridColumnGap(NonNullHelper(Constify(arg0)), rv);
20992 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
20993 0 : return false;
20994 : }
20995 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
20996 :
20997 0 : return true;
20998 : }
20999 :
21000 : static const JSJitInfo grid_column_gap_getterinfo = {
21001 : { (JSJitGetterOp)get_grid_column_gap },
21002 : { prototypes::id::CSS2Properties },
21003 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21004 : JSJitInfo::Getter,
21005 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21006 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
21007 : false, /* isInfallible. False in setters. */
21008 : false, /* isMovable. Not relevant for setters. */
21009 : false, /* isEliminatable. Not relevant for setters. */
21010 : false, /* isAlwaysInSlot. Only relevant for getters. */
21011 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21012 : false, /* isTypedMethod. Only relevant for methods. */
21013 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21014 : };
21015 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21016 : static_assert(0 < 1, "There is no slot for us");
21017 : static const JSJitInfo grid_column_gap_setterinfo = {
21018 : { (JSJitGetterOp)set_grid_column_gap },
21019 : { prototypes::id::CSS2Properties },
21020 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21021 : JSJitInfo::Setter,
21022 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21023 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
21024 : false, /* isInfallible. False in setters. */
21025 : false, /* isMovable. Not relevant for setters. */
21026 : false, /* isEliminatable. Not relevant for setters. */
21027 : false, /* isAlwaysInSlot. Only relevant for getters. */
21028 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21029 : false, /* isTypedMethod. Only relevant for methods. */
21030 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21031 : };
21032 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21033 : static_assert(0 < 1, "There is no slot for us");
21034 :
21035 : static bool
21036 0 : get_gridColumnStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
21037 : {
21038 0 : binding_detail::FastErrorResult rv;
21039 0 : DOMString result;
21040 0 : self->GetGridColumnStart(result, rv);
21041 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21042 0 : return false;
21043 : }
21044 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21045 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
21046 0 : return false;
21047 : }
21048 0 : return true;
21049 : }
21050 :
21051 : static bool
21052 0 : set_gridColumnStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
21053 : {
21054 0 : binding_detail::FakeString arg0;
21055 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
21056 0 : return false;
21057 : }
21058 0 : binding_detail::FastErrorResult rv;
21059 0 : self->SetGridColumnStart(NonNullHelper(Constify(arg0)), rv);
21060 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21061 0 : return false;
21062 : }
21063 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21064 :
21065 0 : return true;
21066 : }
21067 :
21068 : static const JSJitInfo gridColumnStart_getterinfo = {
21069 : { (JSJitGetterOp)get_gridColumnStart },
21070 : { prototypes::id::CSS2Properties },
21071 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21072 : JSJitInfo::Getter,
21073 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21074 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
21075 : false, /* isInfallible. False in setters. */
21076 : false, /* isMovable. Not relevant for setters. */
21077 : false, /* isEliminatable. Not relevant for setters. */
21078 : false, /* isAlwaysInSlot. Only relevant for getters. */
21079 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21080 : false, /* isTypedMethod. Only relevant for methods. */
21081 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21082 : };
21083 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21084 : static_assert(0 < 1, "There is no slot for us");
21085 : static const JSJitInfo gridColumnStart_setterinfo = {
21086 : { (JSJitGetterOp)set_gridColumnStart },
21087 : { prototypes::id::CSS2Properties },
21088 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21089 : JSJitInfo::Setter,
21090 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21091 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
21092 : false, /* isInfallible. False in setters. */
21093 : false, /* isMovable. Not relevant for setters. */
21094 : false, /* isEliminatable. Not relevant for setters. */
21095 : false, /* isAlwaysInSlot. Only relevant for getters. */
21096 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21097 : false, /* isTypedMethod. Only relevant for methods. */
21098 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21099 : };
21100 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21101 : static_assert(0 < 1, "There is no slot for us");
21102 :
21103 : static bool
21104 0 : get_grid_column_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
21105 : {
21106 0 : binding_detail::FastErrorResult rv;
21107 0 : DOMString result;
21108 0 : self->GetGridColumnStart(result, rv);
21109 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21110 0 : return false;
21111 : }
21112 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21113 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
21114 0 : return false;
21115 : }
21116 0 : return true;
21117 : }
21118 :
21119 : static bool
21120 0 : set_grid_column_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
21121 : {
21122 0 : binding_detail::FakeString arg0;
21123 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
21124 0 : return false;
21125 : }
21126 0 : binding_detail::FastErrorResult rv;
21127 0 : self->SetGridColumnStart(NonNullHelper(Constify(arg0)), rv);
21128 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21129 0 : return false;
21130 : }
21131 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21132 :
21133 0 : return true;
21134 : }
21135 :
21136 : static const JSJitInfo grid_column_start_getterinfo = {
21137 : { (JSJitGetterOp)get_grid_column_start },
21138 : { prototypes::id::CSS2Properties },
21139 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21140 : JSJitInfo::Getter,
21141 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21142 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
21143 : false, /* isInfallible. False in setters. */
21144 : false, /* isMovable. Not relevant for setters. */
21145 : false, /* isEliminatable. Not relevant for setters. */
21146 : false, /* isAlwaysInSlot. Only relevant for getters. */
21147 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21148 : false, /* isTypedMethod. Only relevant for methods. */
21149 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21150 : };
21151 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21152 : static_assert(0 < 1, "There is no slot for us");
21153 : static const JSJitInfo grid_column_start_setterinfo = {
21154 : { (JSJitGetterOp)set_grid_column_start },
21155 : { prototypes::id::CSS2Properties },
21156 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21157 : JSJitInfo::Setter,
21158 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21159 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
21160 : false, /* isInfallible. False in setters. */
21161 : false, /* isMovable. Not relevant for setters. */
21162 : false, /* isEliminatable. Not relevant for setters. */
21163 : false, /* isAlwaysInSlot. Only relevant for getters. */
21164 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21165 : false, /* isTypedMethod. Only relevant for methods. */
21166 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21167 : };
21168 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21169 : static_assert(0 < 1, "There is no slot for us");
21170 :
21171 : static bool
21172 0 : get_gridGap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
21173 : {
21174 0 : binding_detail::FastErrorResult rv;
21175 0 : DOMString result;
21176 0 : self->GetGridGap(result, rv);
21177 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21178 0 : return false;
21179 : }
21180 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21181 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
21182 0 : return false;
21183 : }
21184 0 : return true;
21185 : }
21186 :
21187 : static bool
21188 0 : set_gridGap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
21189 : {
21190 0 : binding_detail::FakeString arg0;
21191 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
21192 0 : return false;
21193 : }
21194 0 : binding_detail::FastErrorResult rv;
21195 0 : self->SetGridGap(NonNullHelper(Constify(arg0)), rv);
21196 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21197 0 : return false;
21198 : }
21199 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21200 :
21201 0 : return true;
21202 : }
21203 :
21204 : static const JSJitInfo gridGap_getterinfo = {
21205 : { (JSJitGetterOp)get_gridGap },
21206 : { prototypes::id::CSS2Properties },
21207 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21208 : JSJitInfo::Getter,
21209 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21210 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
21211 : false, /* isInfallible. False in setters. */
21212 : false, /* isMovable. Not relevant for setters. */
21213 : false, /* isEliminatable. Not relevant for setters. */
21214 : false, /* isAlwaysInSlot. Only relevant for getters. */
21215 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21216 : false, /* isTypedMethod. Only relevant for methods. */
21217 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21218 : };
21219 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21220 : static_assert(0 < 1, "There is no slot for us");
21221 : static const JSJitInfo gridGap_setterinfo = {
21222 : { (JSJitGetterOp)set_gridGap },
21223 : { prototypes::id::CSS2Properties },
21224 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21225 : JSJitInfo::Setter,
21226 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21227 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
21228 : false, /* isInfallible. False in setters. */
21229 : false, /* isMovable. Not relevant for setters. */
21230 : false, /* isEliminatable. Not relevant for setters. */
21231 : false, /* isAlwaysInSlot. Only relevant for getters. */
21232 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21233 : false, /* isTypedMethod. Only relevant for methods. */
21234 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21235 : };
21236 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21237 : static_assert(0 < 1, "There is no slot for us");
21238 :
21239 : static bool
21240 0 : get_grid_gap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
21241 : {
21242 0 : binding_detail::FastErrorResult rv;
21243 0 : DOMString result;
21244 0 : self->GetGridGap(result, rv);
21245 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21246 0 : return false;
21247 : }
21248 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21249 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
21250 0 : return false;
21251 : }
21252 0 : return true;
21253 : }
21254 :
21255 : static bool
21256 0 : set_grid_gap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
21257 : {
21258 0 : binding_detail::FakeString arg0;
21259 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
21260 0 : return false;
21261 : }
21262 0 : binding_detail::FastErrorResult rv;
21263 0 : self->SetGridGap(NonNullHelper(Constify(arg0)), rv);
21264 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21265 0 : return false;
21266 : }
21267 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21268 :
21269 0 : return true;
21270 : }
21271 :
21272 : static const JSJitInfo grid_gap_getterinfo = {
21273 : { (JSJitGetterOp)get_grid_gap },
21274 : { prototypes::id::CSS2Properties },
21275 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21276 : JSJitInfo::Getter,
21277 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21278 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
21279 : false, /* isInfallible. False in setters. */
21280 : false, /* isMovable. Not relevant for setters. */
21281 : false, /* isEliminatable. Not relevant for setters. */
21282 : false, /* isAlwaysInSlot. Only relevant for getters. */
21283 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21284 : false, /* isTypedMethod. Only relevant for methods. */
21285 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21286 : };
21287 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21288 : static_assert(0 < 1, "There is no slot for us");
21289 : static const JSJitInfo grid_gap_setterinfo = {
21290 : { (JSJitGetterOp)set_grid_gap },
21291 : { prototypes::id::CSS2Properties },
21292 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21293 : JSJitInfo::Setter,
21294 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21295 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
21296 : false, /* isInfallible. False in setters. */
21297 : false, /* isMovable. Not relevant for setters. */
21298 : false, /* isEliminatable. Not relevant for setters. */
21299 : false, /* isAlwaysInSlot. Only relevant for getters. */
21300 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21301 : false, /* isTypedMethod. Only relevant for methods. */
21302 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21303 : };
21304 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21305 : static_assert(0 < 1, "There is no slot for us");
21306 :
21307 : static bool
21308 0 : get_gridRow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
21309 : {
21310 0 : binding_detail::FastErrorResult rv;
21311 0 : DOMString result;
21312 0 : self->GetGridRow(result, rv);
21313 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21314 0 : return false;
21315 : }
21316 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21317 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
21318 0 : return false;
21319 : }
21320 0 : return true;
21321 : }
21322 :
21323 : static bool
21324 0 : set_gridRow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
21325 : {
21326 0 : binding_detail::FakeString arg0;
21327 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
21328 0 : return false;
21329 : }
21330 0 : binding_detail::FastErrorResult rv;
21331 0 : self->SetGridRow(NonNullHelper(Constify(arg0)), rv);
21332 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21333 0 : return false;
21334 : }
21335 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21336 :
21337 0 : return true;
21338 : }
21339 :
21340 : static const JSJitInfo gridRow_getterinfo = {
21341 : { (JSJitGetterOp)get_gridRow },
21342 : { prototypes::id::CSS2Properties },
21343 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21344 : JSJitInfo::Getter,
21345 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21346 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
21347 : false, /* isInfallible. False in setters. */
21348 : false, /* isMovable. Not relevant for setters. */
21349 : false, /* isEliminatable. Not relevant for setters. */
21350 : false, /* isAlwaysInSlot. Only relevant for getters. */
21351 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21352 : false, /* isTypedMethod. Only relevant for methods. */
21353 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21354 : };
21355 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21356 : static_assert(0 < 1, "There is no slot for us");
21357 : static const JSJitInfo gridRow_setterinfo = {
21358 : { (JSJitGetterOp)set_gridRow },
21359 : { prototypes::id::CSS2Properties },
21360 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21361 : JSJitInfo::Setter,
21362 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21363 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
21364 : false, /* isInfallible. False in setters. */
21365 : false, /* isMovable. Not relevant for setters. */
21366 : false, /* isEliminatable. Not relevant for setters. */
21367 : false, /* isAlwaysInSlot. Only relevant for getters. */
21368 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21369 : false, /* isTypedMethod. Only relevant for methods. */
21370 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21371 : };
21372 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21373 : static_assert(0 < 1, "There is no slot for us");
21374 :
21375 : static bool
21376 0 : get_grid_row(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
21377 : {
21378 0 : binding_detail::FastErrorResult rv;
21379 0 : DOMString result;
21380 0 : self->GetGridRow(result, rv);
21381 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21382 0 : return false;
21383 : }
21384 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21385 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
21386 0 : return false;
21387 : }
21388 0 : return true;
21389 : }
21390 :
21391 : static bool
21392 0 : set_grid_row(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
21393 : {
21394 0 : binding_detail::FakeString arg0;
21395 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
21396 0 : return false;
21397 : }
21398 0 : binding_detail::FastErrorResult rv;
21399 0 : self->SetGridRow(NonNullHelper(Constify(arg0)), rv);
21400 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21401 0 : return false;
21402 : }
21403 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21404 :
21405 0 : return true;
21406 : }
21407 :
21408 : static const JSJitInfo grid_row_getterinfo = {
21409 : { (JSJitGetterOp)get_grid_row },
21410 : { prototypes::id::CSS2Properties },
21411 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21412 : JSJitInfo::Getter,
21413 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21414 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
21415 : false, /* isInfallible. False in setters. */
21416 : false, /* isMovable. Not relevant for setters. */
21417 : false, /* isEliminatable. Not relevant for setters. */
21418 : false, /* isAlwaysInSlot. Only relevant for getters. */
21419 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21420 : false, /* isTypedMethod. Only relevant for methods. */
21421 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21422 : };
21423 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21424 : static_assert(0 < 1, "There is no slot for us");
21425 : static const JSJitInfo grid_row_setterinfo = {
21426 : { (JSJitGetterOp)set_grid_row },
21427 : { prototypes::id::CSS2Properties },
21428 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21429 : JSJitInfo::Setter,
21430 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21431 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
21432 : false, /* isInfallible. False in setters. */
21433 : false, /* isMovable. Not relevant for setters. */
21434 : false, /* isEliminatable. Not relevant for setters. */
21435 : false, /* isAlwaysInSlot. Only relevant for getters. */
21436 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21437 : false, /* isTypedMethod. Only relevant for methods. */
21438 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21439 : };
21440 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21441 : static_assert(0 < 1, "There is no slot for us");
21442 :
21443 : static bool
21444 0 : get_gridRowEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
21445 : {
21446 0 : binding_detail::FastErrorResult rv;
21447 0 : DOMString result;
21448 0 : self->GetGridRowEnd(result, rv);
21449 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21450 0 : return false;
21451 : }
21452 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21453 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
21454 0 : return false;
21455 : }
21456 0 : return true;
21457 : }
21458 :
21459 : static bool
21460 0 : set_gridRowEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
21461 : {
21462 0 : binding_detail::FakeString arg0;
21463 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
21464 0 : return false;
21465 : }
21466 0 : binding_detail::FastErrorResult rv;
21467 0 : self->SetGridRowEnd(NonNullHelper(Constify(arg0)), rv);
21468 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21469 0 : return false;
21470 : }
21471 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21472 :
21473 0 : return true;
21474 : }
21475 :
21476 : static const JSJitInfo gridRowEnd_getterinfo = {
21477 : { (JSJitGetterOp)get_gridRowEnd },
21478 : { prototypes::id::CSS2Properties },
21479 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21480 : JSJitInfo::Getter,
21481 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21482 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
21483 : false, /* isInfallible. False in setters. */
21484 : false, /* isMovable. Not relevant for setters. */
21485 : false, /* isEliminatable. Not relevant for setters. */
21486 : false, /* isAlwaysInSlot. Only relevant for getters. */
21487 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21488 : false, /* isTypedMethod. Only relevant for methods. */
21489 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21490 : };
21491 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21492 : static_assert(0 < 1, "There is no slot for us");
21493 : static const JSJitInfo gridRowEnd_setterinfo = {
21494 : { (JSJitGetterOp)set_gridRowEnd },
21495 : { prototypes::id::CSS2Properties },
21496 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21497 : JSJitInfo::Setter,
21498 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21499 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
21500 : false, /* isInfallible. False in setters. */
21501 : false, /* isMovable. Not relevant for setters. */
21502 : false, /* isEliminatable. Not relevant for setters. */
21503 : false, /* isAlwaysInSlot. Only relevant for getters. */
21504 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21505 : false, /* isTypedMethod. Only relevant for methods. */
21506 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21507 : };
21508 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21509 : static_assert(0 < 1, "There is no slot for us");
21510 :
21511 : static bool
21512 0 : get_grid_row_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
21513 : {
21514 0 : binding_detail::FastErrorResult rv;
21515 0 : DOMString result;
21516 0 : self->GetGridRowEnd(result, rv);
21517 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21518 0 : return false;
21519 : }
21520 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21521 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
21522 0 : return false;
21523 : }
21524 0 : return true;
21525 : }
21526 :
21527 : static bool
21528 0 : set_grid_row_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
21529 : {
21530 0 : binding_detail::FakeString arg0;
21531 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
21532 0 : return false;
21533 : }
21534 0 : binding_detail::FastErrorResult rv;
21535 0 : self->SetGridRowEnd(NonNullHelper(Constify(arg0)), rv);
21536 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21537 0 : return false;
21538 : }
21539 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21540 :
21541 0 : return true;
21542 : }
21543 :
21544 : static const JSJitInfo grid_row_end_getterinfo = {
21545 : { (JSJitGetterOp)get_grid_row_end },
21546 : { prototypes::id::CSS2Properties },
21547 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21548 : JSJitInfo::Getter,
21549 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21550 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
21551 : false, /* isInfallible. False in setters. */
21552 : false, /* isMovable. Not relevant for setters. */
21553 : false, /* isEliminatable. Not relevant for setters. */
21554 : false, /* isAlwaysInSlot. Only relevant for getters. */
21555 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21556 : false, /* isTypedMethod. Only relevant for methods. */
21557 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21558 : };
21559 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21560 : static_assert(0 < 1, "There is no slot for us");
21561 : static const JSJitInfo grid_row_end_setterinfo = {
21562 : { (JSJitGetterOp)set_grid_row_end },
21563 : { prototypes::id::CSS2Properties },
21564 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21565 : JSJitInfo::Setter,
21566 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21567 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
21568 : false, /* isInfallible. False in setters. */
21569 : false, /* isMovable. Not relevant for setters. */
21570 : false, /* isEliminatable. Not relevant for setters. */
21571 : false, /* isAlwaysInSlot. Only relevant for getters. */
21572 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21573 : false, /* isTypedMethod. Only relevant for methods. */
21574 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21575 : };
21576 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21577 : static_assert(0 < 1, "There is no slot for us");
21578 :
21579 : static bool
21580 0 : get_gridRowGap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
21581 : {
21582 0 : binding_detail::FastErrorResult rv;
21583 0 : DOMString result;
21584 0 : self->GetGridRowGap(result, rv);
21585 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21586 0 : return false;
21587 : }
21588 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21589 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
21590 0 : return false;
21591 : }
21592 0 : return true;
21593 : }
21594 :
21595 : static bool
21596 0 : set_gridRowGap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
21597 : {
21598 0 : binding_detail::FakeString arg0;
21599 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
21600 0 : return false;
21601 : }
21602 0 : binding_detail::FastErrorResult rv;
21603 0 : self->SetGridRowGap(NonNullHelper(Constify(arg0)), rv);
21604 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21605 0 : return false;
21606 : }
21607 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21608 :
21609 0 : return true;
21610 : }
21611 :
21612 : static const JSJitInfo gridRowGap_getterinfo = {
21613 : { (JSJitGetterOp)get_gridRowGap },
21614 : { prototypes::id::CSS2Properties },
21615 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21616 : JSJitInfo::Getter,
21617 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21618 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
21619 : false, /* isInfallible. False in setters. */
21620 : false, /* isMovable. Not relevant for setters. */
21621 : false, /* isEliminatable. Not relevant for setters. */
21622 : false, /* isAlwaysInSlot. Only relevant for getters. */
21623 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21624 : false, /* isTypedMethod. Only relevant for methods. */
21625 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21626 : };
21627 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21628 : static_assert(0 < 1, "There is no slot for us");
21629 : static const JSJitInfo gridRowGap_setterinfo = {
21630 : { (JSJitGetterOp)set_gridRowGap },
21631 : { prototypes::id::CSS2Properties },
21632 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21633 : JSJitInfo::Setter,
21634 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21635 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
21636 : false, /* isInfallible. False in setters. */
21637 : false, /* isMovable. Not relevant for setters. */
21638 : false, /* isEliminatable. Not relevant for setters. */
21639 : false, /* isAlwaysInSlot. Only relevant for getters. */
21640 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21641 : false, /* isTypedMethod. Only relevant for methods. */
21642 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21643 : };
21644 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21645 : static_assert(0 < 1, "There is no slot for us");
21646 :
21647 : static bool
21648 0 : get_grid_row_gap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
21649 : {
21650 0 : binding_detail::FastErrorResult rv;
21651 0 : DOMString result;
21652 0 : self->GetGridRowGap(result, rv);
21653 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21654 0 : return false;
21655 : }
21656 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21657 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
21658 0 : return false;
21659 : }
21660 0 : return true;
21661 : }
21662 :
21663 : static bool
21664 0 : set_grid_row_gap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
21665 : {
21666 0 : binding_detail::FakeString arg0;
21667 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
21668 0 : return false;
21669 : }
21670 0 : binding_detail::FastErrorResult rv;
21671 0 : self->SetGridRowGap(NonNullHelper(Constify(arg0)), rv);
21672 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21673 0 : return false;
21674 : }
21675 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21676 :
21677 0 : return true;
21678 : }
21679 :
21680 : static const JSJitInfo grid_row_gap_getterinfo = {
21681 : { (JSJitGetterOp)get_grid_row_gap },
21682 : { prototypes::id::CSS2Properties },
21683 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21684 : JSJitInfo::Getter,
21685 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21686 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
21687 : false, /* isInfallible. False in setters. */
21688 : false, /* isMovable. Not relevant for setters. */
21689 : false, /* isEliminatable. Not relevant for setters. */
21690 : false, /* isAlwaysInSlot. Only relevant for getters. */
21691 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21692 : false, /* isTypedMethod. Only relevant for methods. */
21693 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21694 : };
21695 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21696 : static_assert(0 < 1, "There is no slot for us");
21697 : static const JSJitInfo grid_row_gap_setterinfo = {
21698 : { (JSJitGetterOp)set_grid_row_gap },
21699 : { prototypes::id::CSS2Properties },
21700 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21701 : JSJitInfo::Setter,
21702 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21703 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
21704 : false, /* isInfallible. False in setters. */
21705 : false, /* isMovable. Not relevant for setters. */
21706 : false, /* isEliminatable. Not relevant for setters. */
21707 : false, /* isAlwaysInSlot. Only relevant for getters. */
21708 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21709 : false, /* isTypedMethod. Only relevant for methods. */
21710 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21711 : };
21712 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21713 : static_assert(0 < 1, "There is no slot for us");
21714 :
21715 : static bool
21716 0 : get_gridRowStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
21717 : {
21718 0 : binding_detail::FastErrorResult rv;
21719 0 : DOMString result;
21720 0 : self->GetGridRowStart(result, rv);
21721 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21722 0 : return false;
21723 : }
21724 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21725 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
21726 0 : return false;
21727 : }
21728 0 : return true;
21729 : }
21730 :
21731 : static bool
21732 0 : set_gridRowStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
21733 : {
21734 0 : binding_detail::FakeString arg0;
21735 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
21736 0 : return false;
21737 : }
21738 0 : binding_detail::FastErrorResult rv;
21739 0 : self->SetGridRowStart(NonNullHelper(Constify(arg0)), rv);
21740 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21741 0 : return false;
21742 : }
21743 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21744 :
21745 0 : return true;
21746 : }
21747 :
21748 : static const JSJitInfo gridRowStart_getterinfo = {
21749 : { (JSJitGetterOp)get_gridRowStart },
21750 : { prototypes::id::CSS2Properties },
21751 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21752 : JSJitInfo::Getter,
21753 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21754 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
21755 : false, /* isInfallible. False in setters. */
21756 : false, /* isMovable. Not relevant for setters. */
21757 : false, /* isEliminatable. Not relevant for setters. */
21758 : false, /* isAlwaysInSlot. Only relevant for getters. */
21759 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21760 : false, /* isTypedMethod. Only relevant for methods. */
21761 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21762 : };
21763 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21764 : static_assert(0 < 1, "There is no slot for us");
21765 : static const JSJitInfo gridRowStart_setterinfo = {
21766 : { (JSJitGetterOp)set_gridRowStart },
21767 : { prototypes::id::CSS2Properties },
21768 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21769 : JSJitInfo::Setter,
21770 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21771 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
21772 : false, /* isInfallible. False in setters. */
21773 : false, /* isMovable. Not relevant for setters. */
21774 : false, /* isEliminatable. Not relevant for setters. */
21775 : false, /* isAlwaysInSlot. Only relevant for getters. */
21776 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21777 : false, /* isTypedMethod. Only relevant for methods. */
21778 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21779 : };
21780 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21781 : static_assert(0 < 1, "There is no slot for us");
21782 :
21783 : static bool
21784 0 : get_grid_row_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
21785 : {
21786 0 : binding_detail::FastErrorResult rv;
21787 0 : DOMString result;
21788 0 : self->GetGridRowStart(result, rv);
21789 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21790 0 : return false;
21791 : }
21792 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21793 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
21794 0 : return false;
21795 : }
21796 0 : return true;
21797 : }
21798 :
21799 : static bool
21800 0 : set_grid_row_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
21801 : {
21802 0 : binding_detail::FakeString arg0;
21803 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
21804 0 : return false;
21805 : }
21806 0 : binding_detail::FastErrorResult rv;
21807 0 : self->SetGridRowStart(NonNullHelper(Constify(arg0)), rv);
21808 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21809 0 : return false;
21810 : }
21811 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21812 :
21813 0 : return true;
21814 : }
21815 :
21816 : static const JSJitInfo grid_row_start_getterinfo = {
21817 : { (JSJitGetterOp)get_grid_row_start },
21818 : { prototypes::id::CSS2Properties },
21819 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21820 : JSJitInfo::Getter,
21821 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21822 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
21823 : false, /* isInfallible. False in setters. */
21824 : false, /* isMovable. Not relevant for setters. */
21825 : false, /* isEliminatable. Not relevant for setters. */
21826 : false, /* isAlwaysInSlot. Only relevant for getters. */
21827 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21828 : false, /* isTypedMethod. Only relevant for methods. */
21829 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21830 : };
21831 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21832 : static_assert(0 < 1, "There is no slot for us");
21833 : static const JSJitInfo grid_row_start_setterinfo = {
21834 : { (JSJitGetterOp)set_grid_row_start },
21835 : { prototypes::id::CSS2Properties },
21836 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21837 : JSJitInfo::Setter,
21838 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21839 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
21840 : false, /* isInfallible. False in setters. */
21841 : false, /* isMovable. Not relevant for setters. */
21842 : false, /* isEliminatable. Not relevant for setters. */
21843 : false, /* isAlwaysInSlot. Only relevant for getters. */
21844 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21845 : false, /* isTypedMethod. Only relevant for methods. */
21846 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21847 : };
21848 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21849 : static_assert(0 < 1, "There is no slot for us");
21850 :
21851 : static bool
21852 0 : get_gridTemplate(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
21853 : {
21854 0 : binding_detail::FastErrorResult rv;
21855 0 : DOMString result;
21856 0 : self->GetGridTemplate(result, rv);
21857 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21858 0 : return false;
21859 : }
21860 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21861 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
21862 0 : return false;
21863 : }
21864 0 : return true;
21865 : }
21866 :
21867 : static bool
21868 0 : set_gridTemplate(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
21869 : {
21870 0 : binding_detail::FakeString arg0;
21871 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
21872 0 : return false;
21873 : }
21874 0 : binding_detail::FastErrorResult rv;
21875 0 : self->SetGridTemplate(NonNullHelper(Constify(arg0)), rv);
21876 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21877 0 : return false;
21878 : }
21879 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21880 :
21881 0 : return true;
21882 : }
21883 :
21884 : static const JSJitInfo gridTemplate_getterinfo = {
21885 : { (JSJitGetterOp)get_gridTemplate },
21886 : { prototypes::id::CSS2Properties },
21887 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21888 : JSJitInfo::Getter,
21889 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21890 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
21891 : false, /* isInfallible. False in setters. */
21892 : false, /* isMovable. Not relevant for setters. */
21893 : false, /* isEliminatable. Not relevant for setters. */
21894 : false, /* isAlwaysInSlot. Only relevant for getters. */
21895 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21896 : false, /* isTypedMethod. Only relevant for methods. */
21897 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21898 : };
21899 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21900 : static_assert(0 < 1, "There is no slot for us");
21901 : static const JSJitInfo gridTemplate_setterinfo = {
21902 : { (JSJitGetterOp)set_gridTemplate },
21903 : { prototypes::id::CSS2Properties },
21904 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21905 : JSJitInfo::Setter,
21906 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21907 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
21908 : false, /* isInfallible. False in setters. */
21909 : false, /* isMovable. Not relevant for setters. */
21910 : false, /* isEliminatable. Not relevant for setters. */
21911 : false, /* isAlwaysInSlot. Only relevant for getters. */
21912 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21913 : false, /* isTypedMethod. Only relevant for methods. */
21914 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21915 : };
21916 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21917 : static_assert(0 < 1, "There is no slot for us");
21918 :
21919 : static bool
21920 0 : get_grid_template(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
21921 : {
21922 0 : binding_detail::FastErrorResult rv;
21923 0 : DOMString result;
21924 0 : self->GetGridTemplate(result, rv);
21925 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21926 0 : return false;
21927 : }
21928 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21929 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
21930 0 : return false;
21931 : }
21932 0 : return true;
21933 : }
21934 :
21935 : static bool
21936 0 : set_grid_template(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
21937 : {
21938 0 : binding_detail::FakeString arg0;
21939 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
21940 0 : return false;
21941 : }
21942 0 : binding_detail::FastErrorResult rv;
21943 0 : self->SetGridTemplate(NonNullHelper(Constify(arg0)), rv);
21944 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21945 0 : return false;
21946 : }
21947 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21948 :
21949 0 : return true;
21950 : }
21951 :
21952 : static const JSJitInfo grid_template_getterinfo = {
21953 : { (JSJitGetterOp)get_grid_template },
21954 : { prototypes::id::CSS2Properties },
21955 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21956 : JSJitInfo::Getter,
21957 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21958 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
21959 : false, /* isInfallible. False in setters. */
21960 : false, /* isMovable. Not relevant for setters. */
21961 : false, /* isEliminatable. Not relevant for setters. */
21962 : false, /* isAlwaysInSlot. Only relevant for getters. */
21963 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21964 : false, /* isTypedMethod. Only relevant for methods. */
21965 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21966 : };
21967 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21968 : static_assert(0 < 1, "There is no slot for us");
21969 : static const JSJitInfo grid_template_setterinfo = {
21970 : { (JSJitGetterOp)set_grid_template },
21971 : { prototypes::id::CSS2Properties },
21972 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
21973 : JSJitInfo::Setter,
21974 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
21975 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
21976 : false, /* isInfallible. False in setters. */
21977 : false, /* isMovable. Not relevant for setters. */
21978 : false, /* isEliminatable. Not relevant for setters. */
21979 : false, /* isAlwaysInSlot. Only relevant for getters. */
21980 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
21981 : false, /* isTypedMethod. Only relevant for methods. */
21982 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
21983 : };
21984 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
21985 : static_assert(0 < 1, "There is no slot for us");
21986 :
21987 : static bool
21988 0 : get_gridTemplateAreas(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
21989 : {
21990 0 : binding_detail::FastErrorResult rv;
21991 0 : DOMString result;
21992 0 : self->GetGridTemplateAreas(result, rv);
21993 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
21994 0 : return false;
21995 : }
21996 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
21997 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
21998 0 : return false;
21999 : }
22000 0 : return true;
22001 : }
22002 :
22003 : static bool
22004 0 : set_gridTemplateAreas(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
22005 : {
22006 0 : binding_detail::FakeString arg0;
22007 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
22008 0 : return false;
22009 : }
22010 0 : binding_detail::FastErrorResult rv;
22011 0 : self->SetGridTemplateAreas(NonNullHelper(Constify(arg0)), rv);
22012 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22013 0 : return false;
22014 : }
22015 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22016 :
22017 0 : return true;
22018 : }
22019 :
22020 : static const JSJitInfo gridTemplateAreas_getterinfo = {
22021 : { (JSJitGetterOp)get_gridTemplateAreas },
22022 : { prototypes::id::CSS2Properties },
22023 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22024 : JSJitInfo::Getter,
22025 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22026 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
22027 : false, /* isInfallible. False in setters. */
22028 : false, /* isMovable. Not relevant for setters. */
22029 : false, /* isEliminatable. Not relevant for setters. */
22030 : false, /* isAlwaysInSlot. Only relevant for getters. */
22031 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22032 : false, /* isTypedMethod. Only relevant for methods. */
22033 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22034 : };
22035 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22036 : static_assert(0 < 1, "There is no slot for us");
22037 : static const JSJitInfo gridTemplateAreas_setterinfo = {
22038 : { (JSJitGetterOp)set_gridTemplateAreas },
22039 : { prototypes::id::CSS2Properties },
22040 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22041 : JSJitInfo::Setter,
22042 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22043 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
22044 : false, /* isInfallible. False in setters. */
22045 : false, /* isMovable. Not relevant for setters. */
22046 : false, /* isEliminatable. Not relevant for setters. */
22047 : false, /* isAlwaysInSlot. Only relevant for getters. */
22048 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22049 : false, /* isTypedMethod. Only relevant for methods. */
22050 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22051 : };
22052 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22053 : static_assert(0 < 1, "There is no slot for us");
22054 :
22055 : static bool
22056 0 : get_grid_template_areas(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
22057 : {
22058 0 : binding_detail::FastErrorResult rv;
22059 0 : DOMString result;
22060 0 : self->GetGridTemplateAreas(result, rv);
22061 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22062 0 : return false;
22063 : }
22064 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22065 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
22066 0 : return false;
22067 : }
22068 0 : return true;
22069 : }
22070 :
22071 : static bool
22072 0 : set_grid_template_areas(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
22073 : {
22074 0 : binding_detail::FakeString arg0;
22075 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
22076 0 : return false;
22077 : }
22078 0 : binding_detail::FastErrorResult rv;
22079 0 : self->SetGridTemplateAreas(NonNullHelper(Constify(arg0)), rv);
22080 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22081 0 : return false;
22082 : }
22083 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22084 :
22085 0 : return true;
22086 : }
22087 :
22088 : static const JSJitInfo grid_template_areas_getterinfo = {
22089 : { (JSJitGetterOp)get_grid_template_areas },
22090 : { prototypes::id::CSS2Properties },
22091 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22092 : JSJitInfo::Getter,
22093 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22094 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
22095 : false, /* isInfallible. False in setters. */
22096 : false, /* isMovable. Not relevant for setters. */
22097 : false, /* isEliminatable. Not relevant for setters. */
22098 : false, /* isAlwaysInSlot. Only relevant for getters. */
22099 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22100 : false, /* isTypedMethod. Only relevant for methods. */
22101 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22102 : };
22103 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22104 : static_assert(0 < 1, "There is no slot for us");
22105 : static const JSJitInfo grid_template_areas_setterinfo = {
22106 : { (JSJitGetterOp)set_grid_template_areas },
22107 : { prototypes::id::CSS2Properties },
22108 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22109 : JSJitInfo::Setter,
22110 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22111 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
22112 : false, /* isInfallible. False in setters. */
22113 : false, /* isMovable. Not relevant for setters. */
22114 : false, /* isEliminatable. Not relevant for setters. */
22115 : false, /* isAlwaysInSlot. Only relevant for getters. */
22116 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22117 : false, /* isTypedMethod. Only relevant for methods. */
22118 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22119 : };
22120 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22121 : static_assert(0 < 1, "There is no slot for us");
22122 :
22123 : static bool
22124 0 : get_gridTemplateColumns(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
22125 : {
22126 0 : binding_detail::FastErrorResult rv;
22127 0 : DOMString result;
22128 0 : self->GetGridTemplateColumns(result, rv);
22129 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22130 0 : return false;
22131 : }
22132 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22133 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
22134 0 : return false;
22135 : }
22136 0 : return true;
22137 : }
22138 :
22139 : static bool
22140 0 : set_gridTemplateColumns(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
22141 : {
22142 0 : binding_detail::FakeString arg0;
22143 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
22144 0 : return false;
22145 : }
22146 0 : binding_detail::FastErrorResult rv;
22147 0 : self->SetGridTemplateColumns(NonNullHelper(Constify(arg0)), rv);
22148 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22149 0 : return false;
22150 : }
22151 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22152 :
22153 0 : return true;
22154 : }
22155 :
22156 : static const JSJitInfo gridTemplateColumns_getterinfo = {
22157 : { (JSJitGetterOp)get_gridTemplateColumns },
22158 : { prototypes::id::CSS2Properties },
22159 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22160 : JSJitInfo::Getter,
22161 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22162 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
22163 : false, /* isInfallible. False in setters. */
22164 : false, /* isMovable. Not relevant for setters. */
22165 : false, /* isEliminatable. Not relevant for setters. */
22166 : false, /* isAlwaysInSlot. Only relevant for getters. */
22167 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22168 : false, /* isTypedMethod. Only relevant for methods. */
22169 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22170 : };
22171 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22172 : static_assert(0 < 1, "There is no slot for us");
22173 : static const JSJitInfo gridTemplateColumns_setterinfo = {
22174 : { (JSJitGetterOp)set_gridTemplateColumns },
22175 : { prototypes::id::CSS2Properties },
22176 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22177 : JSJitInfo::Setter,
22178 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22179 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
22180 : false, /* isInfallible. False in setters. */
22181 : false, /* isMovable. Not relevant for setters. */
22182 : false, /* isEliminatable. Not relevant for setters. */
22183 : false, /* isAlwaysInSlot. Only relevant for getters. */
22184 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22185 : false, /* isTypedMethod. Only relevant for methods. */
22186 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22187 : };
22188 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22189 : static_assert(0 < 1, "There is no slot for us");
22190 :
22191 : static bool
22192 0 : get_grid_template_columns(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
22193 : {
22194 0 : binding_detail::FastErrorResult rv;
22195 0 : DOMString result;
22196 0 : self->GetGridTemplateColumns(result, rv);
22197 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22198 0 : return false;
22199 : }
22200 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22201 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
22202 0 : return false;
22203 : }
22204 0 : return true;
22205 : }
22206 :
22207 : static bool
22208 0 : set_grid_template_columns(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
22209 : {
22210 0 : binding_detail::FakeString arg0;
22211 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
22212 0 : return false;
22213 : }
22214 0 : binding_detail::FastErrorResult rv;
22215 0 : self->SetGridTemplateColumns(NonNullHelper(Constify(arg0)), rv);
22216 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22217 0 : return false;
22218 : }
22219 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22220 :
22221 0 : return true;
22222 : }
22223 :
22224 : static const JSJitInfo grid_template_columns_getterinfo = {
22225 : { (JSJitGetterOp)get_grid_template_columns },
22226 : { prototypes::id::CSS2Properties },
22227 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22228 : JSJitInfo::Getter,
22229 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22230 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
22231 : false, /* isInfallible. False in setters. */
22232 : false, /* isMovable. Not relevant for setters. */
22233 : false, /* isEliminatable. Not relevant for setters. */
22234 : false, /* isAlwaysInSlot. Only relevant for getters. */
22235 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22236 : false, /* isTypedMethod. Only relevant for methods. */
22237 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22238 : };
22239 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22240 : static_assert(0 < 1, "There is no slot for us");
22241 : static const JSJitInfo grid_template_columns_setterinfo = {
22242 : { (JSJitGetterOp)set_grid_template_columns },
22243 : { prototypes::id::CSS2Properties },
22244 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22245 : JSJitInfo::Setter,
22246 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22247 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
22248 : false, /* isInfallible. False in setters. */
22249 : false, /* isMovable. Not relevant for setters. */
22250 : false, /* isEliminatable. Not relevant for setters. */
22251 : false, /* isAlwaysInSlot. Only relevant for getters. */
22252 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22253 : false, /* isTypedMethod. Only relevant for methods. */
22254 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22255 : };
22256 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22257 : static_assert(0 < 1, "There is no slot for us");
22258 :
22259 : static bool
22260 0 : get_gridTemplateRows(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
22261 : {
22262 0 : binding_detail::FastErrorResult rv;
22263 0 : DOMString result;
22264 0 : self->GetGridTemplateRows(result, rv);
22265 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22266 0 : return false;
22267 : }
22268 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22269 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
22270 0 : return false;
22271 : }
22272 0 : return true;
22273 : }
22274 :
22275 : static bool
22276 0 : set_gridTemplateRows(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
22277 : {
22278 0 : binding_detail::FakeString arg0;
22279 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
22280 0 : return false;
22281 : }
22282 0 : binding_detail::FastErrorResult rv;
22283 0 : self->SetGridTemplateRows(NonNullHelper(Constify(arg0)), rv);
22284 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22285 0 : return false;
22286 : }
22287 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22288 :
22289 0 : return true;
22290 : }
22291 :
22292 : static const JSJitInfo gridTemplateRows_getterinfo = {
22293 : { (JSJitGetterOp)get_gridTemplateRows },
22294 : { prototypes::id::CSS2Properties },
22295 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22296 : JSJitInfo::Getter,
22297 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22298 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
22299 : false, /* isInfallible. False in setters. */
22300 : false, /* isMovable. Not relevant for setters. */
22301 : false, /* isEliminatable. Not relevant for setters. */
22302 : false, /* isAlwaysInSlot. Only relevant for getters. */
22303 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22304 : false, /* isTypedMethod. Only relevant for methods. */
22305 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22306 : };
22307 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22308 : static_assert(0 < 1, "There is no slot for us");
22309 : static const JSJitInfo gridTemplateRows_setterinfo = {
22310 : { (JSJitGetterOp)set_gridTemplateRows },
22311 : { prototypes::id::CSS2Properties },
22312 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22313 : JSJitInfo::Setter,
22314 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22315 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
22316 : false, /* isInfallible. False in setters. */
22317 : false, /* isMovable. Not relevant for setters. */
22318 : false, /* isEliminatable. Not relevant for setters. */
22319 : false, /* isAlwaysInSlot. Only relevant for getters. */
22320 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22321 : false, /* isTypedMethod. Only relevant for methods. */
22322 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22323 : };
22324 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22325 : static_assert(0 < 1, "There is no slot for us");
22326 :
22327 : static bool
22328 0 : get_grid_template_rows(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
22329 : {
22330 0 : binding_detail::FastErrorResult rv;
22331 0 : DOMString result;
22332 0 : self->GetGridTemplateRows(result, rv);
22333 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22334 0 : return false;
22335 : }
22336 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22337 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
22338 0 : return false;
22339 : }
22340 0 : return true;
22341 : }
22342 :
22343 : static bool
22344 0 : set_grid_template_rows(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
22345 : {
22346 0 : binding_detail::FakeString arg0;
22347 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
22348 0 : return false;
22349 : }
22350 0 : binding_detail::FastErrorResult rv;
22351 0 : self->SetGridTemplateRows(NonNullHelper(Constify(arg0)), rv);
22352 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22353 0 : return false;
22354 : }
22355 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22356 :
22357 0 : return true;
22358 : }
22359 :
22360 : static const JSJitInfo grid_template_rows_getterinfo = {
22361 : { (JSJitGetterOp)get_grid_template_rows },
22362 : { prototypes::id::CSS2Properties },
22363 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22364 : JSJitInfo::Getter,
22365 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22366 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
22367 : false, /* isInfallible. False in setters. */
22368 : false, /* isMovable. Not relevant for setters. */
22369 : false, /* isEliminatable. Not relevant for setters. */
22370 : false, /* isAlwaysInSlot. Only relevant for getters. */
22371 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22372 : false, /* isTypedMethod. Only relevant for methods. */
22373 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22374 : };
22375 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22376 : static_assert(0 < 1, "There is no slot for us");
22377 : static const JSJitInfo grid_template_rows_setterinfo = {
22378 : { (JSJitGetterOp)set_grid_template_rows },
22379 : { prototypes::id::CSS2Properties },
22380 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22381 : JSJitInfo::Setter,
22382 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22383 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
22384 : false, /* isInfallible. False in setters. */
22385 : false, /* isMovable. Not relevant for setters. */
22386 : false, /* isEliminatable. Not relevant for setters. */
22387 : false, /* isAlwaysInSlot. Only relevant for getters. */
22388 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22389 : false, /* isTypedMethod. Only relevant for methods. */
22390 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22391 : };
22392 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22393 : static_assert(0 < 1, "There is no slot for us");
22394 :
22395 : static bool
22396 0 : get_height(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
22397 : {
22398 0 : binding_detail::FastErrorResult rv;
22399 0 : DOMString result;
22400 0 : self->GetHeight(result, rv);
22401 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22402 0 : return false;
22403 : }
22404 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22405 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
22406 0 : return false;
22407 : }
22408 0 : return true;
22409 : }
22410 :
22411 : static bool
22412 0 : set_height(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
22413 : {
22414 0 : binding_detail::FakeString arg0;
22415 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
22416 0 : return false;
22417 : }
22418 0 : binding_detail::FastErrorResult rv;
22419 0 : self->SetHeight(NonNullHelper(Constify(arg0)), rv);
22420 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22421 0 : return false;
22422 : }
22423 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22424 :
22425 0 : return true;
22426 : }
22427 :
22428 : static const JSJitInfo height_getterinfo = {
22429 : { (JSJitGetterOp)get_height },
22430 : { prototypes::id::CSS2Properties },
22431 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22432 : JSJitInfo::Getter,
22433 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22434 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
22435 : false, /* isInfallible. False in setters. */
22436 : false, /* isMovable. Not relevant for setters. */
22437 : false, /* isEliminatable. Not relevant for setters. */
22438 : false, /* isAlwaysInSlot. Only relevant for getters. */
22439 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22440 : false, /* isTypedMethod. Only relevant for methods. */
22441 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22442 : };
22443 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22444 : static_assert(0 < 1, "There is no slot for us");
22445 : static const JSJitInfo height_setterinfo = {
22446 : { (JSJitGetterOp)set_height },
22447 : { prototypes::id::CSS2Properties },
22448 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22449 : JSJitInfo::Setter,
22450 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22451 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
22452 : false, /* isInfallible. False in setters. */
22453 : false, /* isMovable. Not relevant for setters. */
22454 : false, /* isEliminatable. Not relevant for setters. */
22455 : false, /* isAlwaysInSlot. Only relevant for getters. */
22456 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22457 : false, /* isTypedMethod. Only relevant for methods. */
22458 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22459 : };
22460 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22461 : static_assert(0 < 1, "There is no slot for us");
22462 :
22463 : static bool
22464 0 : get_hyphens(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
22465 : {
22466 0 : binding_detail::FastErrorResult rv;
22467 0 : DOMString result;
22468 0 : self->GetHyphens(result, rv);
22469 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22470 0 : return false;
22471 : }
22472 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22473 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
22474 0 : return false;
22475 : }
22476 0 : return true;
22477 : }
22478 :
22479 : static bool
22480 0 : set_hyphens(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
22481 : {
22482 0 : binding_detail::FakeString arg0;
22483 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
22484 0 : return false;
22485 : }
22486 0 : binding_detail::FastErrorResult rv;
22487 0 : self->SetHyphens(NonNullHelper(Constify(arg0)), rv);
22488 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22489 0 : return false;
22490 : }
22491 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22492 :
22493 0 : return true;
22494 : }
22495 :
22496 : static const JSJitInfo hyphens_getterinfo = {
22497 : { (JSJitGetterOp)get_hyphens },
22498 : { prototypes::id::CSS2Properties },
22499 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22500 : JSJitInfo::Getter,
22501 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22502 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
22503 : false, /* isInfallible. False in setters. */
22504 : false, /* isMovable. Not relevant for setters. */
22505 : false, /* isEliminatable. Not relevant for setters. */
22506 : false, /* isAlwaysInSlot. Only relevant for getters. */
22507 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22508 : false, /* isTypedMethod. Only relevant for methods. */
22509 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22510 : };
22511 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22512 : static_assert(0 < 1, "There is no slot for us");
22513 : static const JSJitInfo hyphens_setterinfo = {
22514 : { (JSJitGetterOp)set_hyphens },
22515 : { prototypes::id::CSS2Properties },
22516 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22517 : JSJitInfo::Setter,
22518 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22519 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
22520 : false, /* isInfallible. False in setters. */
22521 : false, /* isMovable. Not relevant for setters. */
22522 : false, /* isEliminatable. Not relevant for setters. */
22523 : false, /* isAlwaysInSlot. Only relevant for getters. */
22524 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22525 : false, /* isTypedMethod. Only relevant for methods. */
22526 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22527 : };
22528 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22529 : static_assert(0 < 1, "There is no slot for us");
22530 :
22531 : static bool
22532 0 : get_initialLetter(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
22533 : {
22534 0 : binding_detail::FastErrorResult rv;
22535 0 : DOMString result;
22536 0 : self->GetInitialLetter(result, rv);
22537 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22538 0 : return false;
22539 : }
22540 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22541 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
22542 0 : return false;
22543 : }
22544 0 : return true;
22545 : }
22546 :
22547 : static bool
22548 0 : set_initialLetter(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
22549 : {
22550 0 : binding_detail::FakeString arg0;
22551 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
22552 0 : return false;
22553 : }
22554 0 : binding_detail::FastErrorResult rv;
22555 0 : self->SetInitialLetter(NonNullHelper(Constify(arg0)), rv);
22556 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22557 0 : return false;
22558 : }
22559 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22560 :
22561 0 : return true;
22562 : }
22563 :
22564 : static const JSJitInfo initialLetter_getterinfo = {
22565 : { (JSJitGetterOp)get_initialLetter },
22566 : { prototypes::id::CSS2Properties },
22567 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22568 : JSJitInfo::Getter,
22569 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22570 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
22571 : false, /* isInfallible. False in setters. */
22572 : false, /* isMovable. Not relevant for setters. */
22573 : false, /* isEliminatable. Not relevant for setters. */
22574 : false, /* isAlwaysInSlot. Only relevant for getters. */
22575 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22576 : false, /* isTypedMethod. Only relevant for methods. */
22577 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22578 : };
22579 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22580 : static_assert(0 < 1, "There is no slot for us");
22581 : static const JSJitInfo initialLetter_setterinfo = {
22582 : { (JSJitGetterOp)set_initialLetter },
22583 : { prototypes::id::CSS2Properties },
22584 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22585 : JSJitInfo::Setter,
22586 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22587 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
22588 : false, /* isInfallible. False in setters. */
22589 : false, /* isMovable. Not relevant for setters. */
22590 : false, /* isEliminatable. Not relevant for setters. */
22591 : false, /* isAlwaysInSlot. Only relevant for getters. */
22592 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22593 : false, /* isTypedMethod. Only relevant for methods. */
22594 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22595 : };
22596 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22597 : static_assert(0 < 1, "There is no slot for us");
22598 :
22599 : static bool
22600 0 : get_initial_letter(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
22601 : {
22602 0 : binding_detail::FastErrorResult rv;
22603 0 : DOMString result;
22604 0 : self->GetInitialLetter(result, rv);
22605 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22606 0 : return false;
22607 : }
22608 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22609 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
22610 0 : return false;
22611 : }
22612 0 : return true;
22613 : }
22614 :
22615 : static bool
22616 0 : set_initial_letter(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
22617 : {
22618 0 : binding_detail::FakeString arg0;
22619 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
22620 0 : return false;
22621 : }
22622 0 : binding_detail::FastErrorResult rv;
22623 0 : self->SetInitialLetter(NonNullHelper(Constify(arg0)), rv);
22624 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22625 0 : return false;
22626 : }
22627 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22628 :
22629 0 : return true;
22630 : }
22631 :
22632 : static const JSJitInfo initial_letter_getterinfo = {
22633 : { (JSJitGetterOp)get_initial_letter },
22634 : { prototypes::id::CSS2Properties },
22635 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22636 : JSJitInfo::Getter,
22637 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22638 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
22639 : false, /* isInfallible. False in setters. */
22640 : false, /* isMovable. Not relevant for setters. */
22641 : false, /* isEliminatable. Not relevant for setters. */
22642 : false, /* isAlwaysInSlot. Only relevant for getters. */
22643 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22644 : false, /* isTypedMethod. Only relevant for methods. */
22645 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22646 : };
22647 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22648 : static_assert(0 < 1, "There is no slot for us");
22649 : static const JSJitInfo initial_letter_setterinfo = {
22650 : { (JSJitGetterOp)set_initial_letter },
22651 : { prototypes::id::CSS2Properties },
22652 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22653 : JSJitInfo::Setter,
22654 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22655 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
22656 : false, /* isInfallible. False in setters. */
22657 : false, /* isMovable. Not relevant for setters. */
22658 : false, /* isEliminatable. Not relevant for setters. */
22659 : false, /* isAlwaysInSlot. Only relevant for getters. */
22660 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22661 : false, /* isTypedMethod. Only relevant for methods. */
22662 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22663 : };
22664 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22665 : static_assert(0 < 1, "There is no slot for us");
22666 :
22667 : static bool
22668 0 : get_imageOrientation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
22669 : {
22670 0 : binding_detail::FastErrorResult rv;
22671 0 : DOMString result;
22672 0 : self->GetImageOrientation(result, rv);
22673 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22674 0 : return false;
22675 : }
22676 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22677 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
22678 0 : return false;
22679 : }
22680 0 : return true;
22681 : }
22682 :
22683 : static bool
22684 0 : set_imageOrientation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
22685 : {
22686 0 : binding_detail::FakeString arg0;
22687 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
22688 0 : return false;
22689 : }
22690 0 : binding_detail::FastErrorResult rv;
22691 0 : self->SetImageOrientation(NonNullHelper(Constify(arg0)), rv);
22692 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22693 0 : return false;
22694 : }
22695 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22696 :
22697 0 : return true;
22698 : }
22699 :
22700 : static const JSJitInfo imageOrientation_getterinfo = {
22701 : { (JSJitGetterOp)get_imageOrientation },
22702 : { prototypes::id::CSS2Properties },
22703 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22704 : JSJitInfo::Getter,
22705 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22706 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
22707 : false, /* isInfallible. False in setters. */
22708 : false, /* isMovable. Not relevant for setters. */
22709 : false, /* isEliminatable. Not relevant for setters. */
22710 : false, /* isAlwaysInSlot. Only relevant for getters. */
22711 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22712 : false, /* isTypedMethod. Only relevant for methods. */
22713 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22714 : };
22715 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22716 : static_assert(0 < 1, "There is no slot for us");
22717 : static const JSJitInfo imageOrientation_setterinfo = {
22718 : { (JSJitGetterOp)set_imageOrientation },
22719 : { prototypes::id::CSS2Properties },
22720 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22721 : JSJitInfo::Setter,
22722 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22723 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
22724 : false, /* isInfallible. False in setters. */
22725 : false, /* isMovable. Not relevant for setters. */
22726 : false, /* isEliminatable. Not relevant for setters. */
22727 : false, /* isAlwaysInSlot. Only relevant for getters. */
22728 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22729 : false, /* isTypedMethod. Only relevant for methods. */
22730 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22731 : };
22732 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22733 : static_assert(0 < 1, "There is no slot for us");
22734 :
22735 : static bool
22736 0 : get_image_orientation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
22737 : {
22738 0 : binding_detail::FastErrorResult rv;
22739 0 : DOMString result;
22740 0 : self->GetImageOrientation(result, rv);
22741 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22742 0 : return false;
22743 : }
22744 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22745 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
22746 0 : return false;
22747 : }
22748 0 : return true;
22749 : }
22750 :
22751 : static bool
22752 0 : set_image_orientation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
22753 : {
22754 0 : binding_detail::FakeString arg0;
22755 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
22756 0 : return false;
22757 : }
22758 0 : binding_detail::FastErrorResult rv;
22759 0 : self->SetImageOrientation(NonNullHelper(Constify(arg0)), rv);
22760 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22761 0 : return false;
22762 : }
22763 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22764 :
22765 0 : return true;
22766 : }
22767 :
22768 : static const JSJitInfo image_orientation_getterinfo = {
22769 : { (JSJitGetterOp)get_image_orientation },
22770 : { prototypes::id::CSS2Properties },
22771 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22772 : JSJitInfo::Getter,
22773 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22774 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
22775 : false, /* isInfallible. False in setters. */
22776 : false, /* isMovable. Not relevant for setters. */
22777 : false, /* isEliminatable. Not relevant for setters. */
22778 : false, /* isAlwaysInSlot. Only relevant for getters. */
22779 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22780 : false, /* isTypedMethod. Only relevant for methods. */
22781 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22782 : };
22783 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22784 : static_assert(0 < 1, "There is no slot for us");
22785 : static const JSJitInfo image_orientation_setterinfo = {
22786 : { (JSJitGetterOp)set_image_orientation },
22787 : { prototypes::id::CSS2Properties },
22788 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22789 : JSJitInfo::Setter,
22790 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22791 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
22792 : false, /* isInfallible. False in setters. */
22793 : false, /* isMovable. Not relevant for setters. */
22794 : false, /* isEliminatable. Not relevant for setters. */
22795 : false, /* isAlwaysInSlot. Only relevant for getters. */
22796 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22797 : false, /* isTypedMethod. Only relevant for methods. */
22798 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22799 : };
22800 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22801 : static_assert(0 < 1, "There is no slot for us");
22802 :
22803 : static bool
22804 0 : get_MozImageRegion(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
22805 : {
22806 0 : binding_detail::FastErrorResult rv;
22807 0 : DOMString result;
22808 0 : self->GetMozImageRegion(result, rv);
22809 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22810 0 : return false;
22811 : }
22812 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22813 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
22814 0 : return false;
22815 : }
22816 0 : return true;
22817 : }
22818 :
22819 : static bool
22820 0 : set_MozImageRegion(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
22821 : {
22822 0 : binding_detail::FakeString arg0;
22823 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
22824 0 : return false;
22825 : }
22826 0 : binding_detail::FastErrorResult rv;
22827 0 : self->SetMozImageRegion(NonNullHelper(Constify(arg0)), rv);
22828 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22829 0 : return false;
22830 : }
22831 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22832 :
22833 0 : return true;
22834 : }
22835 :
22836 : static const JSJitInfo MozImageRegion_getterinfo = {
22837 : { (JSJitGetterOp)get_MozImageRegion },
22838 : { prototypes::id::CSS2Properties },
22839 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22840 : JSJitInfo::Getter,
22841 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22842 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
22843 : false, /* isInfallible. False in setters. */
22844 : false, /* isMovable. Not relevant for setters. */
22845 : false, /* isEliminatable. Not relevant for setters. */
22846 : false, /* isAlwaysInSlot. Only relevant for getters. */
22847 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22848 : false, /* isTypedMethod. Only relevant for methods. */
22849 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22850 : };
22851 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22852 : static_assert(0 < 1, "There is no slot for us");
22853 : static const JSJitInfo MozImageRegion_setterinfo = {
22854 : { (JSJitGetterOp)set_MozImageRegion },
22855 : { prototypes::id::CSS2Properties },
22856 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22857 : JSJitInfo::Setter,
22858 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22859 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
22860 : false, /* isInfallible. False in setters. */
22861 : false, /* isMovable. Not relevant for setters. */
22862 : false, /* isEliminatable. Not relevant for setters. */
22863 : false, /* isAlwaysInSlot. Only relevant for getters. */
22864 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22865 : false, /* isTypedMethod. Only relevant for methods. */
22866 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22867 : };
22868 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22869 : static_assert(0 < 1, "There is no slot for us");
22870 :
22871 : static bool
22872 0 : get__moz_image_region(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
22873 : {
22874 0 : binding_detail::FastErrorResult rv;
22875 0 : DOMString result;
22876 0 : self->GetMozImageRegion(result, rv);
22877 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22878 0 : return false;
22879 : }
22880 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22881 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
22882 0 : return false;
22883 : }
22884 0 : return true;
22885 : }
22886 :
22887 : static bool
22888 0 : set__moz_image_region(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
22889 : {
22890 0 : binding_detail::FakeString arg0;
22891 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
22892 0 : return false;
22893 : }
22894 0 : binding_detail::FastErrorResult rv;
22895 0 : self->SetMozImageRegion(NonNullHelper(Constify(arg0)), rv);
22896 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22897 0 : return false;
22898 : }
22899 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22900 :
22901 0 : return true;
22902 : }
22903 :
22904 : static const JSJitInfo _moz_image_region_getterinfo = {
22905 : { (JSJitGetterOp)get__moz_image_region },
22906 : { prototypes::id::CSS2Properties },
22907 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22908 : JSJitInfo::Getter,
22909 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22910 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
22911 : false, /* isInfallible. False in setters. */
22912 : false, /* isMovable. Not relevant for setters. */
22913 : false, /* isEliminatable. Not relevant for setters. */
22914 : false, /* isAlwaysInSlot. Only relevant for getters. */
22915 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22916 : false, /* isTypedMethod. Only relevant for methods. */
22917 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22918 : };
22919 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22920 : static_assert(0 < 1, "There is no slot for us");
22921 : static const JSJitInfo _moz_image_region_setterinfo = {
22922 : { (JSJitGetterOp)set__moz_image_region },
22923 : { prototypes::id::CSS2Properties },
22924 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22925 : JSJitInfo::Setter,
22926 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22927 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
22928 : false, /* isInfallible. False in setters. */
22929 : false, /* isMovable. Not relevant for setters. */
22930 : false, /* isEliminatable. Not relevant for setters. */
22931 : false, /* isAlwaysInSlot. Only relevant for getters. */
22932 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22933 : false, /* isTypedMethod. Only relevant for methods. */
22934 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22935 : };
22936 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22937 : static_assert(0 < 1, "There is no slot for us");
22938 :
22939 : static bool
22940 0 : get_imageRendering(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
22941 : {
22942 0 : binding_detail::FastErrorResult rv;
22943 0 : DOMString result;
22944 0 : self->GetImageRendering(result, rv);
22945 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22946 0 : return false;
22947 : }
22948 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22949 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
22950 0 : return false;
22951 : }
22952 0 : return true;
22953 : }
22954 :
22955 : static bool
22956 0 : set_imageRendering(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
22957 : {
22958 0 : binding_detail::FakeString arg0;
22959 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
22960 0 : return false;
22961 : }
22962 0 : binding_detail::FastErrorResult rv;
22963 0 : self->SetImageRendering(NonNullHelper(Constify(arg0)), rv);
22964 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
22965 0 : return false;
22966 : }
22967 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
22968 :
22969 0 : return true;
22970 : }
22971 :
22972 : static const JSJitInfo imageRendering_getterinfo = {
22973 : { (JSJitGetterOp)get_imageRendering },
22974 : { prototypes::id::CSS2Properties },
22975 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22976 : JSJitInfo::Getter,
22977 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22978 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
22979 : false, /* isInfallible. False in setters. */
22980 : false, /* isMovable. Not relevant for setters. */
22981 : false, /* isEliminatable. Not relevant for setters. */
22982 : false, /* isAlwaysInSlot. Only relevant for getters. */
22983 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
22984 : false, /* isTypedMethod. Only relevant for methods. */
22985 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
22986 : };
22987 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
22988 : static_assert(0 < 1, "There is no slot for us");
22989 : static const JSJitInfo imageRendering_setterinfo = {
22990 : { (JSJitGetterOp)set_imageRendering },
22991 : { prototypes::id::CSS2Properties },
22992 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
22993 : JSJitInfo::Setter,
22994 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
22995 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
22996 : false, /* isInfallible. False in setters. */
22997 : false, /* isMovable. Not relevant for setters. */
22998 : false, /* isEliminatable. Not relevant for setters. */
22999 : false, /* isAlwaysInSlot. Only relevant for getters. */
23000 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23001 : false, /* isTypedMethod. Only relevant for methods. */
23002 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23003 : };
23004 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23005 : static_assert(0 < 1, "There is no slot for us");
23006 :
23007 : static bool
23008 0 : get_image_rendering(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
23009 : {
23010 0 : binding_detail::FastErrorResult rv;
23011 0 : DOMString result;
23012 0 : self->GetImageRendering(result, rv);
23013 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23014 0 : return false;
23015 : }
23016 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23017 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
23018 0 : return false;
23019 : }
23020 0 : return true;
23021 : }
23022 :
23023 : static bool
23024 0 : set_image_rendering(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
23025 : {
23026 0 : binding_detail::FakeString arg0;
23027 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
23028 0 : return false;
23029 : }
23030 0 : binding_detail::FastErrorResult rv;
23031 0 : self->SetImageRendering(NonNullHelper(Constify(arg0)), rv);
23032 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23033 0 : return false;
23034 : }
23035 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23036 :
23037 0 : return true;
23038 : }
23039 :
23040 : static const JSJitInfo image_rendering_getterinfo = {
23041 : { (JSJitGetterOp)get_image_rendering },
23042 : { prototypes::id::CSS2Properties },
23043 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23044 : JSJitInfo::Getter,
23045 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23046 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
23047 : false, /* isInfallible. False in setters. */
23048 : false, /* isMovable. Not relevant for setters. */
23049 : false, /* isEliminatable. Not relevant for setters. */
23050 : false, /* isAlwaysInSlot. Only relevant for getters. */
23051 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23052 : false, /* isTypedMethod. Only relevant for methods. */
23053 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23054 : };
23055 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23056 : static_assert(0 < 1, "There is no slot for us");
23057 : static const JSJitInfo image_rendering_setterinfo = {
23058 : { (JSJitGetterOp)set_image_rendering },
23059 : { prototypes::id::CSS2Properties },
23060 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23061 : JSJitInfo::Setter,
23062 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23063 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
23064 : false, /* isInfallible. False in setters. */
23065 : false, /* isMovable. Not relevant for setters. */
23066 : false, /* isEliminatable. Not relevant for setters. */
23067 : false, /* isAlwaysInSlot. Only relevant for getters. */
23068 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23069 : false, /* isTypedMethod. Only relevant for methods. */
23070 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23071 : };
23072 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23073 : static_assert(0 < 1, "There is no slot for us");
23074 :
23075 : static bool
23076 0 : get_imeMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
23077 : {
23078 0 : binding_detail::FastErrorResult rv;
23079 0 : DOMString result;
23080 0 : self->GetImeMode(result, rv);
23081 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23082 0 : return false;
23083 : }
23084 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23085 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
23086 0 : return false;
23087 : }
23088 0 : return true;
23089 : }
23090 :
23091 : static bool
23092 0 : set_imeMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
23093 : {
23094 0 : binding_detail::FakeString arg0;
23095 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
23096 0 : return false;
23097 : }
23098 0 : binding_detail::FastErrorResult rv;
23099 0 : self->SetImeMode(NonNullHelper(Constify(arg0)), rv);
23100 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23101 0 : return false;
23102 : }
23103 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23104 :
23105 0 : return true;
23106 : }
23107 :
23108 : static const JSJitInfo imeMode_getterinfo = {
23109 : { (JSJitGetterOp)get_imeMode },
23110 : { prototypes::id::CSS2Properties },
23111 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23112 : JSJitInfo::Getter,
23113 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23114 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
23115 : false, /* isInfallible. False in setters. */
23116 : false, /* isMovable. Not relevant for setters. */
23117 : false, /* isEliminatable. Not relevant for setters. */
23118 : false, /* isAlwaysInSlot. Only relevant for getters. */
23119 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23120 : false, /* isTypedMethod. Only relevant for methods. */
23121 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23122 : };
23123 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23124 : static_assert(0 < 1, "There is no slot for us");
23125 : static const JSJitInfo imeMode_setterinfo = {
23126 : { (JSJitGetterOp)set_imeMode },
23127 : { prototypes::id::CSS2Properties },
23128 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23129 : JSJitInfo::Setter,
23130 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23131 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
23132 : false, /* isInfallible. False in setters. */
23133 : false, /* isMovable. Not relevant for setters. */
23134 : false, /* isEliminatable. Not relevant for setters. */
23135 : false, /* isAlwaysInSlot. Only relevant for getters. */
23136 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23137 : false, /* isTypedMethod. Only relevant for methods. */
23138 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23139 : };
23140 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23141 : static_assert(0 < 1, "There is no slot for us");
23142 :
23143 : static bool
23144 0 : get_ime_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
23145 : {
23146 0 : binding_detail::FastErrorResult rv;
23147 0 : DOMString result;
23148 0 : self->GetImeMode(result, rv);
23149 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23150 0 : return false;
23151 : }
23152 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23153 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
23154 0 : return false;
23155 : }
23156 0 : return true;
23157 : }
23158 :
23159 : static bool
23160 0 : set_ime_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
23161 : {
23162 0 : binding_detail::FakeString arg0;
23163 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
23164 0 : return false;
23165 : }
23166 0 : binding_detail::FastErrorResult rv;
23167 0 : self->SetImeMode(NonNullHelper(Constify(arg0)), rv);
23168 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23169 0 : return false;
23170 : }
23171 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23172 :
23173 0 : return true;
23174 : }
23175 :
23176 : static const JSJitInfo ime_mode_getterinfo = {
23177 : { (JSJitGetterOp)get_ime_mode },
23178 : { prototypes::id::CSS2Properties },
23179 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23180 : JSJitInfo::Getter,
23181 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23182 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
23183 : false, /* isInfallible. False in setters. */
23184 : false, /* isMovable. Not relevant for setters. */
23185 : false, /* isEliminatable. Not relevant for setters. */
23186 : false, /* isAlwaysInSlot. Only relevant for getters. */
23187 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23188 : false, /* isTypedMethod. Only relevant for methods. */
23189 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23190 : };
23191 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23192 : static_assert(0 < 1, "There is no slot for us");
23193 : static const JSJitInfo ime_mode_setterinfo = {
23194 : { (JSJitGetterOp)set_ime_mode },
23195 : { prototypes::id::CSS2Properties },
23196 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23197 : JSJitInfo::Setter,
23198 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23199 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
23200 : false, /* isInfallible. False in setters. */
23201 : false, /* isMovable. Not relevant for setters. */
23202 : false, /* isEliminatable. Not relevant for setters. */
23203 : false, /* isAlwaysInSlot. Only relevant for getters. */
23204 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23205 : false, /* isTypedMethod. Only relevant for methods. */
23206 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23207 : };
23208 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23209 : static_assert(0 < 1, "There is no slot for us");
23210 :
23211 : static bool
23212 0 : get_inlineSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
23213 : {
23214 0 : binding_detail::FastErrorResult rv;
23215 0 : DOMString result;
23216 0 : self->GetInlineSize(result, rv);
23217 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23218 0 : return false;
23219 : }
23220 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23221 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
23222 0 : return false;
23223 : }
23224 0 : return true;
23225 : }
23226 :
23227 : static bool
23228 0 : set_inlineSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
23229 : {
23230 0 : binding_detail::FakeString arg0;
23231 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
23232 0 : return false;
23233 : }
23234 0 : binding_detail::FastErrorResult rv;
23235 0 : self->SetInlineSize(NonNullHelper(Constify(arg0)), rv);
23236 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23237 0 : return false;
23238 : }
23239 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23240 :
23241 0 : return true;
23242 : }
23243 :
23244 : static const JSJitInfo inlineSize_getterinfo = {
23245 : { (JSJitGetterOp)get_inlineSize },
23246 : { prototypes::id::CSS2Properties },
23247 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23248 : JSJitInfo::Getter,
23249 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23250 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
23251 : false, /* isInfallible. False in setters. */
23252 : false, /* isMovable. Not relevant for setters. */
23253 : false, /* isEliminatable. Not relevant for setters. */
23254 : false, /* isAlwaysInSlot. Only relevant for getters. */
23255 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23256 : false, /* isTypedMethod. Only relevant for methods. */
23257 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23258 : };
23259 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23260 : static_assert(0 < 1, "There is no slot for us");
23261 : static const JSJitInfo inlineSize_setterinfo = {
23262 : { (JSJitGetterOp)set_inlineSize },
23263 : { prototypes::id::CSS2Properties },
23264 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23265 : JSJitInfo::Setter,
23266 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23267 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
23268 : false, /* isInfallible. False in setters. */
23269 : false, /* isMovable. Not relevant for setters. */
23270 : false, /* isEliminatable. Not relevant for setters. */
23271 : false, /* isAlwaysInSlot. Only relevant for getters. */
23272 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23273 : false, /* isTypedMethod. Only relevant for methods. */
23274 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23275 : };
23276 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23277 : static_assert(0 < 1, "There is no slot for us");
23278 :
23279 : static bool
23280 0 : get_inline_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
23281 : {
23282 0 : binding_detail::FastErrorResult rv;
23283 0 : DOMString result;
23284 0 : self->GetInlineSize(result, rv);
23285 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23286 0 : return false;
23287 : }
23288 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23289 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
23290 0 : return false;
23291 : }
23292 0 : return true;
23293 : }
23294 :
23295 : static bool
23296 0 : set_inline_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
23297 : {
23298 0 : binding_detail::FakeString arg0;
23299 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
23300 0 : return false;
23301 : }
23302 0 : binding_detail::FastErrorResult rv;
23303 0 : self->SetInlineSize(NonNullHelper(Constify(arg0)), rv);
23304 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23305 0 : return false;
23306 : }
23307 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23308 :
23309 0 : return true;
23310 : }
23311 :
23312 : static const JSJitInfo inline_size_getterinfo = {
23313 : { (JSJitGetterOp)get_inline_size },
23314 : { prototypes::id::CSS2Properties },
23315 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23316 : JSJitInfo::Getter,
23317 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23318 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
23319 : false, /* isInfallible. False in setters. */
23320 : false, /* isMovable. Not relevant for setters. */
23321 : false, /* isEliminatable. Not relevant for setters. */
23322 : false, /* isAlwaysInSlot. Only relevant for getters. */
23323 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23324 : false, /* isTypedMethod. Only relevant for methods. */
23325 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23326 : };
23327 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23328 : static_assert(0 < 1, "There is no slot for us");
23329 : static const JSJitInfo inline_size_setterinfo = {
23330 : { (JSJitGetterOp)set_inline_size },
23331 : { prototypes::id::CSS2Properties },
23332 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23333 : JSJitInfo::Setter,
23334 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23335 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
23336 : false, /* isInfallible. False in setters. */
23337 : false, /* isMovable. Not relevant for setters. */
23338 : false, /* isEliminatable. Not relevant for setters. */
23339 : false, /* isAlwaysInSlot. Only relevant for getters. */
23340 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23341 : false, /* isTypedMethod. Only relevant for methods. */
23342 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23343 : };
23344 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23345 : static_assert(0 < 1, "There is no slot for us");
23346 :
23347 : static bool
23348 0 : get_isolation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
23349 : {
23350 0 : binding_detail::FastErrorResult rv;
23351 0 : DOMString result;
23352 0 : self->GetIsolation(result, rv);
23353 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23354 0 : return false;
23355 : }
23356 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23357 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
23358 0 : return false;
23359 : }
23360 0 : return true;
23361 : }
23362 :
23363 : static bool
23364 0 : set_isolation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
23365 : {
23366 0 : binding_detail::FakeString arg0;
23367 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
23368 0 : return false;
23369 : }
23370 0 : binding_detail::FastErrorResult rv;
23371 0 : self->SetIsolation(NonNullHelper(Constify(arg0)), rv);
23372 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23373 0 : return false;
23374 : }
23375 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23376 :
23377 0 : return true;
23378 : }
23379 :
23380 : static const JSJitInfo isolation_getterinfo = {
23381 : { (JSJitGetterOp)get_isolation },
23382 : { prototypes::id::CSS2Properties },
23383 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23384 : JSJitInfo::Getter,
23385 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23386 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
23387 : false, /* isInfallible. False in setters. */
23388 : false, /* isMovable. Not relevant for setters. */
23389 : false, /* isEliminatable. Not relevant for setters. */
23390 : false, /* isAlwaysInSlot. Only relevant for getters. */
23391 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23392 : false, /* isTypedMethod. Only relevant for methods. */
23393 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23394 : };
23395 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23396 : static_assert(0 < 1, "There is no slot for us");
23397 : static const JSJitInfo isolation_setterinfo = {
23398 : { (JSJitGetterOp)set_isolation },
23399 : { prototypes::id::CSS2Properties },
23400 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23401 : JSJitInfo::Setter,
23402 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23403 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
23404 : false, /* isInfallible. False in setters. */
23405 : false, /* isMovable. Not relevant for setters. */
23406 : false, /* isEliminatable. Not relevant for setters. */
23407 : false, /* isAlwaysInSlot. Only relevant for getters. */
23408 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23409 : false, /* isTypedMethod. Only relevant for methods. */
23410 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23411 : };
23412 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23413 : static_assert(0 < 1, "There is no slot for us");
23414 :
23415 : static bool
23416 0 : get_justifyContent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
23417 : {
23418 0 : binding_detail::FastErrorResult rv;
23419 0 : DOMString result;
23420 0 : self->GetJustifyContent(result, rv);
23421 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23422 0 : return false;
23423 : }
23424 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23425 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
23426 0 : return false;
23427 : }
23428 0 : return true;
23429 : }
23430 :
23431 : static bool
23432 0 : set_justifyContent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
23433 : {
23434 0 : binding_detail::FakeString arg0;
23435 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
23436 0 : return false;
23437 : }
23438 0 : binding_detail::FastErrorResult rv;
23439 0 : self->SetJustifyContent(NonNullHelper(Constify(arg0)), rv);
23440 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23441 0 : return false;
23442 : }
23443 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23444 :
23445 0 : return true;
23446 : }
23447 :
23448 : static const JSJitInfo justifyContent_getterinfo = {
23449 : { (JSJitGetterOp)get_justifyContent },
23450 : { prototypes::id::CSS2Properties },
23451 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23452 : JSJitInfo::Getter,
23453 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23454 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
23455 : false, /* isInfallible. False in setters. */
23456 : false, /* isMovable. Not relevant for setters. */
23457 : false, /* isEliminatable. Not relevant for setters. */
23458 : false, /* isAlwaysInSlot. Only relevant for getters. */
23459 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23460 : false, /* isTypedMethod. Only relevant for methods. */
23461 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23462 : };
23463 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23464 : static_assert(0 < 1, "There is no slot for us");
23465 : static const JSJitInfo justifyContent_setterinfo = {
23466 : { (JSJitGetterOp)set_justifyContent },
23467 : { prototypes::id::CSS2Properties },
23468 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23469 : JSJitInfo::Setter,
23470 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23471 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
23472 : false, /* isInfallible. False in setters. */
23473 : false, /* isMovable. Not relevant for setters. */
23474 : false, /* isEliminatable. Not relevant for setters. */
23475 : false, /* isAlwaysInSlot. Only relevant for getters. */
23476 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23477 : false, /* isTypedMethod. Only relevant for methods. */
23478 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23479 : };
23480 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23481 : static_assert(0 < 1, "There is no slot for us");
23482 :
23483 : static bool
23484 0 : get_justify_content(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
23485 : {
23486 0 : binding_detail::FastErrorResult rv;
23487 0 : DOMString result;
23488 0 : self->GetJustifyContent(result, rv);
23489 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23490 0 : return false;
23491 : }
23492 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23493 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
23494 0 : return false;
23495 : }
23496 0 : return true;
23497 : }
23498 :
23499 : static bool
23500 0 : set_justify_content(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
23501 : {
23502 0 : binding_detail::FakeString arg0;
23503 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
23504 0 : return false;
23505 : }
23506 0 : binding_detail::FastErrorResult rv;
23507 0 : self->SetJustifyContent(NonNullHelper(Constify(arg0)), rv);
23508 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23509 0 : return false;
23510 : }
23511 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23512 :
23513 0 : return true;
23514 : }
23515 :
23516 : static const JSJitInfo justify_content_getterinfo = {
23517 : { (JSJitGetterOp)get_justify_content },
23518 : { prototypes::id::CSS2Properties },
23519 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23520 : JSJitInfo::Getter,
23521 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23522 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
23523 : false, /* isInfallible. False in setters. */
23524 : false, /* isMovable. Not relevant for setters. */
23525 : false, /* isEliminatable. Not relevant for setters. */
23526 : false, /* isAlwaysInSlot. Only relevant for getters. */
23527 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23528 : false, /* isTypedMethod. Only relevant for methods. */
23529 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23530 : };
23531 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23532 : static_assert(0 < 1, "There is no slot for us");
23533 : static const JSJitInfo justify_content_setterinfo = {
23534 : { (JSJitGetterOp)set_justify_content },
23535 : { prototypes::id::CSS2Properties },
23536 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23537 : JSJitInfo::Setter,
23538 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23539 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
23540 : false, /* isInfallible. False in setters. */
23541 : false, /* isMovable. Not relevant for setters. */
23542 : false, /* isEliminatable. Not relevant for setters. */
23543 : false, /* isAlwaysInSlot. Only relevant for getters. */
23544 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23545 : false, /* isTypedMethod. Only relevant for methods. */
23546 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23547 : };
23548 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23549 : static_assert(0 < 1, "There is no slot for us");
23550 :
23551 : static bool
23552 0 : get_justifyItems(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
23553 : {
23554 0 : binding_detail::FastErrorResult rv;
23555 0 : DOMString result;
23556 0 : self->GetJustifyItems(result, rv);
23557 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23558 0 : return false;
23559 : }
23560 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23561 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
23562 0 : return false;
23563 : }
23564 0 : return true;
23565 : }
23566 :
23567 : static bool
23568 0 : set_justifyItems(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
23569 : {
23570 0 : binding_detail::FakeString arg0;
23571 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
23572 0 : return false;
23573 : }
23574 0 : binding_detail::FastErrorResult rv;
23575 0 : self->SetJustifyItems(NonNullHelper(Constify(arg0)), rv);
23576 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23577 0 : return false;
23578 : }
23579 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23580 :
23581 0 : return true;
23582 : }
23583 :
23584 : static const JSJitInfo justifyItems_getterinfo = {
23585 : { (JSJitGetterOp)get_justifyItems },
23586 : { prototypes::id::CSS2Properties },
23587 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23588 : JSJitInfo::Getter,
23589 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23590 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
23591 : false, /* isInfallible. False in setters. */
23592 : false, /* isMovable. Not relevant for setters. */
23593 : false, /* isEliminatable. Not relevant for setters. */
23594 : false, /* isAlwaysInSlot. Only relevant for getters. */
23595 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23596 : false, /* isTypedMethod. Only relevant for methods. */
23597 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23598 : };
23599 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23600 : static_assert(0 < 1, "There is no slot for us");
23601 : static const JSJitInfo justifyItems_setterinfo = {
23602 : { (JSJitGetterOp)set_justifyItems },
23603 : { prototypes::id::CSS2Properties },
23604 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23605 : JSJitInfo::Setter,
23606 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23607 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
23608 : false, /* isInfallible. False in setters. */
23609 : false, /* isMovable. Not relevant for setters. */
23610 : false, /* isEliminatable. Not relevant for setters. */
23611 : false, /* isAlwaysInSlot. Only relevant for getters. */
23612 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23613 : false, /* isTypedMethod. Only relevant for methods. */
23614 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23615 : };
23616 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23617 : static_assert(0 < 1, "There is no slot for us");
23618 :
23619 : static bool
23620 0 : get_justify_items(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
23621 : {
23622 0 : binding_detail::FastErrorResult rv;
23623 0 : DOMString result;
23624 0 : self->GetJustifyItems(result, rv);
23625 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23626 0 : return false;
23627 : }
23628 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23629 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
23630 0 : return false;
23631 : }
23632 0 : return true;
23633 : }
23634 :
23635 : static bool
23636 0 : set_justify_items(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
23637 : {
23638 0 : binding_detail::FakeString arg0;
23639 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
23640 0 : return false;
23641 : }
23642 0 : binding_detail::FastErrorResult rv;
23643 0 : self->SetJustifyItems(NonNullHelper(Constify(arg0)), rv);
23644 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23645 0 : return false;
23646 : }
23647 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23648 :
23649 0 : return true;
23650 : }
23651 :
23652 : static const JSJitInfo justify_items_getterinfo = {
23653 : { (JSJitGetterOp)get_justify_items },
23654 : { prototypes::id::CSS2Properties },
23655 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23656 : JSJitInfo::Getter,
23657 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23658 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
23659 : false, /* isInfallible. False in setters. */
23660 : false, /* isMovable. Not relevant for setters. */
23661 : false, /* isEliminatable. Not relevant for setters. */
23662 : false, /* isAlwaysInSlot. Only relevant for getters. */
23663 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23664 : false, /* isTypedMethod. Only relevant for methods. */
23665 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23666 : };
23667 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23668 : static_assert(0 < 1, "There is no slot for us");
23669 : static const JSJitInfo justify_items_setterinfo = {
23670 : { (JSJitGetterOp)set_justify_items },
23671 : { prototypes::id::CSS2Properties },
23672 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23673 : JSJitInfo::Setter,
23674 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23675 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
23676 : false, /* isInfallible. False in setters. */
23677 : false, /* isMovable. Not relevant for setters. */
23678 : false, /* isEliminatable. Not relevant for setters. */
23679 : false, /* isAlwaysInSlot. Only relevant for getters. */
23680 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23681 : false, /* isTypedMethod. Only relevant for methods. */
23682 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23683 : };
23684 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23685 : static_assert(0 < 1, "There is no slot for us");
23686 :
23687 : static bool
23688 0 : get_justifySelf(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
23689 : {
23690 0 : binding_detail::FastErrorResult rv;
23691 0 : DOMString result;
23692 0 : self->GetJustifySelf(result, rv);
23693 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23694 0 : return false;
23695 : }
23696 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23697 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
23698 0 : return false;
23699 : }
23700 0 : return true;
23701 : }
23702 :
23703 : static bool
23704 0 : set_justifySelf(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
23705 : {
23706 0 : binding_detail::FakeString arg0;
23707 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
23708 0 : return false;
23709 : }
23710 0 : binding_detail::FastErrorResult rv;
23711 0 : self->SetJustifySelf(NonNullHelper(Constify(arg0)), rv);
23712 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23713 0 : return false;
23714 : }
23715 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23716 :
23717 0 : return true;
23718 : }
23719 :
23720 : static const JSJitInfo justifySelf_getterinfo = {
23721 : { (JSJitGetterOp)get_justifySelf },
23722 : { prototypes::id::CSS2Properties },
23723 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23724 : JSJitInfo::Getter,
23725 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23726 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
23727 : false, /* isInfallible. False in setters. */
23728 : false, /* isMovable. Not relevant for setters. */
23729 : false, /* isEliminatable. Not relevant for setters. */
23730 : false, /* isAlwaysInSlot. Only relevant for getters. */
23731 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23732 : false, /* isTypedMethod. Only relevant for methods. */
23733 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23734 : };
23735 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23736 : static_assert(0 < 1, "There is no slot for us");
23737 : static const JSJitInfo justifySelf_setterinfo = {
23738 : { (JSJitGetterOp)set_justifySelf },
23739 : { prototypes::id::CSS2Properties },
23740 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23741 : JSJitInfo::Setter,
23742 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23743 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
23744 : false, /* isInfallible. False in setters. */
23745 : false, /* isMovable. Not relevant for setters. */
23746 : false, /* isEliminatable. Not relevant for setters. */
23747 : false, /* isAlwaysInSlot. Only relevant for getters. */
23748 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23749 : false, /* isTypedMethod. Only relevant for methods. */
23750 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23751 : };
23752 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23753 : static_assert(0 < 1, "There is no slot for us");
23754 :
23755 : static bool
23756 0 : get_justify_self(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
23757 : {
23758 0 : binding_detail::FastErrorResult rv;
23759 0 : DOMString result;
23760 0 : self->GetJustifySelf(result, rv);
23761 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23762 0 : return false;
23763 : }
23764 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23765 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
23766 0 : return false;
23767 : }
23768 0 : return true;
23769 : }
23770 :
23771 : static bool
23772 0 : set_justify_self(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
23773 : {
23774 0 : binding_detail::FakeString arg0;
23775 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
23776 0 : return false;
23777 : }
23778 0 : binding_detail::FastErrorResult rv;
23779 0 : self->SetJustifySelf(NonNullHelper(Constify(arg0)), rv);
23780 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23781 0 : return false;
23782 : }
23783 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23784 :
23785 0 : return true;
23786 : }
23787 :
23788 : static const JSJitInfo justify_self_getterinfo = {
23789 : { (JSJitGetterOp)get_justify_self },
23790 : { prototypes::id::CSS2Properties },
23791 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23792 : JSJitInfo::Getter,
23793 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23794 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
23795 : false, /* isInfallible. False in setters. */
23796 : false, /* isMovable. Not relevant for setters. */
23797 : false, /* isEliminatable. Not relevant for setters. */
23798 : false, /* isAlwaysInSlot. Only relevant for getters. */
23799 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23800 : false, /* isTypedMethod. Only relevant for methods. */
23801 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23802 : };
23803 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23804 : static_assert(0 < 1, "There is no slot for us");
23805 : static const JSJitInfo justify_self_setterinfo = {
23806 : { (JSJitGetterOp)set_justify_self },
23807 : { prototypes::id::CSS2Properties },
23808 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23809 : JSJitInfo::Setter,
23810 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23811 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
23812 : false, /* isInfallible. False in setters. */
23813 : false, /* isMovable. Not relevant for setters. */
23814 : false, /* isEliminatable. Not relevant for setters. */
23815 : false, /* isAlwaysInSlot. Only relevant for getters. */
23816 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23817 : false, /* isTypedMethod. Only relevant for methods. */
23818 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23819 : };
23820 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23821 : static_assert(0 < 1, "There is no slot for us");
23822 :
23823 : static bool
23824 0 : get_left(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
23825 : {
23826 0 : binding_detail::FastErrorResult rv;
23827 0 : DOMString result;
23828 0 : self->GetLeft(result, rv);
23829 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23830 0 : return false;
23831 : }
23832 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23833 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
23834 0 : return false;
23835 : }
23836 0 : return true;
23837 : }
23838 :
23839 : static bool
23840 0 : set_left(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
23841 : {
23842 0 : binding_detail::FakeString arg0;
23843 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
23844 0 : return false;
23845 : }
23846 0 : binding_detail::FastErrorResult rv;
23847 0 : self->SetLeft(NonNullHelper(Constify(arg0)), rv);
23848 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23849 0 : return false;
23850 : }
23851 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23852 :
23853 0 : return true;
23854 : }
23855 :
23856 : static const JSJitInfo left_getterinfo = {
23857 : { (JSJitGetterOp)get_left },
23858 : { prototypes::id::CSS2Properties },
23859 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23860 : JSJitInfo::Getter,
23861 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23862 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
23863 : false, /* isInfallible. False in setters. */
23864 : false, /* isMovable. Not relevant for setters. */
23865 : false, /* isEliminatable. Not relevant for setters. */
23866 : false, /* isAlwaysInSlot. Only relevant for getters. */
23867 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23868 : false, /* isTypedMethod. Only relevant for methods. */
23869 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23870 : };
23871 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23872 : static_assert(0 < 1, "There is no slot for us");
23873 : static const JSJitInfo left_setterinfo = {
23874 : { (JSJitGetterOp)set_left },
23875 : { prototypes::id::CSS2Properties },
23876 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23877 : JSJitInfo::Setter,
23878 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23879 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
23880 : false, /* isInfallible. False in setters. */
23881 : false, /* isMovable. Not relevant for setters. */
23882 : false, /* isEliminatable. Not relevant for setters. */
23883 : false, /* isAlwaysInSlot. Only relevant for getters. */
23884 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23885 : false, /* isTypedMethod. Only relevant for methods. */
23886 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23887 : };
23888 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23889 : static_assert(0 < 1, "There is no slot for us");
23890 :
23891 : static bool
23892 0 : get_letterSpacing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
23893 : {
23894 0 : binding_detail::FastErrorResult rv;
23895 0 : DOMString result;
23896 0 : self->GetLetterSpacing(result, rv);
23897 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23898 0 : return false;
23899 : }
23900 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23901 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
23902 0 : return false;
23903 : }
23904 0 : return true;
23905 : }
23906 :
23907 : static bool
23908 0 : set_letterSpacing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
23909 : {
23910 0 : binding_detail::FakeString arg0;
23911 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
23912 0 : return false;
23913 : }
23914 0 : binding_detail::FastErrorResult rv;
23915 0 : self->SetLetterSpacing(NonNullHelper(Constify(arg0)), rv);
23916 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23917 0 : return false;
23918 : }
23919 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23920 :
23921 0 : return true;
23922 : }
23923 :
23924 : static const JSJitInfo letterSpacing_getterinfo = {
23925 : { (JSJitGetterOp)get_letterSpacing },
23926 : { prototypes::id::CSS2Properties },
23927 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23928 : JSJitInfo::Getter,
23929 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23930 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
23931 : false, /* isInfallible. False in setters. */
23932 : false, /* isMovable. Not relevant for setters. */
23933 : false, /* isEliminatable. Not relevant for setters. */
23934 : false, /* isAlwaysInSlot. Only relevant for getters. */
23935 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23936 : false, /* isTypedMethod. Only relevant for methods. */
23937 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23938 : };
23939 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23940 : static_assert(0 < 1, "There is no slot for us");
23941 : static const JSJitInfo letterSpacing_setterinfo = {
23942 : { (JSJitGetterOp)set_letterSpacing },
23943 : { prototypes::id::CSS2Properties },
23944 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23945 : JSJitInfo::Setter,
23946 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23947 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
23948 : false, /* isInfallible. False in setters. */
23949 : false, /* isMovable. Not relevant for setters. */
23950 : false, /* isEliminatable. Not relevant for setters. */
23951 : false, /* isAlwaysInSlot. Only relevant for getters. */
23952 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
23953 : false, /* isTypedMethod. Only relevant for methods. */
23954 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
23955 : };
23956 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
23957 : static_assert(0 < 1, "There is no slot for us");
23958 :
23959 : static bool
23960 0 : get_letter_spacing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
23961 : {
23962 0 : binding_detail::FastErrorResult rv;
23963 0 : DOMString result;
23964 0 : self->GetLetterSpacing(result, rv);
23965 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23966 0 : return false;
23967 : }
23968 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23969 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
23970 0 : return false;
23971 : }
23972 0 : return true;
23973 : }
23974 :
23975 : static bool
23976 0 : set_letter_spacing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
23977 : {
23978 0 : binding_detail::FakeString arg0;
23979 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
23980 0 : return false;
23981 : }
23982 0 : binding_detail::FastErrorResult rv;
23983 0 : self->SetLetterSpacing(NonNullHelper(Constify(arg0)), rv);
23984 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
23985 0 : return false;
23986 : }
23987 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
23988 :
23989 0 : return true;
23990 : }
23991 :
23992 : static const JSJitInfo letter_spacing_getterinfo = {
23993 : { (JSJitGetterOp)get_letter_spacing },
23994 : { prototypes::id::CSS2Properties },
23995 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
23996 : JSJitInfo::Getter,
23997 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
23998 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
23999 : false, /* isInfallible. False in setters. */
24000 : false, /* isMovable. Not relevant for setters. */
24001 : false, /* isEliminatable. Not relevant for setters. */
24002 : false, /* isAlwaysInSlot. Only relevant for getters. */
24003 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24004 : false, /* isTypedMethod. Only relevant for methods. */
24005 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24006 : };
24007 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24008 : static_assert(0 < 1, "There is no slot for us");
24009 : static const JSJitInfo letter_spacing_setterinfo = {
24010 : { (JSJitGetterOp)set_letter_spacing },
24011 : { prototypes::id::CSS2Properties },
24012 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24013 : JSJitInfo::Setter,
24014 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24015 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
24016 : false, /* isInfallible. False in setters. */
24017 : false, /* isMovable. Not relevant for setters. */
24018 : false, /* isEliminatable. Not relevant for setters. */
24019 : false, /* isAlwaysInSlot. Only relevant for getters. */
24020 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24021 : false, /* isTypedMethod. Only relevant for methods. */
24022 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24023 : };
24024 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24025 : static_assert(0 < 1, "There is no slot for us");
24026 :
24027 : static bool
24028 0 : get_lightingColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
24029 : {
24030 0 : binding_detail::FastErrorResult rv;
24031 0 : DOMString result;
24032 0 : self->GetLightingColor(result, rv);
24033 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24034 0 : return false;
24035 : }
24036 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24037 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
24038 0 : return false;
24039 : }
24040 0 : return true;
24041 : }
24042 :
24043 : static bool
24044 0 : set_lightingColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
24045 : {
24046 0 : binding_detail::FakeString arg0;
24047 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
24048 0 : return false;
24049 : }
24050 0 : binding_detail::FastErrorResult rv;
24051 0 : self->SetLightingColor(NonNullHelper(Constify(arg0)), rv);
24052 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24053 0 : return false;
24054 : }
24055 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24056 :
24057 0 : return true;
24058 : }
24059 :
24060 : static const JSJitInfo lightingColor_getterinfo = {
24061 : { (JSJitGetterOp)get_lightingColor },
24062 : { prototypes::id::CSS2Properties },
24063 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24064 : JSJitInfo::Getter,
24065 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24066 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
24067 : false, /* isInfallible. False in setters. */
24068 : false, /* isMovable. Not relevant for setters. */
24069 : false, /* isEliminatable. Not relevant for setters. */
24070 : false, /* isAlwaysInSlot. Only relevant for getters. */
24071 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24072 : false, /* isTypedMethod. Only relevant for methods. */
24073 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24074 : };
24075 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24076 : static_assert(0 < 1, "There is no slot for us");
24077 : static const JSJitInfo lightingColor_setterinfo = {
24078 : { (JSJitGetterOp)set_lightingColor },
24079 : { prototypes::id::CSS2Properties },
24080 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24081 : JSJitInfo::Setter,
24082 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24083 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
24084 : false, /* isInfallible. False in setters. */
24085 : false, /* isMovable. Not relevant for setters. */
24086 : false, /* isEliminatable. Not relevant for setters. */
24087 : false, /* isAlwaysInSlot. Only relevant for getters. */
24088 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24089 : false, /* isTypedMethod. Only relevant for methods. */
24090 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24091 : };
24092 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24093 : static_assert(0 < 1, "There is no slot for us");
24094 :
24095 : static bool
24096 0 : get_lighting_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
24097 : {
24098 0 : binding_detail::FastErrorResult rv;
24099 0 : DOMString result;
24100 0 : self->GetLightingColor(result, rv);
24101 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24102 0 : return false;
24103 : }
24104 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24105 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
24106 0 : return false;
24107 : }
24108 0 : return true;
24109 : }
24110 :
24111 : static bool
24112 0 : set_lighting_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
24113 : {
24114 0 : binding_detail::FakeString arg0;
24115 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
24116 0 : return false;
24117 : }
24118 0 : binding_detail::FastErrorResult rv;
24119 0 : self->SetLightingColor(NonNullHelper(Constify(arg0)), rv);
24120 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24121 0 : return false;
24122 : }
24123 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24124 :
24125 0 : return true;
24126 : }
24127 :
24128 : static const JSJitInfo lighting_color_getterinfo = {
24129 : { (JSJitGetterOp)get_lighting_color },
24130 : { prototypes::id::CSS2Properties },
24131 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24132 : JSJitInfo::Getter,
24133 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24134 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
24135 : false, /* isInfallible. False in setters. */
24136 : false, /* isMovable. Not relevant for setters. */
24137 : false, /* isEliminatable. Not relevant for setters. */
24138 : false, /* isAlwaysInSlot. Only relevant for getters. */
24139 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24140 : false, /* isTypedMethod. Only relevant for methods. */
24141 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24142 : };
24143 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24144 : static_assert(0 < 1, "There is no slot for us");
24145 : static const JSJitInfo lighting_color_setterinfo = {
24146 : { (JSJitGetterOp)set_lighting_color },
24147 : { prototypes::id::CSS2Properties },
24148 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24149 : JSJitInfo::Setter,
24150 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24151 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
24152 : false, /* isInfallible. False in setters. */
24153 : false, /* isMovable. Not relevant for setters. */
24154 : false, /* isEliminatable. Not relevant for setters. */
24155 : false, /* isAlwaysInSlot. Only relevant for getters. */
24156 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24157 : false, /* isTypedMethod. Only relevant for methods. */
24158 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24159 : };
24160 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24161 : static_assert(0 < 1, "There is no slot for us");
24162 :
24163 : static bool
24164 0 : get_lineHeight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
24165 : {
24166 0 : binding_detail::FastErrorResult rv;
24167 0 : DOMString result;
24168 0 : self->GetLineHeight(result, rv);
24169 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24170 0 : return false;
24171 : }
24172 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24173 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
24174 0 : return false;
24175 : }
24176 0 : return true;
24177 : }
24178 :
24179 : static bool
24180 0 : set_lineHeight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
24181 : {
24182 0 : binding_detail::FakeString arg0;
24183 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
24184 0 : return false;
24185 : }
24186 0 : binding_detail::FastErrorResult rv;
24187 0 : self->SetLineHeight(NonNullHelper(Constify(arg0)), rv);
24188 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24189 0 : return false;
24190 : }
24191 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24192 :
24193 0 : return true;
24194 : }
24195 :
24196 : static const JSJitInfo lineHeight_getterinfo = {
24197 : { (JSJitGetterOp)get_lineHeight },
24198 : { prototypes::id::CSS2Properties },
24199 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24200 : JSJitInfo::Getter,
24201 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24202 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
24203 : false, /* isInfallible. False in setters. */
24204 : false, /* isMovable. Not relevant for setters. */
24205 : false, /* isEliminatable. Not relevant for setters. */
24206 : false, /* isAlwaysInSlot. Only relevant for getters. */
24207 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24208 : false, /* isTypedMethod. Only relevant for methods. */
24209 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24210 : };
24211 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24212 : static_assert(0 < 1, "There is no slot for us");
24213 : static const JSJitInfo lineHeight_setterinfo = {
24214 : { (JSJitGetterOp)set_lineHeight },
24215 : { prototypes::id::CSS2Properties },
24216 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24217 : JSJitInfo::Setter,
24218 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24219 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
24220 : false, /* isInfallible. False in setters. */
24221 : false, /* isMovable. Not relevant for setters. */
24222 : false, /* isEliminatable. Not relevant for setters. */
24223 : false, /* isAlwaysInSlot. Only relevant for getters. */
24224 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24225 : false, /* isTypedMethod. Only relevant for methods. */
24226 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24227 : };
24228 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24229 : static_assert(0 < 1, "There is no slot for us");
24230 :
24231 : static bool
24232 0 : get_line_height(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
24233 : {
24234 0 : binding_detail::FastErrorResult rv;
24235 0 : DOMString result;
24236 0 : self->GetLineHeight(result, rv);
24237 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24238 0 : return false;
24239 : }
24240 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24241 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
24242 0 : return false;
24243 : }
24244 0 : return true;
24245 : }
24246 :
24247 : static bool
24248 0 : set_line_height(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
24249 : {
24250 0 : binding_detail::FakeString arg0;
24251 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
24252 0 : return false;
24253 : }
24254 0 : binding_detail::FastErrorResult rv;
24255 0 : self->SetLineHeight(NonNullHelper(Constify(arg0)), rv);
24256 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24257 0 : return false;
24258 : }
24259 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24260 :
24261 0 : return true;
24262 : }
24263 :
24264 : static const JSJitInfo line_height_getterinfo = {
24265 : { (JSJitGetterOp)get_line_height },
24266 : { prototypes::id::CSS2Properties },
24267 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24268 : JSJitInfo::Getter,
24269 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24270 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
24271 : false, /* isInfallible. False in setters. */
24272 : false, /* isMovable. Not relevant for setters. */
24273 : false, /* isEliminatable. Not relevant for setters. */
24274 : false, /* isAlwaysInSlot. Only relevant for getters. */
24275 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24276 : false, /* isTypedMethod. Only relevant for methods. */
24277 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24278 : };
24279 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24280 : static_assert(0 < 1, "There is no slot for us");
24281 : static const JSJitInfo line_height_setterinfo = {
24282 : { (JSJitGetterOp)set_line_height },
24283 : { prototypes::id::CSS2Properties },
24284 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24285 : JSJitInfo::Setter,
24286 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24287 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
24288 : false, /* isInfallible. False in setters. */
24289 : false, /* isMovable. Not relevant for setters. */
24290 : false, /* isEliminatable. Not relevant for setters. */
24291 : false, /* isAlwaysInSlot. Only relevant for getters. */
24292 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24293 : false, /* isTypedMethod. Only relevant for methods. */
24294 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24295 : };
24296 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24297 : static_assert(0 < 1, "There is no slot for us");
24298 :
24299 : static bool
24300 0 : get_listStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
24301 : {
24302 0 : binding_detail::FastErrorResult rv;
24303 0 : DOMString result;
24304 0 : self->GetListStyle(result, rv);
24305 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24306 0 : return false;
24307 : }
24308 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24309 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
24310 0 : return false;
24311 : }
24312 0 : return true;
24313 : }
24314 :
24315 : static bool
24316 0 : set_listStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
24317 : {
24318 0 : binding_detail::FakeString arg0;
24319 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
24320 0 : return false;
24321 : }
24322 0 : binding_detail::FastErrorResult rv;
24323 0 : self->SetListStyle(NonNullHelper(Constify(arg0)), rv);
24324 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24325 0 : return false;
24326 : }
24327 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24328 :
24329 0 : return true;
24330 : }
24331 :
24332 : static const JSJitInfo listStyle_getterinfo = {
24333 : { (JSJitGetterOp)get_listStyle },
24334 : { prototypes::id::CSS2Properties },
24335 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24336 : JSJitInfo::Getter,
24337 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24338 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
24339 : false, /* isInfallible. False in setters. */
24340 : false, /* isMovable. Not relevant for setters. */
24341 : false, /* isEliminatable. Not relevant for setters. */
24342 : false, /* isAlwaysInSlot. Only relevant for getters. */
24343 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24344 : false, /* isTypedMethod. Only relevant for methods. */
24345 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24346 : };
24347 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24348 : static_assert(0 < 1, "There is no slot for us");
24349 : static const JSJitInfo listStyle_setterinfo = {
24350 : { (JSJitGetterOp)set_listStyle },
24351 : { prototypes::id::CSS2Properties },
24352 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24353 : JSJitInfo::Setter,
24354 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24355 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
24356 : false, /* isInfallible. False in setters. */
24357 : false, /* isMovable. Not relevant for setters. */
24358 : false, /* isEliminatable. Not relevant for setters. */
24359 : false, /* isAlwaysInSlot. Only relevant for getters. */
24360 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24361 : false, /* isTypedMethod. Only relevant for methods. */
24362 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24363 : };
24364 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24365 : static_assert(0 < 1, "There is no slot for us");
24366 :
24367 : static bool
24368 0 : get_list_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
24369 : {
24370 0 : binding_detail::FastErrorResult rv;
24371 0 : DOMString result;
24372 0 : self->GetListStyle(result, rv);
24373 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24374 0 : return false;
24375 : }
24376 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24377 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
24378 0 : return false;
24379 : }
24380 0 : return true;
24381 : }
24382 :
24383 : static bool
24384 0 : set_list_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
24385 : {
24386 0 : binding_detail::FakeString arg0;
24387 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
24388 0 : return false;
24389 : }
24390 0 : binding_detail::FastErrorResult rv;
24391 0 : self->SetListStyle(NonNullHelper(Constify(arg0)), rv);
24392 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24393 0 : return false;
24394 : }
24395 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24396 :
24397 0 : return true;
24398 : }
24399 :
24400 : static const JSJitInfo list_style_getterinfo = {
24401 : { (JSJitGetterOp)get_list_style },
24402 : { prototypes::id::CSS2Properties },
24403 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24404 : JSJitInfo::Getter,
24405 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24406 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
24407 : false, /* isInfallible. False in setters. */
24408 : false, /* isMovable. Not relevant for setters. */
24409 : false, /* isEliminatable. Not relevant for setters. */
24410 : false, /* isAlwaysInSlot. Only relevant for getters. */
24411 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24412 : false, /* isTypedMethod. Only relevant for methods. */
24413 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24414 : };
24415 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24416 : static_assert(0 < 1, "There is no slot for us");
24417 : static const JSJitInfo list_style_setterinfo = {
24418 : { (JSJitGetterOp)set_list_style },
24419 : { prototypes::id::CSS2Properties },
24420 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24421 : JSJitInfo::Setter,
24422 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24423 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
24424 : false, /* isInfallible. False in setters. */
24425 : false, /* isMovable. Not relevant for setters. */
24426 : false, /* isEliminatable. Not relevant for setters. */
24427 : false, /* isAlwaysInSlot. Only relevant for getters. */
24428 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24429 : false, /* isTypedMethod. Only relevant for methods. */
24430 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24431 : };
24432 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24433 : static_assert(0 < 1, "There is no slot for us");
24434 :
24435 : static bool
24436 0 : get_listStyleImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
24437 : {
24438 0 : binding_detail::FastErrorResult rv;
24439 0 : DOMString result;
24440 0 : self->GetListStyleImage(result, rv);
24441 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24442 0 : return false;
24443 : }
24444 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24445 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
24446 0 : return false;
24447 : }
24448 0 : return true;
24449 : }
24450 :
24451 : static bool
24452 0 : set_listStyleImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
24453 : {
24454 0 : binding_detail::FakeString arg0;
24455 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
24456 0 : return false;
24457 : }
24458 0 : binding_detail::FastErrorResult rv;
24459 0 : self->SetListStyleImage(NonNullHelper(Constify(arg0)), rv);
24460 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24461 0 : return false;
24462 : }
24463 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24464 :
24465 0 : return true;
24466 : }
24467 :
24468 : static const JSJitInfo listStyleImage_getterinfo = {
24469 : { (JSJitGetterOp)get_listStyleImage },
24470 : { prototypes::id::CSS2Properties },
24471 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24472 : JSJitInfo::Getter,
24473 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24474 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
24475 : false, /* isInfallible. False in setters. */
24476 : false, /* isMovable. Not relevant for setters. */
24477 : false, /* isEliminatable. Not relevant for setters. */
24478 : false, /* isAlwaysInSlot. Only relevant for getters. */
24479 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24480 : false, /* isTypedMethod. Only relevant for methods. */
24481 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24482 : };
24483 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24484 : static_assert(0 < 1, "There is no slot for us");
24485 : static const JSJitInfo listStyleImage_setterinfo = {
24486 : { (JSJitGetterOp)set_listStyleImage },
24487 : { prototypes::id::CSS2Properties },
24488 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24489 : JSJitInfo::Setter,
24490 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24491 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
24492 : false, /* isInfallible. False in setters. */
24493 : false, /* isMovable. Not relevant for setters. */
24494 : false, /* isEliminatable. Not relevant for setters. */
24495 : false, /* isAlwaysInSlot. Only relevant for getters. */
24496 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24497 : false, /* isTypedMethod. Only relevant for methods. */
24498 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24499 : };
24500 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24501 : static_assert(0 < 1, "There is no slot for us");
24502 :
24503 : static bool
24504 0 : get_list_style_image(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
24505 : {
24506 0 : binding_detail::FastErrorResult rv;
24507 0 : DOMString result;
24508 0 : self->GetListStyleImage(result, rv);
24509 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24510 0 : return false;
24511 : }
24512 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24513 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
24514 0 : return false;
24515 : }
24516 0 : return true;
24517 : }
24518 :
24519 : static bool
24520 0 : set_list_style_image(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
24521 : {
24522 0 : binding_detail::FakeString arg0;
24523 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
24524 0 : return false;
24525 : }
24526 0 : binding_detail::FastErrorResult rv;
24527 0 : self->SetListStyleImage(NonNullHelper(Constify(arg0)), rv);
24528 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24529 0 : return false;
24530 : }
24531 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24532 :
24533 0 : return true;
24534 : }
24535 :
24536 : static const JSJitInfo list_style_image_getterinfo = {
24537 : { (JSJitGetterOp)get_list_style_image },
24538 : { prototypes::id::CSS2Properties },
24539 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24540 : JSJitInfo::Getter,
24541 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24542 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
24543 : false, /* isInfallible. False in setters. */
24544 : false, /* isMovable. Not relevant for setters. */
24545 : false, /* isEliminatable. Not relevant for setters. */
24546 : false, /* isAlwaysInSlot. Only relevant for getters. */
24547 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24548 : false, /* isTypedMethod. Only relevant for methods. */
24549 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24550 : };
24551 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24552 : static_assert(0 < 1, "There is no slot for us");
24553 : static const JSJitInfo list_style_image_setterinfo = {
24554 : { (JSJitGetterOp)set_list_style_image },
24555 : { prototypes::id::CSS2Properties },
24556 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24557 : JSJitInfo::Setter,
24558 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24559 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
24560 : false, /* isInfallible. False in setters. */
24561 : false, /* isMovable. Not relevant for setters. */
24562 : false, /* isEliminatable. Not relevant for setters. */
24563 : false, /* isAlwaysInSlot. Only relevant for getters. */
24564 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24565 : false, /* isTypedMethod. Only relevant for methods. */
24566 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24567 : };
24568 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24569 : static_assert(0 < 1, "There is no slot for us");
24570 :
24571 : static bool
24572 0 : get_listStylePosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
24573 : {
24574 0 : binding_detail::FastErrorResult rv;
24575 0 : DOMString result;
24576 0 : self->GetListStylePosition(result, rv);
24577 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24578 0 : return false;
24579 : }
24580 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24581 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
24582 0 : return false;
24583 : }
24584 0 : return true;
24585 : }
24586 :
24587 : static bool
24588 0 : set_listStylePosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
24589 : {
24590 0 : binding_detail::FakeString arg0;
24591 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
24592 0 : return false;
24593 : }
24594 0 : binding_detail::FastErrorResult rv;
24595 0 : self->SetListStylePosition(NonNullHelper(Constify(arg0)), rv);
24596 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24597 0 : return false;
24598 : }
24599 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24600 :
24601 0 : return true;
24602 : }
24603 :
24604 : static const JSJitInfo listStylePosition_getterinfo = {
24605 : { (JSJitGetterOp)get_listStylePosition },
24606 : { prototypes::id::CSS2Properties },
24607 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24608 : JSJitInfo::Getter,
24609 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24610 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
24611 : false, /* isInfallible. False in setters. */
24612 : false, /* isMovable. Not relevant for setters. */
24613 : false, /* isEliminatable. Not relevant for setters. */
24614 : false, /* isAlwaysInSlot. Only relevant for getters. */
24615 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24616 : false, /* isTypedMethod. Only relevant for methods. */
24617 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24618 : };
24619 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24620 : static_assert(0 < 1, "There is no slot for us");
24621 : static const JSJitInfo listStylePosition_setterinfo = {
24622 : { (JSJitGetterOp)set_listStylePosition },
24623 : { prototypes::id::CSS2Properties },
24624 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24625 : JSJitInfo::Setter,
24626 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24627 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
24628 : false, /* isInfallible. False in setters. */
24629 : false, /* isMovable. Not relevant for setters. */
24630 : false, /* isEliminatable. Not relevant for setters. */
24631 : false, /* isAlwaysInSlot. Only relevant for getters. */
24632 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24633 : false, /* isTypedMethod. Only relevant for methods. */
24634 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24635 : };
24636 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24637 : static_assert(0 < 1, "There is no slot for us");
24638 :
24639 : static bool
24640 0 : get_list_style_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
24641 : {
24642 0 : binding_detail::FastErrorResult rv;
24643 0 : DOMString result;
24644 0 : self->GetListStylePosition(result, rv);
24645 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24646 0 : return false;
24647 : }
24648 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24649 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
24650 0 : return false;
24651 : }
24652 0 : return true;
24653 : }
24654 :
24655 : static bool
24656 0 : set_list_style_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
24657 : {
24658 0 : binding_detail::FakeString arg0;
24659 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
24660 0 : return false;
24661 : }
24662 0 : binding_detail::FastErrorResult rv;
24663 0 : self->SetListStylePosition(NonNullHelper(Constify(arg0)), rv);
24664 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24665 0 : return false;
24666 : }
24667 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24668 :
24669 0 : return true;
24670 : }
24671 :
24672 : static const JSJitInfo list_style_position_getterinfo = {
24673 : { (JSJitGetterOp)get_list_style_position },
24674 : { prototypes::id::CSS2Properties },
24675 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24676 : JSJitInfo::Getter,
24677 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24678 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
24679 : false, /* isInfallible. False in setters. */
24680 : false, /* isMovable. Not relevant for setters. */
24681 : false, /* isEliminatable. Not relevant for setters. */
24682 : false, /* isAlwaysInSlot. Only relevant for getters. */
24683 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24684 : false, /* isTypedMethod. Only relevant for methods. */
24685 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24686 : };
24687 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24688 : static_assert(0 < 1, "There is no slot for us");
24689 : static const JSJitInfo list_style_position_setterinfo = {
24690 : { (JSJitGetterOp)set_list_style_position },
24691 : { prototypes::id::CSS2Properties },
24692 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24693 : JSJitInfo::Setter,
24694 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24695 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
24696 : false, /* isInfallible. False in setters. */
24697 : false, /* isMovable. Not relevant for setters. */
24698 : false, /* isEliminatable. Not relevant for setters. */
24699 : false, /* isAlwaysInSlot. Only relevant for getters. */
24700 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24701 : false, /* isTypedMethod. Only relevant for methods. */
24702 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24703 : };
24704 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24705 : static_assert(0 < 1, "There is no slot for us");
24706 :
24707 : static bool
24708 0 : get_listStyleType(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
24709 : {
24710 0 : binding_detail::FastErrorResult rv;
24711 0 : DOMString result;
24712 0 : self->GetListStyleType(result, rv);
24713 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24714 0 : return false;
24715 : }
24716 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24717 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
24718 0 : return false;
24719 : }
24720 0 : return true;
24721 : }
24722 :
24723 : static bool
24724 0 : set_listStyleType(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
24725 : {
24726 0 : binding_detail::FakeString arg0;
24727 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
24728 0 : return false;
24729 : }
24730 0 : binding_detail::FastErrorResult rv;
24731 0 : self->SetListStyleType(NonNullHelper(Constify(arg0)), rv);
24732 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24733 0 : return false;
24734 : }
24735 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24736 :
24737 0 : return true;
24738 : }
24739 :
24740 : static const JSJitInfo listStyleType_getterinfo = {
24741 : { (JSJitGetterOp)get_listStyleType },
24742 : { prototypes::id::CSS2Properties },
24743 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24744 : JSJitInfo::Getter,
24745 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24746 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
24747 : false, /* isInfallible. False in setters. */
24748 : false, /* isMovable. Not relevant for setters. */
24749 : false, /* isEliminatable. Not relevant for setters. */
24750 : false, /* isAlwaysInSlot. Only relevant for getters. */
24751 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24752 : false, /* isTypedMethod. Only relevant for methods. */
24753 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24754 : };
24755 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24756 : static_assert(0 < 1, "There is no slot for us");
24757 : static const JSJitInfo listStyleType_setterinfo = {
24758 : { (JSJitGetterOp)set_listStyleType },
24759 : { prototypes::id::CSS2Properties },
24760 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24761 : JSJitInfo::Setter,
24762 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24763 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
24764 : false, /* isInfallible. False in setters. */
24765 : false, /* isMovable. Not relevant for setters. */
24766 : false, /* isEliminatable. Not relevant for setters. */
24767 : false, /* isAlwaysInSlot. Only relevant for getters. */
24768 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24769 : false, /* isTypedMethod. Only relevant for methods. */
24770 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24771 : };
24772 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24773 : static_assert(0 < 1, "There is no slot for us");
24774 :
24775 : static bool
24776 0 : get_list_style_type(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
24777 : {
24778 0 : binding_detail::FastErrorResult rv;
24779 0 : DOMString result;
24780 0 : self->GetListStyleType(result, rv);
24781 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24782 0 : return false;
24783 : }
24784 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24785 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
24786 0 : return false;
24787 : }
24788 0 : return true;
24789 : }
24790 :
24791 : static bool
24792 0 : set_list_style_type(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
24793 : {
24794 0 : binding_detail::FakeString arg0;
24795 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
24796 0 : return false;
24797 : }
24798 0 : binding_detail::FastErrorResult rv;
24799 0 : self->SetListStyleType(NonNullHelper(Constify(arg0)), rv);
24800 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24801 0 : return false;
24802 : }
24803 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24804 :
24805 0 : return true;
24806 : }
24807 :
24808 : static const JSJitInfo list_style_type_getterinfo = {
24809 : { (JSJitGetterOp)get_list_style_type },
24810 : { prototypes::id::CSS2Properties },
24811 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24812 : JSJitInfo::Getter,
24813 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24814 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
24815 : false, /* isInfallible. False in setters. */
24816 : false, /* isMovable. Not relevant for setters. */
24817 : false, /* isEliminatable. Not relevant for setters. */
24818 : false, /* isAlwaysInSlot. Only relevant for getters. */
24819 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24820 : false, /* isTypedMethod. Only relevant for methods. */
24821 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24822 : };
24823 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24824 : static_assert(0 < 1, "There is no slot for us");
24825 : static const JSJitInfo list_style_type_setterinfo = {
24826 : { (JSJitGetterOp)set_list_style_type },
24827 : { prototypes::id::CSS2Properties },
24828 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24829 : JSJitInfo::Setter,
24830 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24831 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
24832 : false, /* isInfallible. False in setters. */
24833 : false, /* isMovable. Not relevant for setters. */
24834 : false, /* isEliminatable. Not relevant for setters. */
24835 : false, /* isAlwaysInSlot. Only relevant for getters. */
24836 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24837 : false, /* isTypedMethod. Only relevant for methods. */
24838 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24839 : };
24840 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24841 : static_assert(0 < 1, "There is no slot for us");
24842 :
24843 : static bool
24844 0 : get_margin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
24845 : {
24846 0 : binding_detail::FastErrorResult rv;
24847 0 : DOMString result;
24848 0 : self->GetMargin(result, rv);
24849 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24850 0 : return false;
24851 : }
24852 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24853 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
24854 0 : return false;
24855 : }
24856 0 : return true;
24857 : }
24858 :
24859 : static bool
24860 0 : set_margin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
24861 : {
24862 0 : binding_detail::FakeString arg0;
24863 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
24864 0 : return false;
24865 : }
24866 0 : binding_detail::FastErrorResult rv;
24867 0 : self->SetMargin(NonNullHelper(Constify(arg0)), rv);
24868 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24869 0 : return false;
24870 : }
24871 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24872 :
24873 0 : return true;
24874 : }
24875 :
24876 : static const JSJitInfo margin_getterinfo = {
24877 : { (JSJitGetterOp)get_margin },
24878 : { prototypes::id::CSS2Properties },
24879 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24880 : JSJitInfo::Getter,
24881 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24882 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
24883 : false, /* isInfallible. False in setters. */
24884 : false, /* isMovable. Not relevant for setters. */
24885 : false, /* isEliminatable. Not relevant for setters. */
24886 : false, /* isAlwaysInSlot. Only relevant for getters. */
24887 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24888 : false, /* isTypedMethod. Only relevant for methods. */
24889 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24890 : };
24891 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24892 : static_assert(0 < 1, "There is no slot for us");
24893 : static const JSJitInfo margin_setterinfo = {
24894 : { (JSJitGetterOp)set_margin },
24895 : { prototypes::id::CSS2Properties },
24896 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24897 : JSJitInfo::Setter,
24898 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24899 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
24900 : false, /* isInfallible. False in setters. */
24901 : false, /* isMovable. Not relevant for setters. */
24902 : false, /* isEliminatable. Not relevant for setters. */
24903 : false, /* isAlwaysInSlot. Only relevant for getters. */
24904 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24905 : false, /* isTypedMethod. Only relevant for methods. */
24906 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24907 : };
24908 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24909 : static_assert(0 < 1, "There is no slot for us");
24910 :
24911 : static bool
24912 0 : get_marginBlockEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
24913 : {
24914 0 : binding_detail::FastErrorResult rv;
24915 0 : DOMString result;
24916 0 : self->GetMarginBlockEnd(result, rv);
24917 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24918 0 : return false;
24919 : }
24920 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24921 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
24922 0 : return false;
24923 : }
24924 0 : return true;
24925 : }
24926 :
24927 : static bool
24928 0 : set_marginBlockEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
24929 : {
24930 0 : binding_detail::FakeString arg0;
24931 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
24932 0 : return false;
24933 : }
24934 0 : binding_detail::FastErrorResult rv;
24935 0 : self->SetMarginBlockEnd(NonNullHelper(Constify(arg0)), rv);
24936 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24937 0 : return false;
24938 : }
24939 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24940 :
24941 0 : return true;
24942 : }
24943 :
24944 : static const JSJitInfo marginBlockEnd_getterinfo = {
24945 : { (JSJitGetterOp)get_marginBlockEnd },
24946 : { prototypes::id::CSS2Properties },
24947 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24948 : JSJitInfo::Getter,
24949 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24950 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
24951 : false, /* isInfallible. False in setters. */
24952 : false, /* isMovable. Not relevant for setters. */
24953 : false, /* isEliminatable. Not relevant for setters. */
24954 : false, /* isAlwaysInSlot. Only relevant for getters. */
24955 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24956 : false, /* isTypedMethod. Only relevant for methods. */
24957 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24958 : };
24959 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24960 : static_assert(0 < 1, "There is no slot for us");
24961 : static const JSJitInfo marginBlockEnd_setterinfo = {
24962 : { (JSJitGetterOp)set_marginBlockEnd },
24963 : { prototypes::id::CSS2Properties },
24964 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
24965 : JSJitInfo::Setter,
24966 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
24967 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
24968 : false, /* isInfallible. False in setters. */
24969 : false, /* isMovable. Not relevant for setters. */
24970 : false, /* isEliminatable. Not relevant for setters. */
24971 : false, /* isAlwaysInSlot. Only relevant for getters. */
24972 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
24973 : false, /* isTypedMethod. Only relevant for methods. */
24974 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
24975 : };
24976 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
24977 : static_assert(0 < 1, "There is no slot for us");
24978 :
24979 : static bool
24980 0 : get_margin_block_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
24981 : {
24982 0 : binding_detail::FastErrorResult rv;
24983 0 : DOMString result;
24984 0 : self->GetMarginBlockEnd(result, rv);
24985 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
24986 0 : return false;
24987 : }
24988 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
24989 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
24990 0 : return false;
24991 : }
24992 0 : return true;
24993 : }
24994 :
24995 : static bool
24996 0 : set_margin_block_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
24997 : {
24998 0 : binding_detail::FakeString arg0;
24999 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
25000 0 : return false;
25001 : }
25002 0 : binding_detail::FastErrorResult rv;
25003 0 : self->SetMarginBlockEnd(NonNullHelper(Constify(arg0)), rv);
25004 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25005 0 : return false;
25006 : }
25007 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25008 :
25009 0 : return true;
25010 : }
25011 :
25012 : static const JSJitInfo margin_block_end_getterinfo = {
25013 : { (JSJitGetterOp)get_margin_block_end },
25014 : { prototypes::id::CSS2Properties },
25015 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25016 : JSJitInfo::Getter,
25017 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25018 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
25019 : false, /* isInfallible. False in setters. */
25020 : false, /* isMovable. Not relevant for setters. */
25021 : false, /* isEliminatable. Not relevant for setters. */
25022 : false, /* isAlwaysInSlot. Only relevant for getters. */
25023 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25024 : false, /* isTypedMethod. Only relevant for methods. */
25025 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25026 : };
25027 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25028 : static_assert(0 < 1, "There is no slot for us");
25029 : static const JSJitInfo margin_block_end_setterinfo = {
25030 : { (JSJitGetterOp)set_margin_block_end },
25031 : { prototypes::id::CSS2Properties },
25032 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25033 : JSJitInfo::Setter,
25034 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25035 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
25036 : false, /* isInfallible. False in setters. */
25037 : false, /* isMovable. Not relevant for setters. */
25038 : false, /* isEliminatable. Not relevant for setters. */
25039 : false, /* isAlwaysInSlot. Only relevant for getters. */
25040 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25041 : false, /* isTypedMethod. Only relevant for methods. */
25042 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25043 : };
25044 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25045 : static_assert(0 < 1, "There is no slot for us");
25046 :
25047 : static bool
25048 0 : get_marginBlockStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
25049 : {
25050 0 : binding_detail::FastErrorResult rv;
25051 0 : DOMString result;
25052 0 : self->GetMarginBlockStart(result, rv);
25053 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25054 0 : return false;
25055 : }
25056 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25057 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
25058 0 : return false;
25059 : }
25060 0 : return true;
25061 : }
25062 :
25063 : static bool
25064 0 : set_marginBlockStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
25065 : {
25066 0 : binding_detail::FakeString arg0;
25067 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
25068 0 : return false;
25069 : }
25070 0 : binding_detail::FastErrorResult rv;
25071 0 : self->SetMarginBlockStart(NonNullHelper(Constify(arg0)), rv);
25072 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25073 0 : return false;
25074 : }
25075 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25076 :
25077 0 : return true;
25078 : }
25079 :
25080 : static const JSJitInfo marginBlockStart_getterinfo = {
25081 : { (JSJitGetterOp)get_marginBlockStart },
25082 : { prototypes::id::CSS2Properties },
25083 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25084 : JSJitInfo::Getter,
25085 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25086 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
25087 : false, /* isInfallible. False in setters. */
25088 : false, /* isMovable. Not relevant for setters. */
25089 : false, /* isEliminatable. Not relevant for setters. */
25090 : false, /* isAlwaysInSlot. Only relevant for getters. */
25091 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25092 : false, /* isTypedMethod. Only relevant for methods. */
25093 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25094 : };
25095 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25096 : static_assert(0 < 1, "There is no slot for us");
25097 : static const JSJitInfo marginBlockStart_setterinfo = {
25098 : { (JSJitGetterOp)set_marginBlockStart },
25099 : { prototypes::id::CSS2Properties },
25100 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25101 : JSJitInfo::Setter,
25102 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25103 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
25104 : false, /* isInfallible. False in setters. */
25105 : false, /* isMovable. Not relevant for setters. */
25106 : false, /* isEliminatable. Not relevant for setters. */
25107 : false, /* isAlwaysInSlot. Only relevant for getters. */
25108 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25109 : false, /* isTypedMethod. Only relevant for methods. */
25110 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25111 : };
25112 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25113 : static_assert(0 < 1, "There is no slot for us");
25114 :
25115 : static bool
25116 0 : get_margin_block_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
25117 : {
25118 0 : binding_detail::FastErrorResult rv;
25119 0 : DOMString result;
25120 0 : self->GetMarginBlockStart(result, rv);
25121 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25122 0 : return false;
25123 : }
25124 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25125 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
25126 0 : return false;
25127 : }
25128 0 : return true;
25129 : }
25130 :
25131 : static bool
25132 0 : set_margin_block_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
25133 : {
25134 0 : binding_detail::FakeString arg0;
25135 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
25136 0 : return false;
25137 : }
25138 0 : binding_detail::FastErrorResult rv;
25139 0 : self->SetMarginBlockStart(NonNullHelper(Constify(arg0)), rv);
25140 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25141 0 : return false;
25142 : }
25143 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25144 :
25145 0 : return true;
25146 : }
25147 :
25148 : static const JSJitInfo margin_block_start_getterinfo = {
25149 : { (JSJitGetterOp)get_margin_block_start },
25150 : { prototypes::id::CSS2Properties },
25151 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25152 : JSJitInfo::Getter,
25153 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25154 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
25155 : false, /* isInfallible. False in setters. */
25156 : false, /* isMovable. Not relevant for setters. */
25157 : false, /* isEliminatable. Not relevant for setters. */
25158 : false, /* isAlwaysInSlot. Only relevant for getters. */
25159 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25160 : false, /* isTypedMethod. Only relevant for methods. */
25161 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25162 : };
25163 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25164 : static_assert(0 < 1, "There is no slot for us");
25165 : static const JSJitInfo margin_block_start_setterinfo = {
25166 : { (JSJitGetterOp)set_margin_block_start },
25167 : { prototypes::id::CSS2Properties },
25168 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25169 : JSJitInfo::Setter,
25170 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25171 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
25172 : false, /* isInfallible. False in setters. */
25173 : false, /* isMovable. Not relevant for setters. */
25174 : false, /* isEliminatable. Not relevant for setters. */
25175 : false, /* isAlwaysInSlot. Only relevant for getters. */
25176 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25177 : false, /* isTypedMethod. Only relevant for methods. */
25178 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25179 : };
25180 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25181 : static_assert(0 < 1, "There is no slot for us");
25182 :
25183 : static bool
25184 0 : get_marginBottom(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
25185 : {
25186 0 : binding_detail::FastErrorResult rv;
25187 0 : DOMString result;
25188 0 : self->GetMarginBottom(result, rv);
25189 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25190 0 : return false;
25191 : }
25192 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25193 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
25194 0 : return false;
25195 : }
25196 0 : return true;
25197 : }
25198 :
25199 : static bool
25200 0 : set_marginBottom(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
25201 : {
25202 0 : binding_detail::FakeString arg0;
25203 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
25204 0 : return false;
25205 : }
25206 0 : binding_detail::FastErrorResult rv;
25207 0 : self->SetMarginBottom(NonNullHelper(Constify(arg0)), rv);
25208 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25209 0 : return false;
25210 : }
25211 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25212 :
25213 0 : return true;
25214 : }
25215 :
25216 : static const JSJitInfo marginBottom_getterinfo = {
25217 : { (JSJitGetterOp)get_marginBottom },
25218 : { prototypes::id::CSS2Properties },
25219 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25220 : JSJitInfo::Getter,
25221 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25222 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
25223 : false, /* isInfallible. False in setters. */
25224 : false, /* isMovable. Not relevant for setters. */
25225 : false, /* isEliminatable. Not relevant for setters. */
25226 : false, /* isAlwaysInSlot. Only relevant for getters. */
25227 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25228 : false, /* isTypedMethod. Only relevant for methods. */
25229 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25230 : };
25231 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25232 : static_assert(0 < 1, "There is no slot for us");
25233 : static const JSJitInfo marginBottom_setterinfo = {
25234 : { (JSJitGetterOp)set_marginBottom },
25235 : { prototypes::id::CSS2Properties },
25236 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25237 : JSJitInfo::Setter,
25238 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25239 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
25240 : false, /* isInfallible. False in setters. */
25241 : false, /* isMovable. Not relevant for setters. */
25242 : false, /* isEliminatable. Not relevant for setters. */
25243 : false, /* isAlwaysInSlot. Only relevant for getters. */
25244 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25245 : false, /* isTypedMethod. Only relevant for methods. */
25246 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25247 : };
25248 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25249 : static_assert(0 < 1, "There is no slot for us");
25250 :
25251 : static bool
25252 0 : get_margin_bottom(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
25253 : {
25254 0 : binding_detail::FastErrorResult rv;
25255 0 : DOMString result;
25256 0 : self->GetMarginBottom(result, rv);
25257 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25258 0 : return false;
25259 : }
25260 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25261 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
25262 0 : return false;
25263 : }
25264 0 : return true;
25265 : }
25266 :
25267 : static bool
25268 0 : set_margin_bottom(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
25269 : {
25270 0 : binding_detail::FakeString arg0;
25271 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
25272 0 : return false;
25273 : }
25274 0 : binding_detail::FastErrorResult rv;
25275 0 : self->SetMarginBottom(NonNullHelper(Constify(arg0)), rv);
25276 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25277 0 : return false;
25278 : }
25279 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25280 :
25281 0 : return true;
25282 : }
25283 :
25284 : static const JSJitInfo margin_bottom_getterinfo = {
25285 : { (JSJitGetterOp)get_margin_bottom },
25286 : { prototypes::id::CSS2Properties },
25287 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25288 : JSJitInfo::Getter,
25289 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25290 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
25291 : false, /* isInfallible. False in setters. */
25292 : false, /* isMovable. Not relevant for setters. */
25293 : false, /* isEliminatable. Not relevant for setters. */
25294 : false, /* isAlwaysInSlot. Only relevant for getters. */
25295 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25296 : false, /* isTypedMethod. Only relevant for methods. */
25297 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25298 : };
25299 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25300 : static_assert(0 < 1, "There is no slot for us");
25301 : static const JSJitInfo margin_bottom_setterinfo = {
25302 : { (JSJitGetterOp)set_margin_bottom },
25303 : { prototypes::id::CSS2Properties },
25304 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25305 : JSJitInfo::Setter,
25306 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25307 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
25308 : false, /* isInfallible. False in setters. */
25309 : false, /* isMovable. Not relevant for setters. */
25310 : false, /* isEliminatable. Not relevant for setters. */
25311 : false, /* isAlwaysInSlot. Only relevant for getters. */
25312 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25313 : false, /* isTypedMethod. Only relevant for methods. */
25314 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25315 : };
25316 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25317 : static_assert(0 < 1, "There is no slot for us");
25318 :
25319 : static bool
25320 0 : get_marginInlineEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
25321 : {
25322 0 : binding_detail::FastErrorResult rv;
25323 0 : DOMString result;
25324 0 : self->GetMarginInlineEnd(result, rv);
25325 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25326 0 : return false;
25327 : }
25328 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25329 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
25330 0 : return false;
25331 : }
25332 0 : return true;
25333 : }
25334 :
25335 : static bool
25336 0 : set_marginInlineEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
25337 : {
25338 0 : binding_detail::FakeString arg0;
25339 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
25340 0 : return false;
25341 : }
25342 0 : binding_detail::FastErrorResult rv;
25343 0 : self->SetMarginInlineEnd(NonNullHelper(Constify(arg0)), rv);
25344 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25345 0 : return false;
25346 : }
25347 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25348 :
25349 0 : return true;
25350 : }
25351 :
25352 : static const JSJitInfo marginInlineEnd_getterinfo = {
25353 : { (JSJitGetterOp)get_marginInlineEnd },
25354 : { prototypes::id::CSS2Properties },
25355 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25356 : JSJitInfo::Getter,
25357 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25358 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
25359 : false, /* isInfallible. False in setters. */
25360 : false, /* isMovable. Not relevant for setters. */
25361 : false, /* isEliminatable. Not relevant for setters. */
25362 : false, /* isAlwaysInSlot. Only relevant for getters. */
25363 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25364 : false, /* isTypedMethod. Only relevant for methods. */
25365 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25366 : };
25367 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25368 : static_assert(0 < 1, "There is no slot for us");
25369 : static const JSJitInfo marginInlineEnd_setterinfo = {
25370 : { (JSJitGetterOp)set_marginInlineEnd },
25371 : { prototypes::id::CSS2Properties },
25372 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25373 : JSJitInfo::Setter,
25374 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25375 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
25376 : false, /* isInfallible. False in setters. */
25377 : false, /* isMovable. Not relevant for setters. */
25378 : false, /* isEliminatable. Not relevant for setters. */
25379 : false, /* isAlwaysInSlot. Only relevant for getters. */
25380 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25381 : false, /* isTypedMethod. Only relevant for methods. */
25382 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25383 : };
25384 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25385 : static_assert(0 < 1, "There is no slot for us");
25386 :
25387 : static bool
25388 0 : get_margin_inline_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
25389 : {
25390 0 : binding_detail::FastErrorResult rv;
25391 0 : DOMString result;
25392 0 : self->GetMarginInlineEnd(result, rv);
25393 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25394 0 : return false;
25395 : }
25396 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25397 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
25398 0 : return false;
25399 : }
25400 0 : return true;
25401 : }
25402 :
25403 : static bool
25404 0 : set_margin_inline_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
25405 : {
25406 0 : binding_detail::FakeString arg0;
25407 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
25408 0 : return false;
25409 : }
25410 0 : binding_detail::FastErrorResult rv;
25411 0 : self->SetMarginInlineEnd(NonNullHelper(Constify(arg0)), rv);
25412 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25413 0 : return false;
25414 : }
25415 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25416 :
25417 0 : return true;
25418 : }
25419 :
25420 : static const JSJitInfo margin_inline_end_getterinfo = {
25421 : { (JSJitGetterOp)get_margin_inline_end },
25422 : { prototypes::id::CSS2Properties },
25423 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25424 : JSJitInfo::Getter,
25425 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25426 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
25427 : false, /* isInfallible. False in setters. */
25428 : false, /* isMovable. Not relevant for setters. */
25429 : false, /* isEliminatable. Not relevant for setters. */
25430 : false, /* isAlwaysInSlot. Only relevant for getters. */
25431 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25432 : false, /* isTypedMethod. Only relevant for methods. */
25433 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25434 : };
25435 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25436 : static_assert(0 < 1, "There is no slot for us");
25437 : static const JSJitInfo margin_inline_end_setterinfo = {
25438 : { (JSJitGetterOp)set_margin_inline_end },
25439 : { prototypes::id::CSS2Properties },
25440 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25441 : JSJitInfo::Setter,
25442 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25443 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
25444 : false, /* isInfallible. False in setters. */
25445 : false, /* isMovable. Not relevant for setters. */
25446 : false, /* isEliminatable. Not relevant for setters. */
25447 : false, /* isAlwaysInSlot. Only relevant for getters. */
25448 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25449 : false, /* isTypedMethod. Only relevant for methods. */
25450 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25451 : };
25452 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25453 : static_assert(0 < 1, "There is no slot for us");
25454 :
25455 : static bool
25456 0 : get_marginInlineStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
25457 : {
25458 0 : binding_detail::FastErrorResult rv;
25459 0 : DOMString result;
25460 0 : self->GetMarginInlineStart(result, rv);
25461 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25462 0 : return false;
25463 : }
25464 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25465 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
25466 0 : return false;
25467 : }
25468 0 : return true;
25469 : }
25470 :
25471 : static bool
25472 0 : set_marginInlineStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
25473 : {
25474 0 : binding_detail::FakeString arg0;
25475 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
25476 0 : return false;
25477 : }
25478 0 : binding_detail::FastErrorResult rv;
25479 0 : self->SetMarginInlineStart(NonNullHelper(Constify(arg0)), rv);
25480 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25481 0 : return false;
25482 : }
25483 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25484 :
25485 0 : return true;
25486 : }
25487 :
25488 : static const JSJitInfo marginInlineStart_getterinfo = {
25489 : { (JSJitGetterOp)get_marginInlineStart },
25490 : { prototypes::id::CSS2Properties },
25491 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25492 : JSJitInfo::Getter,
25493 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25494 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
25495 : false, /* isInfallible. False in setters. */
25496 : false, /* isMovable. Not relevant for setters. */
25497 : false, /* isEliminatable. Not relevant for setters. */
25498 : false, /* isAlwaysInSlot. Only relevant for getters. */
25499 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25500 : false, /* isTypedMethod. Only relevant for methods. */
25501 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25502 : };
25503 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25504 : static_assert(0 < 1, "There is no slot for us");
25505 : static const JSJitInfo marginInlineStart_setterinfo = {
25506 : { (JSJitGetterOp)set_marginInlineStart },
25507 : { prototypes::id::CSS2Properties },
25508 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25509 : JSJitInfo::Setter,
25510 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25511 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
25512 : false, /* isInfallible. False in setters. */
25513 : false, /* isMovable. Not relevant for setters. */
25514 : false, /* isEliminatable. Not relevant for setters. */
25515 : false, /* isAlwaysInSlot. Only relevant for getters. */
25516 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25517 : false, /* isTypedMethod. Only relevant for methods. */
25518 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25519 : };
25520 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25521 : static_assert(0 < 1, "There is no slot for us");
25522 :
25523 : static bool
25524 0 : get_margin_inline_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
25525 : {
25526 0 : binding_detail::FastErrorResult rv;
25527 0 : DOMString result;
25528 0 : self->GetMarginInlineStart(result, rv);
25529 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25530 0 : return false;
25531 : }
25532 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25533 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
25534 0 : return false;
25535 : }
25536 0 : return true;
25537 : }
25538 :
25539 : static bool
25540 0 : set_margin_inline_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
25541 : {
25542 0 : binding_detail::FakeString arg0;
25543 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
25544 0 : return false;
25545 : }
25546 0 : binding_detail::FastErrorResult rv;
25547 0 : self->SetMarginInlineStart(NonNullHelper(Constify(arg0)), rv);
25548 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25549 0 : return false;
25550 : }
25551 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25552 :
25553 0 : return true;
25554 : }
25555 :
25556 : static const JSJitInfo margin_inline_start_getterinfo = {
25557 : { (JSJitGetterOp)get_margin_inline_start },
25558 : { prototypes::id::CSS2Properties },
25559 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25560 : JSJitInfo::Getter,
25561 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25562 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
25563 : false, /* isInfallible. False in setters. */
25564 : false, /* isMovable. Not relevant for setters. */
25565 : false, /* isEliminatable. Not relevant for setters. */
25566 : false, /* isAlwaysInSlot. Only relevant for getters. */
25567 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25568 : false, /* isTypedMethod. Only relevant for methods. */
25569 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25570 : };
25571 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25572 : static_assert(0 < 1, "There is no slot for us");
25573 : static const JSJitInfo margin_inline_start_setterinfo = {
25574 : { (JSJitGetterOp)set_margin_inline_start },
25575 : { prototypes::id::CSS2Properties },
25576 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25577 : JSJitInfo::Setter,
25578 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25579 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
25580 : false, /* isInfallible. False in setters. */
25581 : false, /* isMovable. Not relevant for setters. */
25582 : false, /* isEliminatable. Not relevant for setters. */
25583 : false, /* isAlwaysInSlot. Only relevant for getters. */
25584 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25585 : false, /* isTypedMethod. Only relevant for methods. */
25586 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25587 : };
25588 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25589 : static_assert(0 < 1, "There is no slot for us");
25590 :
25591 : static bool
25592 0 : get_marginLeft(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
25593 : {
25594 0 : binding_detail::FastErrorResult rv;
25595 0 : DOMString result;
25596 0 : self->GetMarginLeft(result, rv);
25597 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25598 0 : return false;
25599 : }
25600 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25601 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
25602 0 : return false;
25603 : }
25604 0 : return true;
25605 : }
25606 :
25607 : static bool
25608 0 : set_marginLeft(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
25609 : {
25610 0 : binding_detail::FakeString arg0;
25611 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
25612 0 : return false;
25613 : }
25614 0 : binding_detail::FastErrorResult rv;
25615 0 : self->SetMarginLeft(NonNullHelper(Constify(arg0)), rv);
25616 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25617 0 : return false;
25618 : }
25619 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25620 :
25621 0 : return true;
25622 : }
25623 :
25624 : static const JSJitInfo marginLeft_getterinfo = {
25625 : { (JSJitGetterOp)get_marginLeft },
25626 : { prototypes::id::CSS2Properties },
25627 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25628 : JSJitInfo::Getter,
25629 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25630 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
25631 : false, /* isInfallible. False in setters. */
25632 : false, /* isMovable. Not relevant for setters. */
25633 : false, /* isEliminatable. Not relevant for setters. */
25634 : false, /* isAlwaysInSlot. Only relevant for getters. */
25635 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25636 : false, /* isTypedMethod. Only relevant for methods. */
25637 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25638 : };
25639 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25640 : static_assert(0 < 1, "There is no slot for us");
25641 : static const JSJitInfo marginLeft_setterinfo = {
25642 : { (JSJitGetterOp)set_marginLeft },
25643 : { prototypes::id::CSS2Properties },
25644 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25645 : JSJitInfo::Setter,
25646 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25647 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
25648 : false, /* isInfallible. False in setters. */
25649 : false, /* isMovable. Not relevant for setters. */
25650 : false, /* isEliminatable. Not relevant for setters. */
25651 : false, /* isAlwaysInSlot. Only relevant for getters. */
25652 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25653 : false, /* isTypedMethod. Only relevant for methods. */
25654 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25655 : };
25656 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25657 : static_assert(0 < 1, "There is no slot for us");
25658 :
25659 : static bool
25660 0 : get_margin_left(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
25661 : {
25662 0 : binding_detail::FastErrorResult rv;
25663 0 : DOMString result;
25664 0 : self->GetMarginLeft(result, rv);
25665 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25666 0 : return false;
25667 : }
25668 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25669 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
25670 0 : return false;
25671 : }
25672 0 : return true;
25673 : }
25674 :
25675 : static bool
25676 0 : set_margin_left(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
25677 : {
25678 0 : binding_detail::FakeString arg0;
25679 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
25680 0 : return false;
25681 : }
25682 0 : binding_detail::FastErrorResult rv;
25683 0 : self->SetMarginLeft(NonNullHelper(Constify(arg0)), rv);
25684 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25685 0 : return false;
25686 : }
25687 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25688 :
25689 0 : return true;
25690 : }
25691 :
25692 : static const JSJitInfo margin_left_getterinfo = {
25693 : { (JSJitGetterOp)get_margin_left },
25694 : { prototypes::id::CSS2Properties },
25695 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25696 : JSJitInfo::Getter,
25697 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25698 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
25699 : false, /* isInfallible. False in setters. */
25700 : false, /* isMovable. Not relevant for setters. */
25701 : false, /* isEliminatable. Not relevant for setters. */
25702 : false, /* isAlwaysInSlot. Only relevant for getters. */
25703 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25704 : false, /* isTypedMethod. Only relevant for methods. */
25705 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25706 : };
25707 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25708 : static_assert(0 < 1, "There is no slot for us");
25709 : static const JSJitInfo margin_left_setterinfo = {
25710 : { (JSJitGetterOp)set_margin_left },
25711 : { prototypes::id::CSS2Properties },
25712 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25713 : JSJitInfo::Setter,
25714 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25715 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
25716 : false, /* isInfallible. False in setters. */
25717 : false, /* isMovable. Not relevant for setters. */
25718 : false, /* isEliminatable. Not relevant for setters. */
25719 : false, /* isAlwaysInSlot. Only relevant for getters. */
25720 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25721 : false, /* isTypedMethod. Only relevant for methods. */
25722 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25723 : };
25724 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25725 : static_assert(0 < 1, "There is no slot for us");
25726 :
25727 : static bool
25728 0 : get_marginRight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
25729 : {
25730 0 : binding_detail::FastErrorResult rv;
25731 0 : DOMString result;
25732 0 : self->GetMarginRight(result, rv);
25733 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25734 0 : return false;
25735 : }
25736 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25737 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
25738 0 : return false;
25739 : }
25740 0 : return true;
25741 : }
25742 :
25743 : static bool
25744 0 : set_marginRight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
25745 : {
25746 0 : binding_detail::FakeString arg0;
25747 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
25748 0 : return false;
25749 : }
25750 0 : binding_detail::FastErrorResult rv;
25751 0 : self->SetMarginRight(NonNullHelper(Constify(arg0)), rv);
25752 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25753 0 : return false;
25754 : }
25755 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25756 :
25757 0 : return true;
25758 : }
25759 :
25760 : static const JSJitInfo marginRight_getterinfo = {
25761 : { (JSJitGetterOp)get_marginRight },
25762 : { prototypes::id::CSS2Properties },
25763 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25764 : JSJitInfo::Getter,
25765 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25766 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
25767 : false, /* isInfallible. False in setters. */
25768 : false, /* isMovable. Not relevant for setters. */
25769 : false, /* isEliminatable. Not relevant for setters. */
25770 : false, /* isAlwaysInSlot. Only relevant for getters. */
25771 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25772 : false, /* isTypedMethod. Only relevant for methods. */
25773 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25774 : };
25775 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25776 : static_assert(0 < 1, "There is no slot for us");
25777 : static const JSJitInfo marginRight_setterinfo = {
25778 : { (JSJitGetterOp)set_marginRight },
25779 : { prototypes::id::CSS2Properties },
25780 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25781 : JSJitInfo::Setter,
25782 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25783 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
25784 : false, /* isInfallible. False in setters. */
25785 : false, /* isMovable. Not relevant for setters. */
25786 : false, /* isEliminatable. Not relevant for setters. */
25787 : false, /* isAlwaysInSlot. Only relevant for getters. */
25788 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25789 : false, /* isTypedMethod. Only relevant for methods. */
25790 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25791 : };
25792 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25793 : static_assert(0 < 1, "There is no slot for us");
25794 :
25795 : static bool
25796 0 : get_margin_right(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
25797 : {
25798 0 : binding_detail::FastErrorResult rv;
25799 0 : DOMString result;
25800 0 : self->GetMarginRight(result, rv);
25801 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25802 0 : return false;
25803 : }
25804 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25805 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
25806 0 : return false;
25807 : }
25808 0 : return true;
25809 : }
25810 :
25811 : static bool
25812 0 : set_margin_right(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
25813 : {
25814 0 : binding_detail::FakeString arg0;
25815 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
25816 0 : return false;
25817 : }
25818 0 : binding_detail::FastErrorResult rv;
25819 0 : self->SetMarginRight(NonNullHelper(Constify(arg0)), rv);
25820 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25821 0 : return false;
25822 : }
25823 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25824 :
25825 0 : return true;
25826 : }
25827 :
25828 : static const JSJitInfo margin_right_getterinfo = {
25829 : { (JSJitGetterOp)get_margin_right },
25830 : { prototypes::id::CSS2Properties },
25831 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25832 : JSJitInfo::Getter,
25833 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25834 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
25835 : false, /* isInfallible. False in setters. */
25836 : false, /* isMovable. Not relevant for setters. */
25837 : false, /* isEliminatable. Not relevant for setters. */
25838 : false, /* isAlwaysInSlot. Only relevant for getters. */
25839 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25840 : false, /* isTypedMethod. Only relevant for methods. */
25841 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25842 : };
25843 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25844 : static_assert(0 < 1, "There is no slot for us");
25845 : static const JSJitInfo margin_right_setterinfo = {
25846 : { (JSJitGetterOp)set_margin_right },
25847 : { prototypes::id::CSS2Properties },
25848 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25849 : JSJitInfo::Setter,
25850 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25851 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
25852 : false, /* isInfallible. False in setters. */
25853 : false, /* isMovable. Not relevant for setters. */
25854 : false, /* isEliminatable. Not relevant for setters. */
25855 : false, /* isAlwaysInSlot. Only relevant for getters. */
25856 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25857 : false, /* isTypedMethod. Only relevant for methods. */
25858 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25859 : };
25860 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25861 : static_assert(0 < 1, "There is no slot for us");
25862 :
25863 : static bool
25864 0 : get_marginTop(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
25865 : {
25866 0 : binding_detail::FastErrorResult rv;
25867 0 : DOMString result;
25868 0 : self->GetMarginTop(result, rv);
25869 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25870 0 : return false;
25871 : }
25872 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25873 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
25874 0 : return false;
25875 : }
25876 0 : return true;
25877 : }
25878 :
25879 : static bool
25880 0 : set_marginTop(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
25881 : {
25882 0 : binding_detail::FakeString arg0;
25883 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
25884 0 : return false;
25885 : }
25886 0 : binding_detail::FastErrorResult rv;
25887 0 : self->SetMarginTop(NonNullHelper(Constify(arg0)), rv);
25888 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25889 0 : return false;
25890 : }
25891 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25892 :
25893 0 : return true;
25894 : }
25895 :
25896 : static const JSJitInfo marginTop_getterinfo = {
25897 : { (JSJitGetterOp)get_marginTop },
25898 : { prototypes::id::CSS2Properties },
25899 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25900 : JSJitInfo::Getter,
25901 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25902 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
25903 : false, /* isInfallible. False in setters. */
25904 : false, /* isMovable. Not relevant for setters. */
25905 : false, /* isEliminatable. Not relevant for setters. */
25906 : false, /* isAlwaysInSlot. Only relevant for getters. */
25907 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25908 : false, /* isTypedMethod. Only relevant for methods. */
25909 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25910 : };
25911 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25912 : static_assert(0 < 1, "There is no slot for us");
25913 : static const JSJitInfo marginTop_setterinfo = {
25914 : { (JSJitGetterOp)set_marginTop },
25915 : { prototypes::id::CSS2Properties },
25916 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25917 : JSJitInfo::Setter,
25918 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25919 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
25920 : false, /* isInfallible. False in setters. */
25921 : false, /* isMovable. Not relevant for setters. */
25922 : false, /* isEliminatable. Not relevant for setters. */
25923 : false, /* isAlwaysInSlot. Only relevant for getters. */
25924 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25925 : false, /* isTypedMethod. Only relevant for methods. */
25926 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25927 : };
25928 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25929 : static_assert(0 < 1, "There is no slot for us");
25930 :
25931 : static bool
25932 0 : get_margin_top(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
25933 : {
25934 0 : binding_detail::FastErrorResult rv;
25935 0 : DOMString result;
25936 0 : self->GetMarginTop(result, rv);
25937 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25938 0 : return false;
25939 : }
25940 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25941 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
25942 0 : return false;
25943 : }
25944 0 : return true;
25945 : }
25946 :
25947 : static bool
25948 0 : set_margin_top(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
25949 : {
25950 0 : binding_detail::FakeString arg0;
25951 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
25952 0 : return false;
25953 : }
25954 0 : binding_detail::FastErrorResult rv;
25955 0 : self->SetMarginTop(NonNullHelper(Constify(arg0)), rv);
25956 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
25957 0 : return false;
25958 : }
25959 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
25960 :
25961 0 : return true;
25962 : }
25963 :
25964 : static const JSJitInfo margin_top_getterinfo = {
25965 : { (JSJitGetterOp)get_margin_top },
25966 : { prototypes::id::CSS2Properties },
25967 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25968 : JSJitInfo::Getter,
25969 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25970 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
25971 : false, /* isInfallible. False in setters. */
25972 : false, /* isMovable. Not relevant for setters. */
25973 : false, /* isEliminatable. Not relevant for setters. */
25974 : false, /* isAlwaysInSlot. Only relevant for getters. */
25975 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25976 : false, /* isTypedMethod. Only relevant for methods. */
25977 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25978 : };
25979 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25980 : static_assert(0 < 1, "There is no slot for us");
25981 : static const JSJitInfo margin_top_setterinfo = {
25982 : { (JSJitGetterOp)set_margin_top },
25983 : { prototypes::id::CSS2Properties },
25984 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
25985 : JSJitInfo::Setter,
25986 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
25987 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
25988 : false, /* isInfallible. False in setters. */
25989 : false, /* isMovable. Not relevant for setters. */
25990 : false, /* isEliminatable. Not relevant for setters. */
25991 : false, /* isAlwaysInSlot. Only relevant for getters. */
25992 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
25993 : false, /* isTypedMethod. Only relevant for methods. */
25994 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
25995 : };
25996 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
25997 : static_assert(0 < 1, "There is no slot for us");
25998 :
25999 : static bool
26000 0 : get_marker(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
26001 : {
26002 0 : binding_detail::FastErrorResult rv;
26003 0 : DOMString result;
26004 0 : self->GetMarker(result, rv);
26005 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26006 0 : return false;
26007 : }
26008 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26009 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
26010 0 : return false;
26011 : }
26012 0 : return true;
26013 : }
26014 :
26015 : static bool
26016 0 : set_marker(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
26017 : {
26018 0 : binding_detail::FakeString arg0;
26019 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
26020 0 : return false;
26021 : }
26022 0 : binding_detail::FastErrorResult rv;
26023 0 : self->SetMarker(NonNullHelper(Constify(arg0)), rv);
26024 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26025 0 : return false;
26026 : }
26027 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26028 :
26029 0 : return true;
26030 : }
26031 :
26032 : static const JSJitInfo marker_getterinfo = {
26033 : { (JSJitGetterOp)get_marker },
26034 : { prototypes::id::CSS2Properties },
26035 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26036 : JSJitInfo::Getter,
26037 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26038 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
26039 : false, /* isInfallible. False in setters. */
26040 : false, /* isMovable. Not relevant for setters. */
26041 : false, /* isEliminatable. Not relevant for setters. */
26042 : false, /* isAlwaysInSlot. Only relevant for getters. */
26043 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26044 : false, /* isTypedMethod. Only relevant for methods. */
26045 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26046 : };
26047 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26048 : static_assert(0 < 1, "There is no slot for us");
26049 : static const JSJitInfo marker_setterinfo = {
26050 : { (JSJitGetterOp)set_marker },
26051 : { prototypes::id::CSS2Properties },
26052 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26053 : JSJitInfo::Setter,
26054 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26055 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
26056 : false, /* isInfallible. False in setters. */
26057 : false, /* isMovable. Not relevant for setters. */
26058 : false, /* isEliminatable. Not relevant for setters. */
26059 : false, /* isAlwaysInSlot. Only relevant for getters. */
26060 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26061 : false, /* isTypedMethod. Only relevant for methods. */
26062 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26063 : };
26064 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26065 : static_assert(0 < 1, "There is no slot for us");
26066 :
26067 : static bool
26068 0 : get_markerEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
26069 : {
26070 0 : binding_detail::FastErrorResult rv;
26071 0 : DOMString result;
26072 0 : self->GetMarkerEnd(result, rv);
26073 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26074 0 : return false;
26075 : }
26076 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26077 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
26078 0 : return false;
26079 : }
26080 0 : return true;
26081 : }
26082 :
26083 : static bool
26084 0 : set_markerEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
26085 : {
26086 0 : binding_detail::FakeString arg0;
26087 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
26088 0 : return false;
26089 : }
26090 0 : binding_detail::FastErrorResult rv;
26091 0 : self->SetMarkerEnd(NonNullHelper(Constify(arg0)), rv);
26092 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26093 0 : return false;
26094 : }
26095 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26096 :
26097 0 : return true;
26098 : }
26099 :
26100 : static const JSJitInfo markerEnd_getterinfo = {
26101 : { (JSJitGetterOp)get_markerEnd },
26102 : { prototypes::id::CSS2Properties },
26103 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26104 : JSJitInfo::Getter,
26105 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26106 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
26107 : false, /* isInfallible. False in setters. */
26108 : false, /* isMovable. Not relevant for setters. */
26109 : false, /* isEliminatable. Not relevant for setters. */
26110 : false, /* isAlwaysInSlot. Only relevant for getters. */
26111 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26112 : false, /* isTypedMethod. Only relevant for methods. */
26113 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26114 : };
26115 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26116 : static_assert(0 < 1, "There is no slot for us");
26117 : static const JSJitInfo markerEnd_setterinfo = {
26118 : { (JSJitGetterOp)set_markerEnd },
26119 : { prototypes::id::CSS2Properties },
26120 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26121 : JSJitInfo::Setter,
26122 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26123 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
26124 : false, /* isInfallible. False in setters. */
26125 : false, /* isMovable. Not relevant for setters. */
26126 : false, /* isEliminatable. Not relevant for setters. */
26127 : false, /* isAlwaysInSlot. Only relevant for getters. */
26128 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26129 : false, /* isTypedMethod. Only relevant for methods. */
26130 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26131 : };
26132 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26133 : static_assert(0 < 1, "There is no slot for us");
26134 :
26135 : static bool
26136 0 : get_marker_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
26137 : {
26138 0 : binding_detail::FastErrorResult rv;
26139 0 : DOMString result;
26140 0 : self->GetMarkerEnd(result, rv);
26141 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26142 0 : return false;
26143 : }
26144 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26145 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
26146 0 : return false;
26147 : }
26148 0 : return true;
26149 : }
26150 :
26151 : static bool
26152 0 : set_marker_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
26153 : {
26154 0 : binding_detail::FakeString arg0;
26155 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
26156 0 : return false;
26157 : }
26158 0 : binding_detail::FastErrorResult rv;
26159 0 : self->SetMarkerEnd(NonNullHelper(Constify(arg0)), rv);
26160 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26161 0 : return false;
26162 : }
26163 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26164 :
26165 0 : return true;
26166 : }
26167 :
26168 : static const JSJitInfo marker_end_getterinfo = {
26169 : { (JSJitGetterOp)get_marker_end },
26170 : { prototypes::id::CSS2Properties },
26171 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26172 : JSJitInfo::Getter,
26173 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26174 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
26175 : false, /* isInfallible. False in setters. */
26176 : false, /* isMovable. Not relevant for setters. */
26177 : false, /* isEliminatable. Not relevant for setters. */
26178 : false, /* isAlwaysInSlot. Only relevant for getters. */
26179 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26180 : false, /* isTypedMethod. Only relevant for methods. */
26181 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26182 : };
26183 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26184 : static_assert(0 < 1, "There is no slot for us");
26185 : static const JSJitInfo marker_end_setterinfo = {
26186 : { (JSJitGetterOp)set_marker_end },
26187 : { prototypes::id::CSS2Properties },
26188 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26189 : JSJitInfo::Setter,
26190 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26191 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
26192 : false, /* isInfallible. False in setters. */
26193 : false, /* isMovable. Not relevant for setters. */
26194 : false, /* isEliminatable. Not relevant for setters. */
26195 : false, /* isAlwaysInSlot. Only relevant for getters. */
26196 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26197 : false, /* isTypedMethod. Only relevant for methods. */
26198 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26199 : };
26200 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26201 : static_assert(0 < 1, "There is no slot for us");
26202 :
26203 : static bool
26204 0 : get_markerMid(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
26205 : {
26206 0 : binding_detail::FastErrorResult rv;
26207 0 : DOMString result;
26208 0 : self->GetMarkerMid(result, rv);
26209 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26210 0 : return false;
26211 : }
26212 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26213 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
26214 0 : return false;
26215 : }
26216 0 : return true;
26217 : }
26218 :
26219 : static bool
26220 0 : set_markerMid(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
26221 : {
26222 0 : binding_detail::FakeString arg0;
26223 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
26224 0 : return false;
26225 : }
26226 0 : binding_detail::FastErrorResult rv;
26227 0 : self->SetMarkerMid(NonNullHelper(Constify(arg0)), rv);
26228 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26229 0 : return false;
26230 : }
26231 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26232 :
26233 0 : return true;
26234 : }
26235 :
26236 : static const JSJitInfo markerMid_getterinfo = {
26237 : { (JSJitGetterOp)get_markerMid },
26238 : { prototypes::id::CSS2Properties },
26239 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26240 : JSJitInfo::Getter,
26241 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26242 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
26243 : false, /* isInfallible. False in setters. */
26244 : false, /* isMovable. Not relevant for setters. */
26245 : false, /* isEliminatable. Not relevant for setters. */
26246 : false, /* isAlwaysInSlot. Only relevant for getters. */
26247 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26248 : false, /* isTypedMethod. Only relevant for methods. */
26249 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26250 : };
26251 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26252 : static_assert(0 < 1, "There is no slot for us");
26253 : static const JSJitInfo markerMid_setterinfo = {
26254 : { (JSJitGetterOp)set_markerMid },
26255 : { prototypes::id::CSS2Properties },
26256 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26257 : JSJitInfo::Setter,
26258 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26259 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
26260 : false, /* isInfallible. False in setters. */
26261 : false, /* isMovable. Not relevant for setters. */
26262 : false, /* isEliminatable. Not relevant for setters. */
26263 : false, /* isAlwaysInSlot. Only relevant for getters. */
26264 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26265 : false, /* isTypedMethod. Only relevant for methods. */
26266 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26267 : };
26268 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26269 : static_assert(0 < 1, "There is no slot for us");
26270 :
26271 : static bool
26272 0 : get_marker_mid(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
26273 : {
26274 0 : binding_detail::FastErrorResult rv;
26275 0 : DOMString result;
26276 0 : self->GetMarkerMid(result, rv);
26277 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26278 0 : return false;
26279 : }
26280 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26281 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
26282 0 : return false;
26283 : }
26284 0 : return true;
26285 : }
26286 :
26287 : static bool
26288 0 : set_marker_mid(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
26289 : {
26290 0 : binding_detail::FakeString arg0;
26291 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
26292 0 : return false;
26293 : }
26294 0 : binding_detail::FastErrorResult rv;
26295 0 : self->SetMarkerMid(NonNullHelper(Constify(arg0)), rv);
26296 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26297 0 : return false;
26298 : }
26299 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26300 :
26301 0 : return true;
26302 : }
26303 :
26304 : static const JSJitInfo marker_mid_getterinfo = {
26305 : { (JSJitGetterOp)get_marker_mid },
26306 : { prototypes::id::CSS2Properties },
26307 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26308 : JSJitInfo::Getter,
26309 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26310 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
26311 : false, /* isInfallible. False in setters. */
26312 : false, /* isMovable. Not relevant for setters. */
26313 : false, /* isEliminatable. Not relevant for setters. */
26314 : false, /* isAlwaysInSlot. Only relevant for getters. */
26315 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26316 : false, /* isTypedMethod. Only relevant for methods. */
26317 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26318 : };
26319 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26320 : static_assert(0 < 1, "There is no slot for us");
26321 : static const JSJitInfo marker_mid_setterinfo = {
26322 : { (JSJitGetterOp)set_marker_mid },
26323 : { prototypes::id::CSS2Properties },
26324 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26325 : JSJitInfo::Setter,
26326 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26327 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
26328 : false, /* isInfallible. False in setters. */
26329 : false, /* isMovable. Not relevant for setters. */
26330 : false, /* isEliminatable. Not relevant for setters. */
26331 : false, /* isAlwaysInSlot. Only relevant for getters. */
26332 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26333 : false, /* isTypedMethod. Only relevant for methods. */
26334 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26335 : };
26336 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26337 : static_assert(0 < 1, "There is no slot for us");
26338 :
26339 : static bool
26340 0 : get_markerStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
26341 : {
26342 0 : binding_detail::FastErrorResult rv;
26343 0 : DOMString result;
26344 0 : self->GetMarkerStart(result, rv);
26345 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26346 0 : return false;
26347 : }
26348 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26349 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
26350 0 : return false;
26351 : }
26352 0 : return true;
26353 : }
26354 :
26355 : static bool
26356 0 : set_markerStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
26357 : {
26358 0 : binding_detail::FakeString arg0;
26359 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
26360 0 : return false;
26361 : }
26362 0 : binding_detail::FastErrorResult rv;
26363 0 : self->SetMarkerStart(NonNullHelper(Constify(arg0)), rv);
26364 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26365 0 : return false;
26366 : }
26367 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26368 :
26369 0 : return true;
26370 : }
26371 :
26372 : static const JSJitInfo markerStart_getterinfo = {
26373 : { (JSJitGetterOp)get_markerStart },
26374 : { prototypes::id::CSS2Properties },
26375 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26376 : JSJitInfo::Getter,
26377 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26378 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
26379 : false, /* isInfallible. False in setters. */
26380 : false, /* isMovable. Not relevant for setters. */
26381 : false, /* isEliminatable. Not relevant for setters. */
26382 : false, /* isAlwaysInSlot. Only relevant for getters. */
26383 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26384 : false, /* isTypedMethod. Only relevant for methods. */
26385 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26386 : };
26387 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26388 : static_assert(0 < 1, "There is no slot for us");
26389 : static const JSJitInfo markerStart_setterinfo = {
26390 : { (JSJitGetterOp)set_markerStart },
26391 : { prototypes::id::CSS2Properties },
26392 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26393 : JSJitInfo::Setter,
26394 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26395 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
26396 : false, /* isInfallible. False in setters. */
26397 : false, /* isMovable. Not relevant for setters. */
26398 : false, /* isEliminatable. Not relevant for setters. */
26399 : false, /* isAlwaysInSlot. Only relevant for getters. */
26400 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26401 : false, /* isTypedMethod. Only relevant for methods. */
26402 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26403 : };
26404 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26405 : static_assert(0 < 1, "There is no slot for us");
26406 :
26407 : static bool
26408 0 : get_marker_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
26409 : {
26410 0 : binding_detail::FastErrorResult rv;
26411 0 : DOMString result;
26412 0 : self->GetMarkerStart(result, rv);
26413 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26414 0 : return false;
26415 : }
26416 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26417 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
26418 0 : return false;
26419 : }
26420 0 : return true;
26421 : }
26422 :
26423 : static bool
26424 0 : set_marker_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
26425 : {
26426 0 : binding_detail::FakeString arg0;
26427 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
26428 0 : return false;
26429 : }
26430 0 : binding_detail::FastErrorResult rv;
26431 0 : self->SetMarkerStart(NonNullHelper(Constify(arg0)), rv);
26432 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26433 0 : return false;
26434 : }
26435 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26436 :
26437 0 : return true;
26438 : }
26439 :
26440 : static const JSJitInfo marker_start_getterinfo = {
26441 : { (JSJitGetterOp)get_marker_start },
26442 : { prototypes::id::CSS2Properties },
26443 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26444 : JSJitInfo::Getter,
26445 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26446 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
26447 : false, /* isInfallible. False in setters. */
26448 : false, /* isMovable. Not relevant for setters. */
26449 : false, /* isEliminatable. Not relevant for setters. */
26450 : false, /* isAlwaysInSlot. Only relevant for getters. */
26451 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26452 : false, /* isTypedMethod. Only relevant for methods. */
26453 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26454 : };
26455 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26456 : static_assert(0 < 1, "There is no slot for us");
26457 : static const JSJitInfo marker_start_setterinfo = {
26458 : { (JSJitGetterOp)set_marker_start },
26459 : { prototypes::id::CSS2Properties },
26460 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26461 : JSJitInfo::Setter,
26462 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26463 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
26464 : false, /* isInfallible. False in setters. */
26465 : false, /* isMovable. Not relevant for setters. */
26466 : false, /* isEliminatable. Not relevant for setters. */
26467 : false, /* isAlwaysInSlot. Only relevant for getters. */
26468 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26469 : false, /* isTypedMethod. Only relevant for methods. */
26470 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26471 : };
26472 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26473 : static_assert(0 < 1, "There is no slot for us");
26474 :
26475 : static bool
26476 0 : get_mask(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
26477 : {
26478 0 : binding_detail::FastErrorResult rv;
26479 0 : DOMString result;
26480 0 : self->GetMask(result, rv);
26481 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26482 0 : return false;
26483 : }
26484 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26485 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
26486 0 : return false;
26487 : }
26488 0 : return true;
26489 : }
26490 :
26491 : static bool
26492 0 : set_mask(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
26493 : {
26494 0 : binding_detail::FakeString arg0;
26495 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
26496 0 : return false;
26497 : }
26498 0 : binding_detail::FastErrorResult rv;
26499 0 : self->SetMask(NonNullHelper(Constify(arg0)), rv);
26500 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26501 0 : return false;
26502 : }
26503 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26504 :
26505 0 : return true;
26506 : }
26507 :
26508 : static const JSJitInfo mask_getterinfo = {
26509 : { (JSJitGetterOp)get_mask },
26510 : { prototypes::id::CSS2Properties },
26511 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26512 : JSJitInfo::Getter,
26513 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26514 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
26515 : false, /* isInfallible. False in setters. */
26516 : false, /* isMovable. Not relevant for setters. */
26517 : false, /* isEliminatable. Not relevant for setters. */
26518 : false, /* isAlwaysInSlot. Only relevant for getters. */
26519 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26520 : false, /* isTypedMethod. Only relevant for methods. */
26521 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26522 : };
26523 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26524 : static_assert(0 < 1, "There is no slot for us");
26525 : static const JSJitInfo mask_setterinfo = {
26526 : { (JSJitGetterOp)set_mask },
26527 : { prototypes::id::CSS2Properties },
26528 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26529 : JSJitInfo::Setter,
26530 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26531 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
26532 : false, /* isInfallible. False in setters. */
26533 : false, /* isMovable. Not relevant for setters. */
26534 : false, /* isEliminatable. Not relevant for setters. */
26535 : false, /* isAlwaysInSlot. Only relevant for getters. */
26536 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26537 : false, /* isTypedMethod. Only relevant for methods. */
26538 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26539 : };
26540 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26541 : static_assert(0 < 1, "There is no slot for us");
26542 :
26543 : static bool
26544 0 : get_maskClip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
26545 : {
26546 0 : binding_detail::FastErrorResult rv;
26547 0 : DOMString result;
26548 0 : self->GetMaskClip(result, rv);
26549 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26550 0 : return false;
26551 : }
26552 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26553 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
26554 0 : return false;
26555 : }
26556 0 : return true;
26557 : }
26558 :
26559 : static bool
26560 0 : set_maskClip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
26561 : {
26562 0 : binding_detail::FakeString arg0;
26563 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
26564 0 : return false;
26565 : }
26566 0 : binding_detail::FastErrorResult rv;
26567 0 : self->SetMaskClip(NonNullHelper(Constify(arg0)), rv);
26568 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26569 0 : return false;
26570 : }
26571 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26572 :
26573 0 : return true;
26574 : }
26575 :
26576 : static const JSJitInfo maskClip_getterinfo = {
26577 : { (JSJitGetterOp)get_maskClip },
26578 : { prototypes::id::CSS2Properties },
26579 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26580 : JSJitInfo::Getter,
26581 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26582 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
26583 : false, /* isInfallible. False in setters. */
26584 : false, /* isMovable. Not relevant for setters. */
26585 : false, /* isEliminatable. Not relevant for setters. */
26586 : false, /* isAlwaysInSlot. Only relevant for getters. */
26587 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26588 : false, /* isTypedMethod. Only relevant for methods. */
26589 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26590 : };
26591 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26592 : static_assert(0 < 1, "There is no slot for us");
26593 : static const JSJitInfo maskClip_setterinfo = {
26594 : { (JSJitGetterOp)set_maskClip },
26595 : { prototypes::id::CSS2Properties },
26596 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26597 : JSJitInfo::Setter,
26598 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26599 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
26600 : false, /* isInfallible. False in setters. */
26601 : false, /* isMovable. Not relevant for setters. */
26602 : false, /* isEliminatable. Not relevant for setters. */
26603 : false, /* isAlwaysInSlot. Only relevant for getters. */
26604 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26605 : false, /* isTypedMethod. Only relevant for methods. */
26606 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26607 : };
26608 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26609 : static_assert(0 < 1, "There is no slot for us");
26610 :
26611 : static bool
26612 0 : get_mask_clip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
26613 : {
26614 0 : binding_detail::FastErrorResult rv;
26615 0 : DOMString result;
26616 0 : self->GetMaskClip(result, rv);
26617 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26618 0 : return false;
26619 : }
26620 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26621 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
26622 0 : return false;
26623 : }
26624 0 : return true;
26625 : }
26626 :
26627 : static bool
26628 0 : set_mask_clip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
26629 : {
26630 0 : binding_detail::FakeString arg0;
26631 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
26632 0 : return false;
26633 : }
26634 0 : binding_detail::FastErrorResult rv;
26635 0 : self->SetMaskClip(NonNullHelper(Constify(arg0)), rv);
26636 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26637 0 : return false;
26638 : }
26639 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26640 :
26641 0 : return true;
26642 : }
26643 :
26644 : static const JSJitInfo mask_clip_getterinfo = {
26645 : { (JSJitGetterOp)get_mask_clip },
26646 : { prototypes::id::CSS2Properties },
26647 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26648 : JSJitInfo::Getter,
26649 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26650 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
26651 : false, /* isInfallible. False in setters. */
26652 : false, /* isMovable. Not relevant for setters. */
26653 : false, /* isEliminatable. Not relevant for setters. */
26654 : false, /* isAlwaysInSlot. Only relevant for getters. */
26655 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26656 : false, /* isTypedMethod. Only relevant for methods. */
26657 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26658 : };
26659 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26660 : static_assert(0 < 1, "There is no slot for us");
26661 : static const JSJitInfo mask_clip_setterinfo = {
26662 : { (JSJitGetterOp)set_mask_clip },
26663 : { prototypes::id::CSS2Properties },
26664 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26665 : JSJitInfo::Setter,
26666 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26667 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
26668 : false, /* isInfallible. False in setters. */
26669 : false, /* isMovable. Not relevant for setters. */
26670 : false, /* isEliminatable. Not relevant for setters. */
26671 : false, /* isAlwaysInSlot. Only relevant for getters. */
26672 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26673 : false, /* isTypedMethod. Only relevant for methods. */
26674 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26675 : };
26676 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26677 : static_assert(0 < 1, "There is no slot for us");
26678 :
26679 : static bool
26680 0 : get_maskComposite(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
26681 : {
26682 0 : binding_detail::FastErrorResult rv;
26683 0 : DOMString result;
26684 0 : self->GetMaskComposite(result, rv);
26685 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26686 0 : return false;
26687 : }
26688 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26689 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
26690 0 : return false;
26691 : }
26692 0 : return true;
26693 : }
26694 :
26695 : static bool
26696 0 : set_maskComposite(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
26697 : {
26698 0 : binding_detail::FakeString arg0;
26699 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
26700 0 : return false;
26701 : }
26702 0 : binding_detail::FastErrorResult rv;
26703 0 : self->SetMaskComposite(NonNullHelper(Constify(arg0)), rv);
26704 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26705 0 : return false;
26706 : }
26707 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26708 :
26709 0 : return true;
26710 : }
26711 :
26712 : static const JSJitInfo maskComposite_getterinfo = {
26713 : { (JSJitGetterOp)get_maskComposite },
26714 : { prototypes::id::CSS2Properties },
26715 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26716 : JSJitInfo::Getter,
26717 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26718 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
26719 : false, /* isInfallible. False in setters. */
26720 : false, /* isMovable. Not relevant for setters. */
26721 : false, /* isEliminatable. Not relevant for setters. */
26722 : false, /* isAlwaysInSlot. Only relevant for getters. */
26723 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26724 : false, /* isTypedMethod. Only relevant for methods. */
26725 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26726 : };
26727 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26728 : static_assert(0 < 1, "There is no slot for us");
26729 : static const JSJitInfo maskComposite_setterinfo = {
26730 : { (JSJitGetterOp)set_maskComposite },
26731 : { prototypes::id::CSS2Properties },
26732 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26733 : JSJitInfo::Setter,
26734 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26735 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
26736 : false, /* isInfallible. False in setters. */
26737 : false, /* isMovable. Not relevant for setters. */
26738 : false, /* isEliminatable. Not relevant for setters. */
26739 : false, /* isAlwaysInSlot. Only relevant for getters. */
26740 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26741 : false, /* isTypedMethod. Only relevant for methods. */
26742 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26743 : };
26744 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26745 : static_assert(0 < 1, "There is no slot for us");
26746 :
26747 : static bool
26748 0 : get_mask_composite(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
26749 : {
26750 0 : binding_detail::FastErrorResult rv;
26751 0 : DOMString result;
26752 0 : self->GetMaskComposite(result, rv);
26753 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26754 0 : return false;
26755 : }
26756 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26757 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
26758 0 : return false;
26759 : }
26760 0 : return true;
26761 : }
26762 :
26763 : static bool
26764 0 : set_mask_composite(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
26765 : {
26766 0 : binding_detail::FakeString arg0;
26767 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
26768 0 : return false;
26769 : }
26770 0 : binding_detail::FastErrorResult rv;
26771 0 : self->SetMaskComposite(NonNullHelper(Constify(arg0)), rv);
26772 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26773 0 : return false;
26774 : }
26775 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26776 :
26777 0 : return true;
26778 : }
26779 :
26780 : static const JSJitInfo mask_composite_getterinfo = {
26781 : { (JSJitGetterOp)get_mask_composite },
26782 : { prototypes::id::CSS2Properties },
26783 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26784 : JSJitInfo::Getter,
26785 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26786 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
26787 : false, /* isInfallible. False in setters. */
26788 : false, /* isMovable. Not relevant for setters. */
26789 : false, /* isEliminatable. Not relevant for setters. */
26790 : false, /* isAlwaysInSlot. Only relevant for getters. */
26791 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26792 : false, /* isTypedMethod. Only relevant for methods. */
26793 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26794 : };
26795 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26796 : static_assert(0 < 1, "There is no slot for us");
26797 : static const JSJitInfo mask_composite_setterinfo = {
26798 : { (JSJitGetterOp)set_mask_composite },
26799 : { prototypes::id::CSS2Properties },
26800 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26801 : JSJitInfo::Setter,
26802 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26803 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
26804 : false, /* isInfallible. False in setters. */
26805 : false, /* isMovable. Not relevant for setters. */
26806 : false, /* isEliminatable. Not relevant for setters. */
26807 : false, /* isAlwaysInSlot. Only relevant for getters. */
26808 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26809 : false, /* isTypedMethod. Only relevant for methods. */
26810 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26811 : };
26812 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26813 : static_assert(0 < 1, "There is no slot for us");
26814 :
26815 : static bool
26816 0 : get_maskImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
26817 : {
26818 0 : binding_detail::FastErrorResult rv;
26819 0 : DOMString result;
26820 0 : self->GetMaskImage(result, rv);
26821 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26822 0 : return false;
26823 : }
26824 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26825 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
26826 0 : return false;
26827 : }
26828 0 : return true;
26829 : }
26830 :
26831 : static bool
26832 0 : set_maskImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
26833 : {
26834 0 : binding_detail::FakeString arg0;
26835 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
26836 0 : return false;
26837 : }
26838 0 : binding_detail::FastErrorResult rv;
26839 0 : self->SetMaskImage(NonNullHelper(Constify(arg0)), rv);
26840 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26841 0 : return false;
26842 : }
26843 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26844 :
26845 0 : return true;
26846 : }
26847 :
26848 : static const JSJitInfo maskImage_getterinfo = {
26849 : { (JSJitGetterOp)get_maskImage },
26850 : { prototypes::id::CSS2Properties },
26851 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26852 : JSJitInfo::Getter,
26853 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26854 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
26855 : false, /* isInfallible. False in setters. */
26856 : false, /* isMovable. Not relevant for setters. */
26857 : false, /* isEliminatable. Not relevant for setters. */
26858 : false, /* isAlwaysInSlot. Only relevant for getters. */
26859 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26860 : false, /* isTypedMethod. Only relevant for methods. */
26861 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26862 : };
26863 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26864 : static_assert(0 < 1, "There is no slot for us");
26865 : static const JSJitInfo maskImage_setterinfo = {
26866 : { (JSJitGetterOp)set_maskImage },
26867 : { prototypes::id::CSS2Properties },
26868 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26869 : JSJitInfo::Setter,
26870 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26871 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
26872 : false, /* isInfallible. False in setters. */
26873 : false, /* isMovable. Not relevant for setters. */
26874 : false, /* isEliminatable. Not relevant for setters. */
26875 : false, /* isAlwaysInSlot. Only relevant for getters. */
26876 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26877 : false, /* isTypedMethod. Only relevant for methods. */
26878 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26879 : };
26880 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26881 : static_assert(0 < 1, "There is no slot for us");
26882 :
26883 : static bool
26884 0 : get_mask_image(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
26885 : {
26886 0 : binding_detail::FastErrorResult rv;
26887 0 : DOMString result;
26888 0 : self->GetMaskImage(result, rv);
26889 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26890 0 : return false;
26891 : }
26892 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26893 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
26894 0 : return false;
26895 : }
26896 0 : return true;
26897 : }
26898 :
26899 : static bool
26900 0 : set_mask_image(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
26901 : {
26902 0 : binding_detail::FakeString arg0;
26903 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
26904 0 : return false;
26905 : }
26906 0 : binding_detail::FastErrorResult rv;
26907 0 : self->SetMaskImage(NonNullHelper(Constify(arg0)), rv);
26908 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26909 0 : return false;
26910 : }
26911 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26912 :
26913 0 : return true;
26914 : }
26915 :
26916 : static const JSJitInfo mask_image_getterinfo = {
26917 : { (JSJitGetterOp)get_mask_image },
26918 : { prototypes::id::CSS2Properties },
26919 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26920 : JSJitInfo::Getter,
26921 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26922 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
26923 : false, /* isInfallible. False in setters. */
26924 : false, /* isMovable. Not relevant for setters. */
26925 : false, /* isEliminatable. Not relevant for setters. */
26926 : false, /* isAlwaysInSlot. Only relevant for getters. */
26927 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26928 : false, /* isTypedMethod. Only relevant for methods. */
26929 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26930 : };
26931 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26932 : static_assert(0 < 1, "There is no slot for us");
26933 : static const JSJitInfo mask_image_setterinfo = {
26934 : { (JSJitGetterOp)set_mask_image },
26935 : { prototypes::id::CSS2Properties },
26936 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26937 : JSJitInfo::Setter,
26938 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26939 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
26940 : false, /* isInfallible. False in setters. */
26941 : false, /* isMovable. Not relevant for setters. */
26942 : false, /* isEliminatable. Not relevant for setters. */
26943 : false, /* isAlwaysInSlot. Only relevant for getters. */
26944 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26945 : false, /* isTypedMethod. Only relevant for methods. */
26946 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26947 : };
26948 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
26949 : static_assert(0 < 1, "There is no slot for us");
26950 :
26951 : static bool
26952 0 : get_maskMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
26953 : {
26954 0 : binding_detail::FastErrorResult rv;
26955 0 : DOMString result;
26956 0 : self->GetMaskMode(result, rv);
26957 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26958 0 : return false;
26959 : }
26960 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26961 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
26962 0 : return false;
26963 : }
26964 0 : return true;
26965 : }
26966 :
26967 : static bool
26968 0 : set_maskMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
26969 : {
26970 0 : binding_detail::FakeString arg0;
26971 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
26972 0 : return false;
26973 : }
26974 0 : binding_detail::FastErrorResult rv;
26975 0 : self->SetMaskMode(NonNullHelper(Constify(arg0)), rv);
26976 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
26977 0 : return false;
26978 : }
26979 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
26980 :
26981 0 : return true;
26982 : }
26983 :
26984 : static const JSJitInfo maskMode_getterinfo = {
26985 : { (JSJitGetterOp)get_maskMode },
26986 : { prototypes::id::CSS2Properties },
26987 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
26988 : JSJitInfo::Getter,
26989 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
26990 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
26991 : false, /* isInfallible. False in setters. */
26992 : false, /* isMovable. Not relevant for setters. */
26993 : false, /* isEliminatable. Not relevant for setters. */
26994 : false, /* isAlwaysInSlot. Only relevant for getters. */
26995 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
26996 : false, /* isTypedMethod. Only relevant for methods. */
26997 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
26998 : };
26999 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27000 : static_assert(0 < 1, "There is no slot for us");
27001 : static const JSJitInfo maskMode_setterinfo = {
27002 : { (JSJitGetterOp)set_maskMode },
27003 : { prototypes::id::CSS2Properties },
27004 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27005 : JSJitInfo::Setter,
27006 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27007 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
27008 : false, /* isInfallible. False in setters. */
27009 : false, /* isMovable. Not relevant for setters. */
27010 : false, /* isEliminatable. Not relevant for setters. */
27011 : false, /* isAlwaysInSlot. Only relevant for getters. */
27012 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27013 : false, /* isTypedMethod. Only relevant for methods. */
27014 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27015 : };
27016 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27017 : static_assert(0 < 1, "There is no slot for us");
27018 :
27019 : static bool
27020 0 : get_mask_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
27021 : {
27022 0 : binding_detail::FastErrorResult rv;
27023 0 : DOMString result;
27024 0 : self->GetMaskMode(result, rv);
27025 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27026 0 : return false;
27027 : }
27028 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27029 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
27030 0 : return false;
27031 : }
27032 0 : return true;
27033 : }
27034 :
27035 : static bool
27036 0 : set_mask_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
27037 : {
27038 0 : binding_detail::FakeString arg0;
27039 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
27040 0 : return false;
27041 : }
27042 0 : binding_detail::FastErrorResult rv;
27043 0 : self->SetMaskMode(NonNullHelper(Constify(arg0)), rv);
27044 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27045 0 : return false;
27046 : }
27047 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27048 :
27049 0 : return true;
27050 : }
27051 :
27052 : static const JSJitInfo mask_mode_getterinfo = {
27053 : { (JSJitGetterOp)get_mask_mode },
27054 : { prototypes::id::CSS2Properties },
27055 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27056 : JSJitInfo::Getter,
27057 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27058 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
27059 : false, /* isInfallible. False in setters. */
27060 : false, /* isMovable. Not relevant for setters. */
27061 : false, /* isEliminatable. Not relevant for setters. */
27062 : false, /* isAlwaysInSlot. Only relevant for getters. */
27063 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27064 : false, /* isTypedMethod. Only relevant for methods. */
27065 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27066 : };
27067 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27068 : static_assert(0 < 1, "There is no slot for us");
27069 : static const JSJitInfo mask_mode_setterinfo = {
27070 : { (JSJitGetterOp)set_mask_mode },
27071 : { prototypes::id::CSS2Properties },
27072 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27073 : JSJitInfo::Setter,
27074 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27075 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
27076 : false, /* isInfallible. False in setters. */
27077 : false, /* isMovable. Not relevant for setters. */
27078 : false, /* isEliminatable. Not relevant for setters. */
27079 : false, /* isAlwaysInSlot. Only relevant for getters. */
27080 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27081 : false, /* isTypedMethod. Only relevant for methods. */
27082 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27083 : };
27084 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27085 : static_assert(0 < 1, "There is no slot for us");
27086 :
27087 : static bool
27088 0 : get_maskOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
27089 : {
27090 0 : binding_detail::FastErrorResult rv;
27091 0 : DOMString result;
27092 0 : self->GetMaskOrigin(result, rv);
27093 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27094 0 : return false;
27095 : }
27096 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27097 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
27098 0 : return false;
27099 : }
27100 0 : return true;
27101 : }
27102 :
27103 : static bool
27104 0 : set_maskOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
27105 : {
27106 0 : binding_detail::FakeString arg0;
27107 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
27108 0 : return false;
27109 : }
27110 0 : binding_detail::FastErrorResult rv;
27111 0 : self->SetMaskOrigin(NonNullHelper(Constify(arg0)), rv);
27112 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27113 0 : return false;
27114 : }
27115 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27116 :
27117 0 : return true;
27118 : }
27119 :
27120 : static const JSJitInfo maskOrigin_getterinfo = {
27121 : { (JSJitGetterOp)get_maskOrigin },
27122 : { prototypes::id::CSS2Properties },
27123 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27124 : JSJitInfo::Getter,
27125 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27126 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
27127 : false, /* isInfallible. False in setters. */
27128 : false, /* isMovable. Not relevant for setters. */
27129 : false, /* isEliminatable. Not relevant for setters. */
27130 : false, /* isAlwaysInSlot. Only relevant for getters. */
27131 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27132 : false, /* isTypedMethod. Only relevant for methods. */
27133 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27134 : };
27135 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27136 : static_assert(0 < 1, "There is no slot for us");
27137 : static const JSJitInfo maskOrigin_setterinfo = {
27138 : { (JSJitGetterOp)set_maskOrigin },
27139 : { prototypes::id::CSS2Properties },
27140 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27141 : JSJitInfo::Setter,
27142 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27143 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
27144 : false, /* isInfallible. False in setters. */
27145 : false, /* isMovable. Not relevant for setters. */
27146 : false, /* isEliminatable. Not relevant for setters. */
27147 : false, /* isAlwaysInSlot. Only relevant for getters. */
27148 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27149 : false, /* isTypedMethod. Only relevant for methods. */
27150 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27151 : };
27152 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27153 : static_assert(0 < 1, "There is no slot for us");
27154 :
27155 : static bool
27156 0 : get_mask_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
27157 : {
27158 0 : binding_detail::FastErrorResult rv;
27159 0 : DOMString result;
27160 0 : self->GetMaskOrigin(result, rv);
27161 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27162 0 : return false;
27163 : }
27164 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27165 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
27166 0 : return false;
27167 : }
27168 0 : return true;
27169 : }
27170 :
27171 : static bool
27172 0 : set_mask_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
27173 : {
27174 0 : binding_detail::FakeString arg0;
27175 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
27176 0 : return false;
27177 : }
27178 0 : binding_detail::FastErrorResult rv;
27179 0 : self->SetMaskOrigin(NonNullHelper(Constify(arg0)), rv);
27180 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27181 0 : return false;
27182 : }
27183 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27184 :
27185 0 : return true;
27186 : }
27187 :
27188 : static const JSJitInfo mask_origin_getterinfo = {
27189 : { (JSJitGetterOp)get_mask_origin },
27190 : { prototypes::id::CSS2Properties },
27191 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27192 : JSJitInfo::Getter,
27193 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27194 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
27195 : false, /* isInfallible. False in setters. */
27196 : false, /* isMovable. Not relevant for setters. */
27197 : false, /* isEliminatable. Not relevant for setters. */
27198 : false, /* isAlwaysInSlot. Only relevant for getters. */
27199 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27200 : false, /* isTypedMethod. Only relevant for methods. */
27201 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27202 : };
27203 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27204 : static_assert(0 < 1, "There is no slot for us");
27205 : static const JSJitInfo mask_origin_setterinfo = {
27206 : { (JSJitGetterOp)set_mask_origin },
27207 : { prototypes::id::CSS2Properties },
27208 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27209 : JSJitInfo::Setter,
27210 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27211 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
27212 : false, /* isInfallible. False in setters. */
27213 : false, /* isMovable. Not relevant for setters. */
27214 : false, /* isEliminatable. Not relevant for setters. */
27215 : false, /* isAlwaysInSlot. Only relevant for getters. */
27216 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27217 : false, /* isTypedMethod. Only relevant for methods. */
27218 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27219 : };
27220 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27221 : static_assert(0 < 1, "There is no slot for us");
27222 :
27223 : static bool
27224 0 : get_maskPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
27225 : {
27226 0 : binding_detail::FastErrorResult rv;
27227 0 : DOMString result;
27228 0 : self->GetMaskPosition(result, rv);
27229 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27230 0 : return false;
27231 : }
27232 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27233 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
27234 0 : return false;
27235 : }
27236 0 : return true;
27237 : }
27238 :
27239 : static bool
27240 0 : set_maskPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
27241 : {
27242 0 : binding_detail::FakeString arg0;
27243 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
27244 0 : return false;
27245 : }
27246 0 : binding_detail::FastErrorResult rv;
27247 0 : self->SetMaskPosition(NonNullHelper(Constify(arg0)), rv);
27248 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27249 0 : return false;
27250 : }
27251 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27252 :
27253 0 : return true;
27254 : }
27255 :
27256 : static const JSJitInfo maskPosition_getterinfo = {
27257 : { (JSJitGetterOp)get_maskPosition },
27258 : { prototypes::id::CSS2Properties },
27259 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27260 : JSJitInfo::Getter,
27261 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27262 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
27263 : false, /* isInfallible. False in setters. */
27264 : false, /* isMovable. Not relevant for setters. */
27265 : false, /* isEliminatable. Not relevant for setters. */
27266 : false, /* isAlwaysInSlot. Only relevant for getters. */
27267 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27268 : false, /* isTypedMethod. Only relevant for methods. */
27269 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27270 : };
27271 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27272 : static_assert(0 < 1, "There is no slot for us");
27273 : static const JSJitInfo maskPosition_setterinfo = {
27274 : { (JSJitGetterOp)set_maskPosition },
27275 : { prototypes::id::CSS2Properties },
27276 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27277 : JSJitInfo::Setter,
27278 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27279 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
27280 : false, /* isInfallible. False in setters. */
27281 : false, /* isMovable. Not relevant for setters. */
27282 : false, /* isEliminatable. Not relevant for setters. */
27283 : false, /* isAlwaysInSlot. Only relevant for getters. */
27284 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27285 : false, /* isTypedMethod. Only relevant for methods. */
27286 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27287 : };
27288 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27289 : static_assert(0 < 1, "There is no slot for us");
27290 :
27291 : static bool
27292 0 : get_mask_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
27293 : {
27294 0 : binding_detail::FastErrorResult rv;
27295 0 : DOMString result;
27296 0 : self->GetMaskPosition(result, rv);
27297 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27298 0 : return false;
27299 : }
27300 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27301 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
27302 0 : return false;
27303 : }
27304 0 : return true;
27305 : }
27306 :
27307 : static bool
27308 0 : set_mask_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
27309 : {
27310 0 : binding_detail::FakeString arg0;
27311 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
27312 0 : return false;
27313 : }
27314 0 : binding_detail::FastErrorResult rv;
27315 0 : self->SetMaskPosition(NonNullHelper(Constify(arg0)), rv);
27316 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27317 0 : return false;
27318 : }
27319 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27320 :
27321 0 : return true;
27322 : }
27323 :
27324 : static const JSJitInfo mask_position_getterinfo = {
27325 : { (JSJitGetterOp)get_mask_position },
27326 : { prototypes::id::CSS2Properties },
27327 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27328 : JSJitInfo::Getter,
27329 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27330 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
27331 : false, /* isInfallible. False in setters. */
27332 : false, /* isMovable. Not relevant for setters. */
27333 : false, /* isEliminatable. Not relevant for setters. */
27334 : false, /* isAlwaysInSlot. Only relevant for getters. */
27335 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27336 : false, /* isTypedMethod. Only relevant for methods. */
27337 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27338 : };
27339 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27340 : static_assert(0 < 1, "There is no slot for us");
27341 : static const JSJitInfo mask_position_setterinfo = {
27342 : { (JSJitGetterOp)set_mask_position },
27343 : { prototypes::id::CSS2Properties },
27344 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27345 : JSJitInfo::Setter,
27346 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27347 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
27348 : false, /* isInfallible. False in setters. */
27349 : false, /* isMovable. Not relevant for setters. */
27350 : false, /* isEliminatable. Not relevant for setters. */
27351 : false, /* isAlwaysInSlot. Only relevant for getters. */
27352 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27353 : false, /* isTypedMethod. Only relevant for methods. */
27354 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27355 : };
27356 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27357 : static_assert(0 < 1, "There is no slot for us");
27358 :
27359 : static bool
27360 0 : get_maskPositionX(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
27361 : {
27362 0 : binding_detail::FastErrorResult rv;
27363 0 : DOMString result;
27364 0 : self->GetMaskPositionX(result, rv);
27365 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27366 0 : return false;
27367 : }
27368 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27369 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
27370 0 : return false;
27371 : }
27372 0 : return true;
27373 : }
27374 :
27375 : static bool
27376 0 : set_maskPositionX(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
27377 : {
27378 0 : binding_detail::FakeString arg0;
27379 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
27380 0 : return false;
27381 : }
27382 0 : binding_detail::FastErrorResult rv;
27383 0 : self->SetMaskPositionX(NonNullHelper(Constify(arg0)), rv);
27384 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27385 0 : return false;
27386 : }
27387 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27388 :
27389 0 : return true;
27390 : }
27391 :
27392 : static const JSJitInfo maskPositionX_getterinfo = {
27393 : { (JSJitGetterOp)get_maskPositionX },
27394 : { prototypes::id::CSS2Properties },
27395 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27396 : JSJitInfo::Getter,
27397 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27398 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
27399 : false, /* isInfallible. False in setters. */
27400 : false, /* isMovable. Not relevant for setters. */
27401 : false, /* isEliminatable. Not relevant for setters. */
27402 : false, /* isAlwaysInSlot. Only relevant for getters. */
27403 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27404 : false, /* isTypedMethod. Only relevant for methods. */
27405 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27406 : };
27407 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27408 : static_assert(0 < 1, "There is no slot for us");
27409 : static const JSJitInfo maskPositionX_setterinfo = {
27410 : { (JSJitGetterOp)set_maskPositionX },
27411 : { prototypes::id::CSS2Properties },
27412 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27413 : JSJitInfo::Setter,
27414 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27415 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
27416 : false, /* isInfallible. False in setters. */
27417 : false, /* isMovable. Not relevant for setters. */
27418 : false, /* isEliminatable. Not relevant for setters. */
27419 : false, /* isAlwaysInSlot. Only relevant for getters. */
27420 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27421 : false, /* isTypedMethod. Only relevant for methods. */
27422 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27423 : };
27424 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27425 : static_assert(0 < 1, "There is no slot for us");
27426 :
27427 : static bool
27428 0 : get_mask_position_x(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
27429 : {
27430 0 : binding_detail::FastErrorResult rv;
27431 0 : DOMString result;
27432 0 : self->GetMaskPositionX(result, rv);
27433 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27434 0 : return false;
27435 : }
27436 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27437 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
27438 0 : return false;
27439 : }
27440 0 : return true;
27441 : }
27442 :
27443 : static bool
27444 0 : set_mask_position_x(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
27445 : {
27446 0 : binding_detail::FakeString arg0;
27447 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
27448 0 : return false;
27449 : }
27450 0 : binding_detail::FastErrorResult rv;
27451 0 : self->SetMaskPositionX(NonNullHelper(Constify(arg0)), rv);
27452 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27453 0 : return false;
27454 : }
27455 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27456 :
27457 0 : return true;
27458 : }
27459 :
27460 : static const JSJitInfo mask_position_x_getterinfo = {
27461 : { (JSJitGetterOp)get_mask_position_x },
27462 : { prototypes::id::CSS2Properties },
27463 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27464 : JSJitInfo::Getter,
27465 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27466 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
27467 : false, /* isInfallible. False in setters. */
27468 : false, /* isMovable. Not relevant for setters. */
27469 : false, /* isEliminatable. Not relevant for setters. */
27470 : false, /* isAlwaysInSlot. Only relevant for getters. */
27471 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27472 : false, /* isTypedMethod. Only relevant for methods. */
27473 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27474 : };
27475 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27476 : static_assert(0 < 1, "There is no slot for us");
27477 : static const JSJitInfo mask_position_x_setterinfo = {
27478 : { (JSJitGetterOp)set_mask_position_x },
27479 : { prototypes::id::CSS2Properties },
27480 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27481 : JSJitInfo::Setter,
27482 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27483 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
27484 : false, /* isInfallible. False in setters. */
27485 : false, /* isMovable. Not relevant for setters. */
27486 : false, /* isEliminatable. Not relevant for setters. */
27487 : false, /* isAlwaysInSlot. Only relevant for getters. */
27488 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27489 : false, /* isTypedMethod. Only relevant for methods. */
27490 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27491 : };
27492 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27493 : static_assert(0 < 1, "There is no slot for us");
27494 :
27495 : static bool
27496 0 : get_maskPositionY(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
27497 : {
27498 0 : binding_detail::FastErrorResult rv;
27499 0 : DOMString result;
27500 0 : self->GetMaskPositionY(result, rv);
27501 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27502 0 : return false;
27503 : }
27504 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27505 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
27506 0 : return false;
27507 : }
27508 0 : return true;
27509 : }
27510 :
27511 : static bool
27512 0 : set_maskPositionY(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
27513 : {
27514 0 : binding_detail::FakeString arg0;
27515 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
27516 0 : return false;
27517 : }
27518 0 : binding_detail::FastErrorResult rv;
27519 0 : self->SetMaskPositionY(NonNullHelper(Constify(arg0)), rv);
27520 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27521 0 : return false;
27522 : }
27523 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27524 :
27525 0 : return true;
27526 : }
27527 :
27528 : static const JSJitInfo maskPositionY_getterinfo = {
27529 : { (JSJitGetterOp)get_maskPositionY },
27530 : { prototypes::id::CSS2Properties },
27531 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27532 : JSJitInfo::Getter,
27533 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27534 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
27535 : false, /* isInfallible. False in setters. */
27536 : false, /* isMovable. Not relevant for setters. */
27537 : false, /* isEliminatable. Not relevant for setters. */
27538 : false, /* isAlwaysInSlot. Only relevant for getters. */
27539 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27540 : false, /* isTypedMethod. Only relevant for methods. */
27541 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27542 : };
27543 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27544 : static_assert(0 < 1, "There is no slot for us");
27545 : static const JSJitInfo maskPositionY_setterinfo = {
27546 : { (JSJitGetterOp)set_maskPositionY },
27547 : { prototypes::id::CSS2Properties },
27548 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27549 : JSJitInfo::Setter,
27550 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27551 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
27552 : false, /* isInfallible. False in setters. */
27553 : false, /* isMovable. Not relevant for setters. */
27554 : false, /* isEliminatable. Not relevant for setters. */
27555 : false, /* isAlwaysInSlot. Only relevant for getters. */
27556 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27557 : false, /* isTypedMethod. Only relevant for methods. */
27558 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27559 : };
27560 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27561 : static_assert(0 < 1, "There is no slot for us");
27562 :
27563 : static bool
27564 0 : get_mask_position_y(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
27565 : {
27566 0 : binding_detail::FastErrorResult rv;
27567 0 : DOMString result;
27568 0 : self->GetMaskPositionY(result, rv);
27569 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27570 0 : return false;
27571 : }
27572 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27573 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
27574 0 : return false;
27575 : }
27576 0 : return true;
27577 : }
27578 :
27579 : static bool
27580 0 : set_mask_position_y(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
27581 : {
27582 0 : binding_detail::FakeString arg0;
27583 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
27584 0 : return false;
27585 : }
27586 0 : binding_detail::FastErrorResult rv;
27587 0 : self->SetMaskPositionY(NonNullHelper(Constify(arg0)), rv);
27588 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27589 0 : return false;
27590 : }
27591 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27592 :
27593 0 : return true;
27594 : }
27595 :
27596 : static const JSJitInfo mask_position_y_getterinfo = {
27597 : { (JSJitGetterOp)get_mask_position_y },
27598 : { prototypes::id::CSS2Properties },
27599 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27600 : JSJitInfo::Getter,
27601 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27602 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
27603 : false, /* isInfallible. False in setters. */
27604 : false, /* isMovable. Not relevant for setters. */
27605 : false, /* isEliminatable. Not relevant for setters. */
27606 : false, /* isAlwaysInSlot. Only relevant for getters. */
27607 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27608 : false, /* isTypedMethod. Only relevant for methods. */
27609 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27610 : };
27611 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27612 : static_assert(0 < 1, "There is no slot for us");
27613 : static const JSJitInfo mask_position_y_setterinfo = {
27614 : { (JSJitGetterOp)set_mask_position_y },
27615 : { prototypes::id::CSS2Properties },
27616 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27617 : JSJitInfo::Setter,
27618 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27619 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
27620 : false, /* isInfallible. False in setters. */
27621 : false, /* isMovable. Not relevant for setters. */
27622 : false, /* isEliminatable. Not relevant for setters. */
27623 : false, /* isAlwaysInSlot. Only relevant for getters. */
27624 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27625 : false, /* isTypedMethod. Only relevant for methods. */
27626 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27627 : };
27628 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27629 : static_assert(0 < 1, "There is no slot for us");
27630 :
27631 : static bool
27632 0 : get_maskRepeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
27633 : {
27634 0 : binding_detail::FastErrorResult rv;
27635 0 : DOMString result;
27636 0 : self->GetMaskRepeat(result, rv);
27637 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27638 0 : return false;
27639 : }
27640 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27641 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
27642 0 : return false;
27643 : }
27644 0 : return true;
27645 : }
27646 :
27647 : static bool
27648 0 : set_maskRepeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
27649 : {
27650 0 : binding_detail::FakeString arg0;
27651 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
27652 0 : return false;
27653 : }
27654 0 : binding_detail::FastErrorResult rv;
27655 0 : self->SetMaskRepeat(NonNullHelper(Constify(arg0)), rv);
27656 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27657 0 : return false;
27658 : }
27659 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27660 :
27661 0 : return true;
27662 : }
27663 :
27664 : static const JSJitInfo maskRepeat_getterinfo = {
27665 : { (JSJitGetterOp)get_maskRepeat },
27666 : { prototypes::id::CSS2Properties },
27667 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27668 : JSJitInfo::Getter,
27669 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27670 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
27671 : false, /* isInfallible. False in setters. */
27672 : false, /* isMovable. Not relevant for setters. */
27673 : false, /* isEliminatable. Not relevant for setters. */
27674 : false, /* isAlwaysInSlot. Only relevant for getters. */
27675 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27676 : false, /* isTypedMethod. Only relevant for methods. */
27677 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27678 : };
27679 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27680 : static_assert(0 < 1, "There is no slot for us");
27681 : static const JSJitInfo maskRepeat_setterinfo = {
27682 : { (JSJitGetterOp)set_maskRepeat },
27683 : { prototypes::id::CSS2Properties },
27684 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27685 : JSJitInfo::Setter,
27686 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27687 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
27688 : false, /* isInfallible. False in setters. */
27689 : false, /* isMovable. Not relevant for setters. */
27690 : false, /* isEliminatable. Not relevant for setters. */
27691 : false, /* isAlwaysInSlot. Only relevant for getters. */
27692 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27693 : false, /* isTypedMethod. Only relevant for methods. */
27694 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27695 : };
27696 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27697 : static_assert(0 < 1, "There is no slot for us");
27698 :
27699 : static bool
27700 0 : get_mask_repeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
27701 : {
27702 0 : binding_detail::FastErrorResult rv;
27703 0 : DOMString result;
27704 0 : self->GetMaskRepeat(result, rv);
27705 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27706 0 : return false;
27707 : }
27708 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27709 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
27710 0 : return false;
27711 : }
27712 0 : return true;
27713 : }
27714 :
27715 : static bool
27716 0 : set_mask_repeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
27717 : {
27718 0 : binding_detail::FakeString arg0;
27719 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
27720 0 : return false;
27721 : }
27722 0 : binding_detail::FastErrorResult rv;
27723 0 : self->SetMaskRepeat(NonNullHelper(Constify(arg0)), rv);
27724 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27725 0 : return false;
27726 : }
27727 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27728 :
27729 0 : return true;
27730 : }
27731 :
27732 : static const JSJitInfo mask_repeat_getterinfo = {
27733 : { (JSJitGetterOp)get_mask_repeat },
27734 : { prototypes::id::CSS2Properties },
27735 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27736 : JSJitInfo::Getter,
27737 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27738 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
27739 : false, /* isInfallible. False in setters. */
27740 : false, /* isMovable. Not relevant for setters. */
27741 : false, /* isEliminatable. Not relevant for setters. */
27742 : false, /* isAlwaysInSlot. Only relevant for getters. */
27743 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27744 : false, /* isTypedMethod. Only relevant for methods. */
27745 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27746 : };
27747 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27748 : static_assert(0 < 1, "There is no slot for us");
27749 : static const JSJitInfo mask_repeat_setterinfo = {
27750 : { (JSJitGetterOp)set_mask_repeat },
27751 : { prototypes::id::CSS2Properties },
27752 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27753 : JSJitInfo::Setter,
27754 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27755 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
27756 : false, /* isInfallible. False in setters. */
27757 : false, /* isMovable. Not relevant for setters. */
27758 : false, /* isEliminatable. Not relevant for setters. */
27759 : false, /* isAlwaysInSlot. Only relevant for getters. */
27760 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27761 : false, /* isTypedMethod. Only relevant for methods. */
27762 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27763 : };
27764 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27765 : static_assert(0 < 1, "There is no slot for us");
27766 :
27767 : static bool
27768 0 : get_maskSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
27769 : {
27770 0 : binding_detail::FastErrorResult rv;
27771 0 : DOMString result;
27772 0 : self->GetMaskSize(result, rv);
27773 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27774 0 : return false;
27775 : }
27776 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27777 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
27778 0 : return false;
27779 : }
27780 0 : return true;
27781 : }
27782 :
27783 : static bool
27784 0 : set_maskSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
27785 : {
27786 0 : binding_detail::FakeString arg0;
27787 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
27788 0 : return false;
27789 : }
27790 0 : binding_detail::FastErrorResult rv;
27791 0 : self->SetMaskSize(NonNullHelper(Constify(arg0)), rv);
27792 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27793 0 : return false;
27794 : }
27795 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27796 :
27797 0 : return true;
27798 : }
27799 :
27800 : static const JSJitInfo maskSize_getterinfo = {
27801 : { (JSJitGetterOp)get_maskSize },
27802 : { prototypes::id::CSS2Properties },
27803 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27804 : JSJitInfo::Getter,
27805 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27806 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
27807 : false, /* isInfallible. False in setters. */
27808 : false, /* isMovable. Not relevant for setters. */
27809 : false, /* isEliminatable. Not relevant for setters. */
27810 : false, /* isAlwaysInSlot. Only relevant for getters. */
27811 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27812 : false, /* isTypedMethod. Only relevant for methods. */
27813 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27814 : };
27815 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27816 : static_assert(0 < 1, "There is no slot for us");
27817 : static const JSJitInfo maskSize_setterinfo = {
27818 : { (JSJitGetterOp)set_maskSize },
27819 : { prototypes::id::CSS2Properties },
27820 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27821 : JSJitInfo::Setter,
27822 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27823 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
27824 : false, /* isInfallible. False in setters. */
27825 : false, /* isMovable. Not relevant for setters. */
27826 : false, /* isEliminatable. Not relevant for setters. */
27827 : false, /* isAlwaysInSlot. Only relevant for getters. */
27828 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27829 : false, /* isTypedMethod. Only relevant for methods. */
27830 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27831 : };
27832 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27833 : static_assert(0 < 1, "There is no slot for us");
27834 :
27835 : static bool
27836 0 : get_mask_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
27837 : {
27838 0 : binding_detail::FastErrorResult rv;
27839 0 : DOMString result;
27840 0 : self->GetMaskSize(result, rv);
27841 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27842 0 : return false;
27843 : }
27844 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27845 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
27846 0 : return false;
27847 : }
27848 0 : return true;
27849 : }
27850 :
27851 : static bool
27852 0 : set_mask_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
27853 : {
27854 0 : binding_detail::FakeString arg0;
27855 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
27856 0 : return false;
27857 : }
27858 0 : binding_detail::FastErrorResult rv;
27859 0 : self->SetMaskSize(NonNullHelper(Constify(arg0)), rv);
27860 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27861 0 : return false;
27862 : }
27863 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27864 :
27865 0 : return true;
27866 : }
27867 :
27868 : static const JSJitInfo mask_size_getterinfo = {
27869 : { (JSJitGetterOp)get_mask_size },
27870 : { prototypes::id::CSS2Properties },
27871 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27872 : JSJitInfo::Getter,
27873 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27874 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
27875 : false, /* isInfallible. False in setters. */
27876 : false, /* isMovable. Not relevant for setters. */
27877 : false, /* isEliminatable. Not relevant for setters. */
27878 : false, /* isAlwaysInSlot. Only relevant for getters. */
27879 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27880 : false, /* isTypedMethod. Only relevant for methods. */
27881 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27882 : };
27883 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27884 : static_assert(0 < 1, "There is no slot for us");
27885 : static const JSJitInfo mask_size_setterinfo = {
27886 : { (JSJitGetterOp)set_mask_size },
27887 : { prototypes::id::CSS2Properties },
27888 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27889 : JSJitInfo::Setter,
27890 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27891 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
27892 : false, /* isInfallible. False in setters. */
27893 : false, /* isMovable. Not relevant for setters. */
27894 : false, /* isEliminatable. Not relevant for setters. */
27895 : false, /* isAlwaysInSlot. Only relevant for getters. */
27896 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27897 : false, /* isTypedMethod. Only relevant for methods. */
27898 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27899 : };
27900 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27901 : static_assert(0 < 1, "There is no slot for us");
27902 :
27903 : static bool
27904 0 : get_maskType(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
27905 : {
27906 0 : binding_detail::FastErrorResult rv;
27907 0 : DOMString result;
27908 0 : self->GetMaskType(result, rv);
27909 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27910 0 : return false;
27911 : }
27912 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27913 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
27914 0 : return false;
27915 : }
27916 0 : return true;
27917 : }
27918 :
27919 : static bool
27920 0 : set_maskType(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
27921 : {
27922 0 : binding_detail::FakeString arg0;
27923 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
27924 0 : return false;
27925 : }
27926 0 : binding_detail::FastErrorResult rv;
27927 0 : self->SetMaskType(NonNullHelper(Constify(arg0)), rv);
27928 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27929 0 : return false;
27930 : }
27931 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27932 :
27933 0 : return true;
27934 : }
27935 :
27936 : static const JSJitInfo maskType_getterinfo = {
27937 : { (JSJitGetterOp)get_maskType },
27938 : { prototypes::id::CSS2Properties },
27939 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27940 : JSJitInfo::Getter,
27941 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27942 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
27943 : false, /* isInfallible. False in setters. */
27944 : false, /* isMovable. Not relevant for setters. */
27945 : false, /* isEliminatable. Not relevant for setters. */
27946 : false, /* isAlwaysInSlot. Only relevant for getters. */
27947 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27948 : false, /* isTypedMethod. Only relevant for methods. */
27949 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27950 : };
27951 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27952 : static_assert(0 < 1, "There is no slot for us");
27953 : static const JSJitInfo maskType_setterinfo = {
27954 : { (JSJitGetterOp)set_maskType },
27955 : { prototypes::id::CSS2Properties },
27956 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
27957 : JSJitInfo::Setter,
27958 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
27959 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
27960 : false, /* isInfallible. False in setters. */
27961 : false, /* isMovable. Not relevant for setters. */
27962 : false, /* isEliminatable. Not relevant for setters. */
27963 : false, /* isAlwaysInSlot. Only relevant for getters. */
27964 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
27965 : false, /* isTypedMethod. Only relevant for methods. */
27966 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
27967 : };
27968 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
27969 : static_assert(0 < 1, "There is no slot for us");
27970 :
27971 : static bool
27972 0 : get_mask_type(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
27973 : {
27974 0 : binding_detail::FastErrorResult rv;
27975 0 : DOMString result;
27976 0 : self->GetMaskType(result, rv);
27977 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27978 0 : return false;
27979 : }
27980 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
27981 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
27982 0 : return false;
27983 : }
27984 0 : return true;
27985 : }
27986 :
27987 : static bool
27988 0 : set_mask_type(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
27989 : {
27990 0 : binding_detail::FakeString arg0;
27991 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
27992 0 : return false;
27993 : }
27994 0 : binding_detail::FastErrorResult rv;
27995 0 : self->SetMaskType(NonNullHelper(Constify(arg0)), rv);
27996 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
27997 0 : return false;
27998 : }
27999 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28000 :
28001 0 : return true;
28002 : }
28003 :
28004 : static const JSJitInfo mask_type_getterinfo = {
28005 : { (JSJitGetterOp)get_mask_type },
28006 : { prototypes::id::CSS2Properties },
28007 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28008 : JSJitInfo::Getter,
28009 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28010 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
28011 : false, /* isInfallible. False in setters. */
28012 : false, /* isMovable. Not relevant for setters. */
28013 : false, /* isEliminatable. Not relevant for setters. */
28014 : false, /* isAlwaysInSlot. Only relevant for getters. */
28015 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28016 : false, /* isTypedMethod. Only relevant for methods. */
28017 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28018 : };
28019 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28020 : static_assert(0 < 1, "There is no slot for us");
28021 : static const JSJitInfo mask_type_setterinfo = {
28022 : { (JSJitGetterOp)set_mask_type },
28023 : { prototypes::id::CSS2Properties },
28024 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28025 : JSJitInfo::Setter,
28026 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28027 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
28028 : false, /* isInfallible. False in setters. */
28029 : false, /* isMovable. Not relevant for setters. */
28030 : false, /* isEliminatable. Not relevant for setters. */
28031 : false, /* isAlwaysInSlot. Only relevant for getters. */
28032 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28033 : false, /* isTypedMethod. Only relevant for methods. */
28034 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28035 : };
28036 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28037 : static_assert(0 < 1, "There is no slot for us");
28038 :
28039 : static bool
28040 0 : get_maxBlockSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
28041 : {
28042 0 : binding_detail::FastErrorResult rv;
28043 0 : DOMString result;
28044 0 : self->GetMaxBlockSize(result, rv);
28045 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28046 0 : return false;
28047 : }
28048 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28049 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
28050 0 : return false;
28051 : }
28052 0 : return true;
28053 : }
28054 :
28055 : static bool
28056 0 : set_maxBlockSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
28057 : {
28058 0 : binding_detail::FakeString arg0;
28059 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
28060 0 : return false;
28061 : }
28062 0 : binding_detail::FastErrorResult rv;
28063 0 : self->SetMaxBlockSize(NonNullHelper(Constify(arg0)), rv);
28064 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28065 0 : return false;
28066 : }
28067 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28068 :
28069 0 : return true;
28070 : }
28071 :
28072 : static const JSJitInfo maxBlockSize_getterinfo = {
28073 : { (JSJitGetterOp)get_maxBlockSize },
28074 : { prototypes::id::CSS2Properties },
28075 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28076 : JSJitInfo::Getter,
28077 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28078 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
28079 : false, /* isInfallible. False in setters. */
28080 : false, /* isMovable. Not relevant for setters. */
28081 : false, /* isEliminatable. Not relevant for setters. */
28082 : false, /* isAlwaysInSlot. Only relevant for getters. */
28083 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28084 : false, /* isTypedMethod. Only relevant for methods. */
28085 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28086 : };
28087 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28088 : static_assert(0 < 1, "There is no slot for us");
28089 : static const JSJitInfo maxBlockSize_setterinfo = {
28090 : { (JSJitGetterOp)set_maxBlockSize },
28091 : { prototypes::id::CSS2Properties },
28092 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28093 : JSJitInfo::Setter,
28094 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28095 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
28096 : false, /* isInfallible. False in setters. */
28097 : false, /* isMovable. Not relevant for setters. */
28098 : false, /* isEliminatable. Not relevant for setters. */
28099 : false, /* isAlwaysInSlot. Only relevant for getters. */
28100 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28101 : false, /* isTypedMethod. Only relevant for methods. */
28102 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28103 : };
28104 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28105 : static_assert(0 < 1, "There is no slot for us");
28106 :
28107 : static bool
28108 0 : get_max_block_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
28109 : {
28110 0 : binding_detail::FastErrorResult rv;
28111 0 : DOMString result;
28112 0 : self->GetMaxBlockSize(result, rv);
28113 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28114 0 : return false;
28115 : }
28116 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28117 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
28118 0 : return false;
28119 : }
28120 0 : return true;
28121 : }
28122 :
28123 : static bool
28124 0 : set_max_block_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
28125 : {
28126 0 : binding_detail::FakeString arg0;
28127 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
28128 0 : return false;
28129 : }
28130 0 : binding_detail::FastErrorResult rv;
28131 0 : self->SetMaxBlockSize(NonNullHelper(Constify(arg0)), rv);
28132 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28133 0 : return false;
28134 : }
28135 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28136 :
28137 0 : return true;
28138 : }
28139 :
28140 : static const JSJitInfo max_block_size_getterinfo = {
28141 : { (JSJitGetterOp)get_max_block_size },
28142 : { prototypes::id::CSS2Properties },
28143 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28144 : JSJitInfo::Getter,
28145 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28146 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
28147 : false, /* isInfallible. False in setters. */
28148 : false, /* isMovable. Not relevant for setters. */
28149 : false, /* isEliminatable. Not relevant for setters. */
28150 : false, /* isAlwaysInSlot. Only relevant for getters. */
28151 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28152 : false, /* isTypedMethod. Only relevant for methods. */
28153 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28154 : };
28155 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28156 : static_assert(0 < 1, "There is no slot for us");
28157 : static const JSJitInfo max_block_size_setterinfo = {
28158 : { (JSJitGetterOp)set_max_block_size },
28159 : { prototypes::id::CSS2Properties },
28160 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28161 : JSJitInfo::Setter,
28162 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28163 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
28164 : false, /* isInfallible. False in setters. */
28165 : false, /* isMovable. Not relevant for setters. */
28166 : false, /* isEliminatable. Not relevant for setters. */
28167 : false, /* isAlwaysInSlot. Only relevant for getters. */
28168 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28169 : false, /* isTypedMethod. Only relevant for methods. */
28170 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28171 : };
28172 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28173 : static_assert(0 < 1, "There is no slot for us");
28174 :
28175 : static bool
28176 0 : get_maxHeight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
28177 : {
28178 0 : binding_detail::FastErrorResult rv;
28179 0 : DOMString result;
28180 0 : self->GetMaxHeight(result, rv);
28181 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28182 0 : return false;
28183 : }
28184 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28185 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
28186 0 : return false;
28187 : }
28188 0 : return true;
28189 : }
28190 :
28191 : static bool
28192 0 : set_maxHeight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
28193 : {
28194 0 : binding_detail::FakeString arg0;
28195 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
28196 0 : return false;
28197 : }
28198 0 : binding_detail::FastErrorResult rv;
28199 0 : self->SetMaxHeight(NonNullHelper(Constify(arg0)), rv);
28200 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28201 0 : return false;
28202 : }
28203 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28204 :
28205 0 : return true;
28206 : }
28207 :
28208 : static const JSJitInfo maxHeight_getterinfo = {
28209 : { (JSJitGetterOp)get_maxHeight },
28210 : { prototypes::id::CSS2Properties },
28211 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28212 : JSJitInfo::Getter,
28213 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28214 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
28215 : false, /* isInfallible. False in setters. */
28216 : false, /* isMovable. Not relevant for setters. */
28217 : false, /* isEliminatable. Not relevant for setters. */
28218 : false, /* isAlwaysInSlot. Only relevant for getters. */
28219 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28220 : false, /* isTypedMethod. Only relevant for methods. */
28221 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28222 : };
28223 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28224 : static_assert(0 < 1, "There is no slot for us");
28225 : static const JSJitInfo maxHeight_setterinfo = {
28226 : { (JSJitGetterOp)set_maxHeight },
28227 : { prototypes::id::CSS2Properties },
28228 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28229 : JSJitInfo::Setter,
28230 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28231 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
28232 : false, /* isInfallible. False in setters. */
28233 : false, /* isMovable. Not relevant for setters. */
28234 : false, /* isEliminatable. Not relevant for setters. */
28235 : false, /* isAlwaysInSlot. Only relevant for getters. */
28236 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28237 : false, /* isTypedMethod. Only relevant for methods. */
28238 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28239 : };
28240 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28241 : static_assert(0 < 1, "There is no slot for us");
28242 :
28243 : static bool
28244 0 : get_max_height(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
28245 : {
28246 0 : binding_detail::FastErrorResult rv;
28247 0 : DOMString result;
28248 0 : self->GetMaxHeight(result, rv);
28249 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28250 0 : return false;
28251 : }
28252 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28253 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
28254 0 : return false;
28255 : }
28256 0 : return true;
28257 : }
28258 :
28259 : static bool
28260 0 : set_max_height(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
28261 : {
28262 0 : binding_detail::FakeString arg0;
28263 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
28264 0 : return false;
28265 : }
28266 0 : binding_detail::FastErrorResult rv;
28267 0 : self->SetMaxHeight(NonNullHelper(Constify(arg0)), rv);
28268 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28269 0 : return false;
28270 : }
28271 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28272 :
28273 0 : return true;
28274 : }
28275 :
28276 : static const JSJitInfo max_height_getterinfo = {
28277 : { (JSJitGetterOp)get_max_height },
28278 : { prototypes::id::CSS2Properties },
28279 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28280 : JSJitInfo::Getter,
28281 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28282 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
28283 : false, /* isInfallible. False in setters. */
28284 : false, /* isMovable. Not relevant for setters. */
28285 : false, /* isEliminatable. Not relevant for setters. */
28286 : false, /* isAlwaysInSlot. Only relevant for getters. */
28287 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28288 : false, /* isTypedMethod. Only relevant for methods. */
28289 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28290 : };
28291 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28292 : static_assert(0 < 1, "There is no slot for us");
28293 : static const JSJitInfo max_height_setterinfo = {
28294 : { (JSJitGetterOp)set_max_height },
28295 : { prototypes::id::CSS2Properties },
28296 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28297 : JSJitInfo::Setter,
28298 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28299 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
28300 : false, /* isInfallible. False in setters. */
28301 : false, /* isMovable. Not relevant for setters. */
28302 : false, /* isEliminatable. Not relevant for setters. */
28303 : false, /* isAlwaysInSlot. Only relevant for getters. */
28304 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28305 : false, /* isTypedMethod. Only relevant for methods. */
28306 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28307 : };
28308 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28309 : static_assert(0 < 1, "There is no slot for us");
28310 :
28311 : static bool
28312 0 : get_maxInlineSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
28313 : {
28314 0 : binding_detail::FastErrorResult rv;
28315 0 : DOMString result;
28316 0 : self->GetMaxInlineSize(result, rv);
28317 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28318 0 : return false;
28319 : }
28320 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28321 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
28322 0 : return false;
28323 : }
28324 0 : return true;
28325 : }
28326 :
28327 : static bool
28328 0 : set_maxInlineSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
28329 : {
28330 0 : binding_detail::FakeString arg0;
28331 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
28332 0 : return false;
28333 : }
28334 0 : binding_detail::FastErrorResult rv;
28335 0 : self->SetMaxInlineSize(NonNullHelper(Constify(arg0)), rv);
28336 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28337 0 : return false;
28338 : }
28339 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28340 :
28341 0 : return true;
28342 : }
28343 :
28344 : static const JSJitInfo maxInlineSize_getterinfo = {
28345 : { (JSJitGetterOp)get_maxInlineSize },
28346 : { prototypes::id::CSS2Properties },
28347 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28348 : JSJitInfo::Getter,
28349 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28350 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
28351 : false, /* isInfallible. False in setters. */
28352 : false, /* isMovable. Not relevant for setters. */
28353 : false, /* isEliminatable. Not relevant for setters. */
28354 : false, /* isAlwaysInSlot. Only relevant for getters. */
28355 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28356 : false, /* isTypedMethod. Only relevant for methods. */
28357 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28358 : };
28359 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28360 : static_assert(0 < 1, "There is no slot for us");
28361 : static const JSJitInfo maxInlineSize_setterinfo = {
28362 : { (JSJitGetterOp)set_maxInlineSize },
28363 : { prototypes::id::CSS2Properties },
28364 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28365 : JSJitInfo::Setter,
28366 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28367 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
28368 : false, /* isInfallible. False in setters. */
28369 : false, /* isMovable. Not relevant for setters. */
28370 : false, /* isEliminatable. Not relevant for setters. */
28371 : false, /* isAlwaysInSlot. Only relevant for getters. */
28372 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28373 : false, /* isTypedMethod. Only relevant for methods. */
28374 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28375 : };
28376 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28377 : static_assert(0 < 1, "There is no slot for us");
28378 :
28379 : static bool
28380 0 : get_max_inline_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
28381 : {
28382 0 : binding_detail::FastErrorResult rv;
28383 0 : DOMString result;
28384 0 : self->GetMaxInlineSize(result, rv);
28385 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28386 0 : return false;
28387 : }
28388 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28389 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
28390 0 : return false;
28391 : }
28392 0 : return true;
28393 : }
28394 :
28395 : static bool
28396 0 : set_max_inline_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
28397 : {
28398 0 : binding_detail::FakeString arg0;
28399 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
28400 0 : return false;
28401 : }
28402 0 : binding_detail::FastErrorResult rv;
28403 0 : self->SetMaxInlineSize(NonNullHelper(Constify(arg0)), rv);
28404 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28405 0 : return false;
28406 : }
28407 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28408 :
28409 0 : return true;
28410 : }
28411 :
28412 : static const JSJitInfo max_inline_size_getterinfo = {
28413 : { (JSJitGetterOp)get_max_inline_size },
28414 : { prototypes::id::CSS2Properties },
28415 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28416 : JSJitInfo::Getter,
28417 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28418 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
28419 : false, /* isInfallible. False in setters. */
28420 : false, /* isMovable. Not relevant for setters. */
28421 : false, /* isEliminatable. Not relevant for setters. */
28422 : false, /* isAlwaysInSlot. Only relevant for getters. */
28423 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28424 : false, /* isTypedMethod. Only relevant for methods. */
28425 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28426 : };
28427 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28428 : static_assert(0 < 1, "There is no slot for us");
28429 : static const JSJitInfo max_inline_size_setterinfo = {
28430 : { (JSJitGetterOp)set_max_inline_size },
28431 : { prototypes::id::CSS2Properties },
28432 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28433 : JSJitInfo::Setter,
28434 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28435 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
28436 : false, /* isInfallible. False in setters. */
28437 : false, /* isMovable. Not relevant for setters. */
28438 : false, /* isEliminatable. Not relevant for setters. */
28439 : false, /* isAlwaysInSlot. Only relevant for getters. */
28440 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28441 : false, /* isTypedMethod. Only relevant for methods. */
28442 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28443 : };
28444 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28445 : static_assert(0 < 1, "There is no slot for us");
28446 :
28447 : static bool
28448 0 : get_maxWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
28449 : {
28450 0 : binding_detail::FastErrorResult rv;
28451 0 : DOMString result;
28452 0 : self->GetMaxWidth(result, rv);
28453 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28454 0 : return false;
28455 : }
28456 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28457 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
28458 0 : return false;
28459 : }
28460 0 : return true;
28461 : }
28462 :
28463 : static bool
28464 0 : set_maxWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
28465 : {
28466 0 : binding_detail::FakeString arg0;
28467 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
28468 0 : return false;
28469 : }
28470 0 : binding_detail::FastErrorResult rv;
28471 0 : self->SetMaxWidth(NonNullHelper(Constify(arg0)), rv);
28472 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28473 0 : return false;
28474 : }
28475 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28476 :
28477 0 : return true;
28478 : }
28479 :
28480 : static const JSJitInfo maxWidth_getterinfo = {
28481 : { (JSJitGetterOp)get_maxWidth },
28482 : { prototypes::id::CSS2Properties },
28483 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28484 : JSJitInfo::Getter,
28485 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28486 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
28487 : false, /* isInfallible. False in setters. */
28488 : false, /* isMovable. Not relevant for setters. */
28489 : false, /* isEliminatable. Not relevant for setters. */
28490 : false, /* isAlwaysInSlot. Only relevant for getters. */
28491 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28492 : false, /* isTypedMethod. Only relevant for methods. */
28493 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28494 : };
28495 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28496 : static_assert(0 < 1, "There is no slot for us");
28497 : static const JSJitInfo maxWidth_setterinfo = {
28498 : { (JSJitGetterOp)set_maxWidth },
28499 : { prototypes::id::CSS2Properties },
28500 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28501 : JSJitInfo::Setter,
28502 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28503 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
28504 : false, /* isInfallible. False in setters. */
28505 : false, /* isMovable. Not relevant for setters. */
28506 : false, /* isEliminatable. Not relevant for setters. */
28507 : false, /* isAlwaysInSlot. Only relevant for getters. */
28508 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28509 : false, /* isTypedMethod. Only relevant for methods. */
28510 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28511 : };
28512 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28513 : static_assert(0 < 1, "There is no slot for us");
28514 :
28515 : static bool
28516 0 : get_max_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
28517 : {
28518 0 : binding_detail::FastErrorResult rv;
28519 0 : DOMString result;
28520 0 : self->GetMaxWidth(result, rv);
28521 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28522 0 : return false;
28523 : }
28524 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28525 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
28526 0 : return false;
28527 : }
28528 0 : return true;
28529 : }
28530 :
28531 : static bool
28532 0 : set_max_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
28533 : {
28534 0 : binding_detail::FakeString arg0;
28535 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
28536 0 : return false;
28537 : }
28538 0 : binding_detail::FastErrorResult rv;
28539 0 : self->SetMaxWidth(NonNullHelper(Constify(arg0)), rv);
28540 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28541 0 : return false;
28542 : }
28543 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28544 :
28545 0 : return true;
28546 : }
28547 :
28548 : static const JSJitInfo max_width_getterinfo = {
28549 : { (JSJitGetterOp)get_max_width },
28550 : { prototypes::id::CSS2Properties },
28551 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28552 : JSJitInfo::Getter,
28553 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28554 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
28555 : false, /* isInfallible. False in setters. */
28556 : false, /* isMovable. Not relevant for setters. */
28557 : false, /* isEliminatable. Not relevant for setters. */
28558 : false, /* isAlwaysInSlot. Only relevant for getters. */
28559 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28560 : false, /* isTypedMethod. Only relevant for methods. */
28561 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28562 : };
28563 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28564 : static_assert(0 < 1, "There is no slot for us");
28565 : static const JSJitInfo max_width_setterinfo = {
28566 : { (JSJitGetterOp)set_max_width },
28567 : { prototypes::id::CSS2Properties },
28568 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28569 : JSJitInfo::Setter,
28570 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28571 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
28572 : false, /* isInfallible. False in setters. */
28573 : false, /* isMovable. Not relevant for setters. */
28574 : false, /* isEliminatable. Not relevant for setters. */
28575 : false, /* isAlwaysInSlot. Only relevant for getters. */
28576 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28577 : false, /* isTypedMethod. Only relevant for methods. */
28578 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28579 : };
28580 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28581 : static_assert(0 < 1, "There is no slot for us");
28582 :
28583 : static bool
28584 0 : get_minBlockSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
28585 : {
28586 0 : binding_detail::FastErrorResult rv;
28587 0 : DOMString result;
28588 0 : self->GetMinBlockSize(result, rv);
28589 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28590 0 : return false;
28591 : }
28592 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28593 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
28594 0 : return false;
28595 : }
28596 0 : return true;
28597 : }
28598 :
28599 : static bool
28600 0 : set_minBlockSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
28601 : {
28602 0 : binding_detail::FakeString arg0;
28603 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
28604 0 : return false;
28605 : }
28606 0 : binding_detail::FastErrorResult rv;
28607 0 : self->SetMinBlockSize(NonNullHelper(Constify(arg0)), rv);
28608 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28609 0 : return false;
28610 : }
28611 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28612 :
28613 0 : return true;
28614 : }
28615 :
28616 : static const JSJitInfo minBlockSize_getterinfo = {
28617 : { (JSJitGetterOp)get_minBlockSize },
28618 : { prototypes::id::CSS2Properties },
28619 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28620 : JSJitInfo::Getter,
28621 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28622 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
28623 : false, /* isInfallible. False in setters. */
28624 : false, /* isMovable. Not relevant for setters. */
28625 : false, /* isEliminatable. Not relevant for setters. */
28626 : false, /* isAlwaysInSlot. Only relevant for getters. */
28627 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28628 : false, /* isTypedMethod. Only relevant for methods. */
28629 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28630 : };
28631 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28632 : static_assert(0 < 1, "There is no slot for us");
28633 : static const JSJitInfo minBlockSize_setterinfo = {
28634 : { (JSJitGetterOp)set_minBlockSize },
28635 : { prototypes::id::CSS2Properties },
28636 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28637 : JSJitInfo::Setter,
28638 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28639 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
28640 : false, /* isInfallible. False in setters. */
28641 : false, /* isMovable. Not relevant for setters. */
28642 : false, /* isEliminatable. Not relevant for setters. */
28643 : false, /* isAlwaysInSlot. Only relevant for getters. */
28644 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28645 : false, /* isTypedMethod. Only relevant for methods. */
28646 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28647 : };
28648 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28649 : static_assert(0 < 1, "There is no slot for us");
28650 :
28651 : static bool
28652 0 : get_min_block_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
28653 : {
28654 0 : binding_detail::FastErrorResult rv;
28655 0 : DOMString result;
28656 0 : self->GetMinBlockSize(result, rv);
28657 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28658 0 : return false;
28659 : }
28660 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28661 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
28662 0 : return false;
28663 : }
28664 0 : return true;
28665 : }
28666 :
28667 : static bool
28668 0 : set_min_block_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
28669 : {
28670 0 : binding_detail::FakeString arg0;
28671 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
28672 0 : return false;
28673 : }
28674 0 : binding_detail::FastErrorResult rv;
28675 0 : self->SetMinBlockSize(NonNullHelper(Constify(arg0)), rv);
28676 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28677 0 : return false;
28678 : }
28679 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28680 :
28681 0 : return true;
28682 : }
28683 :
28684 : static const JSJitInfo min_block_size_getterinfo = {
28685 : { (JSJitGetterOp)get_min_block_size },
28686 : { prototypes::id::CSS2Properties },
28687 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28688 : JSJitInfo::Getter,
28689 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28690 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
28691 : false, /* isInfallible. False in setters. */
28692 : false, /* isMovable. Not relevant for setters. */
28693 : false, /* isEliminatable. Not relevant for setters. */
28694 : false, /* isAlwaysInSlot. Only relevant for getters. */
28695 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28696 : false, /* isTypedMethod. Only relevant for methods. */
28697 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28698 : };
28699 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28700 : static_assert(0 < 1, "There is no slot for us");
28701 : static const JSJitInfo min_block_size_setterinfo = {
28702 : { (JSJitGetterOp)set_min_block_size },
28703 : { prototypes::id::CSS2Properties },
28704 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28705 : JSJitInfo::Setter,
28706 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28707 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
28708 : false, /* isInfallible. False in setters. */
28709 : false, /* isMovable. Not relevant for setters. */
28710 : false, /* isEliminatable. Not relevant for setters. */
28711 : false, /* isAlwaysInSlot. Only relevant for getters. */
28712 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28713 : false, /* isTypedMethod. Only relevant for methods. */
28714 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28715 : };
28716 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28717 : static_assert(0 < 1, "There is no slot for us");
28718 :
28719 : static bool
28720 0 : get_minHeight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
28721 : {
28722 0 : binding_detail::FastErrorResult rv;
28723 0 : DOMString result;
28724 0 : self->GetMinHeight(result, rv);
28725 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28726 0 : return false;
28727 : }
28728 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28729 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
28730 0 : return false;
28731 : }
28732 0 : return true;
28733 : }
28734 :
28735 : static bool
28736 0 : set_minHeight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
28737 : {
28738 0 : binding_detail::FakeString arg0;
28739 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
28740 0 : return false;
28741 : }
28742 0 : binding_detail::FastErrorResult rv;
28743 0 : self->SetMinHeight(NonNullHelper(Constify(arg0)), rv);
28744 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28745 0 : return false;
28746 : }
28747 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28748 :
28749 0 : return true;
28750 : }
28751 :
28752 : static const JSJitInfo minHeight_getterinfo = {
28753 : { (JSJitGetterOp)get_minHeight },
28754 : { prototypes::id::CSS2Properties },
28755 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28756 : JSJitInfo::Getter,
28757 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28758 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
28759 : false, /* isInfallible. False in setters. */
28760 : false, /* isMovable. Not relevant for setters. */
28761 : false, /* isEliminatable. Not relevant for setters. */
28762 : false, /* isAlwaysInSlot. Only relevant for getters. */
28763 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28764 : false, /* isTypedMethod. Only relevant for methods. */
28765 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28766 : };
28767 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28768 : static_assert(0 < 1, "There is no slot for us");
28769 : static const JSJitInfo minHeight_setterinfo = {
28770 : { (JSJitGetterOp)set_minHeight },
28771 : { prototypes::id::CSS2Properties },
28772 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28773 : JSJitInfo::Setter,
28774 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28775 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
28776 : false, /* isInfallible. False in setters. */
28777 : false, /* isMovable. Not relevant for setters. */
28778 : false, /* isEliminatable. Not relevant for setters. */
28779 : false, /* isAlwaysInSlot. Only relevant for getters. */
28780 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28781 : false, /* isTypedMethod. Only relevant for methods. */
28782 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28783 : };
28784 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28785 : static_assert(0 < 1, "There is no slot for us");
28786 :
28787 : static bool
28788 0 : get_min_height(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
28789 : {
28790 0 : binding_detail::FastErrorResult rv;
28791 0 : DOMString result;
28792 0 : self->GetMinHeight(result, rv);
28793 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28794 0 : return false;
28795 : }
28796 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28797 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
28798 0 : return false;
28799 : }
28800 0 : return true;
28801 : }
28802 :
28803 : static bool
28804 0 : set_min_height(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
28805 : {
28806 0 : binding_detail::FakeString arg0;
28807 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
28808 0 : return false;
28809 : }
28810 0 : binding_detail::FastErrorResult rv;
28811 0 : self->SetMinHeight(NonNullHelper(Constify(arg0)), rv);
28812 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28813 0 : return false;
28814 : }
28815 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28816 :
28817 0 : return true;
28818 : }
28819 :
28820 : static const JSJitInfo min_height_getterinfo = {
28821 : { (JSJitGetterOp)get_min_height },
28822 : { prototypes::id::CSS2Properties },
28823 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28824 : JSJitInfo::Getter,
28825 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28826 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
28827 : false, /* isInfallible. False in setters. */
28828 : false, /* isMovable. Not relevant for setters. */
28829 : false, /* isEliminatable. Not relevant for setters. */
28830 : false, /* isAlwaysInSlot. Only relevant for getters. */
28831 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28832 : false, /* isTypedMethod. Only relevant for methods. */
28833 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28834 : };
28835 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28836 : static_assert(0 < 1, "There is no slot for us");
28837 : static const JSJitInfo min_height_setterinfo = {
28838 : { (JSJitGetterOp)set_min_height },
28839 : { prototypes::id::CSS2Properties },
28840 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28841 : JSJitInfo::Setter,
28842 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28843 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
28844 : false, /* isInfallible. False in setters. */
28845 : false, /* isMovable. Not relevant for setters. */
28846 : false, /* isEliminatable. Not relevant for setters. */
28847 : false, /* isAlwaysInSlot. Only relevant for getters. */
28848 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28849 : false, /* isTypedMethod. Only relevant for methods. */
28850 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28851 : };
28852 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28853 : static_assert(0 < 1, "There is no slot for us");
28854 :
28855 : static bool
28856 0 : get_minInlineSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
28857 : {
28858 0 : binding_detail::FastErrorResult rv;
28859 0 : DOMString result;
28860 0 : self->GetMinInlineSize(result, rv);
28861 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28862 0 : return false;
28863 : }
28864 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28865 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
28866 0 : return false;
28867 : }
28868 0 : return true;
28869 : }
28870 :
28871 : static bool
28872 0 : set_minInlineSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
28873 : {
28874 0 : binding_detail::FakeString arg0;
28875 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
28876 0 : return false;
28877 : }
28878 0 : binding_detail::FastErrorResult rv;
28879 0 : self->SetMinInlineSize(NonNullHelper(Constify(arg0)), rv);
28880 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28881 0 : return false;
28882 : }
28883 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28884 :
28885 0 : return true;
28886 : }
28887 :
28888 : static const JSJitInfo minInlineSize_getterinfo = {
28889 : { (JSJitGetterOp)get_minInlineSize },
28890 : { prototypes::id::CSS2Properties },
28891 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28892 : JSJitInfo::Getter,
28893 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28894 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
28895 : false, /* isInfallible. False in setters. */
28896 : false, /* isMovable. Not relevant for setters. */
28897 : false, /* isEliminatable. Not relevant for setters. */
28898 : false, /* isAlwaysInSlot. Only relevant for getters. */
28899 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28900 : false, /* isTypedMethod. Only relevant for methods. */
28901 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28902 : };
28903 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28904 : static_assert(0 < 1, "There is no slot for us");
28905 : static const JSJitInfo minInlineSize_setterinfo = {
28906 : { (JSJitGetterOp)set_minInlineSize },
28907 : { prototypes::id::CSS2Properties },
28908 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28909 : JSJitInfo::Setter,
28910 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28911 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
28912 : false, /* isInfallible. False in setters. */
28913 : false, /* isMovable. Not relevant for setters. */
28914 : false, /* isEliminatable. Not relevant for setters. */
28915 : false, /* isAlwaysInSlot. Only relevant for getters. */
28916 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28917 : false, /* isTypedMethod. Only relevant for methods. */
28918 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28919 : };
28920 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28921 : static_assert(0 < 1, "There is no slot for us");
28922 :
28923 : static bool
28924 0 : get_min_inline_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
28925 : {
28926 0 : binding_detail::FastErrorResult rv;
28927 0 : DOMString result;
28928 0 : self->GetMinInlineSize(result, rv);
28929 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28930 0 : return false;
28931 : }
28932 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28933 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
28934 0 : return false;
28935 : }
28936 0 : return true;
28937 : }
28938 :
28939 : static bool
28940 0 : set_min_inline_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
28941 : {
28942 0 : binding_detail::FakeString arg0;
28943 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
28944 0 : return false;
28945 : }
28946 0 : binding_detail::FastErrorResult rv;
28947 0 : self->SetMinInlineSize(NonNullHelper(Constify(arg0)), rv);
28948 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28949 0 : return false;
28950 : }
28951 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
28952 :
28953 0 : return true;
28954 : }
28955 :
28956 : static const JSJitInfo min_inline_size_getterinfo = {
28957 : { (JSJitGetterOp)get_min_inline_size },
28958 : { prototypes::id::CSS2Properties },
28959 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28960 : JSJitInfo::Getter,
28961 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28962 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
28963 : false, /* isInfallible. False in setters. */
28964 : false, /* isMovable. Not relevant for setters. */
28965 : false, /* isEliminatable. Not relevant for setters. */
28966 : false, /* isAlwaysInSlot. Only relevant for getters. */
28967 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28968 : false, /* isTypedMethod. Only relevant for methods. */
28969 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28970 : };
28971 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28972 : static_assert(0 < 1, "There is no slot for us");
28973 : static const JSJitInfo min_inline_size_setterinfo = {
28974 : { (JSJitGetterOp)set_min_inline_size },
28975 : { prototypes::id::CSS2Properties },
28976 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
28977 : JSJitInfo::Setter,
28978 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
28979 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
28980 : false, /* isInfallible. False in setters. */
28981 : false, /* isMovable. Not relevant for setters. */
28982 : false, /* isEliminatable. Not relevant for setters. */
28983 : false, /* isAlwaysInSlot. Only relevant for getters. */
28984 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
28985 : false, /* isTypedMethod. Only relevant for methods. */
28986 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
28987 : };
28988 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
28989 : static_assert(0 < 1, "There is no slot for us");
28990 :
28991 : static bool
28992 0 : get_minWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
28993 : {
28994 0 : binding_detail::FastErrorResult rv;
28995 0 : DOMString result;
28996 0 : self->GetMinWidth(result, rv);
28997 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
28998 0 : return false;
28999 : }
29000 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29001 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
29002 0 : return false;
29003 : }
29004 0 : return true;
29005 : }
29006 :
29007 : static bool
29008 4 : set_minWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
29009 : {
29010 8 : binding_detail::FakeString arg0;
29011 4 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
29012 0 : return false;
29013 : }
29014 8 : binding_detail::FastErrorResult rv;
29015 4 : self->SetMinWidth(NonNullHelper(Constify(arg0)), rv);
29016 4 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29017 0 : return false;
29018 : }
29019 4 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29020 :
29021 4 : return true;
29022 : }
29023 :
29024 : static const JSJitInfo minWidth_getterinfo = {
29025 : { (JSJitGetterOp)get_minWidth },
29026 : { prototypes::id::CSS2Properties },
29027 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29028 : JSJitInfo::Getter,
29029 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29030 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
29031 : false, /* isInfallible. False in setters. */
29032 : false, /* isMovable. Not relevant for setters. */
29033 : false, /* isEliminatable. Not relevant for setters. */
29034 : false, /* isAlwaysInSlot. Only relevant for getters. */
29035 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29036 : false, /* isTypedMethod. Only relevant for methods. */
29037 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29038 : };
29039 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29040 : static_assert(0 < 1, "There is no slot for us");
29041 : static const JSJitInfo minWidth_setterinfo = {
29042 : { (JSJitGetterOp)set_minWidth },
29043 : { prototypes::id::CSS2Properties },
29044 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29045 : JSJitInfo::Setter,
29046 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29047 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
29048 : false, /* isInfallible. False in setters. */
29049 : false, /* isMovable. Not relevant for setters. */
29050 : false, /* isEliminatable. Not relevant for setters. */
29051 : false, /* isAlwaysInSlot. Only relevant for getters. */
29052 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29053 : false, /* isTypedMethod. Only relevant for methods. */
29054 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29055 : };
29056 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29057 : static_assert(0 < 1, "There is no slot for us");
29058 :
29059 : static bool
29060 0 : get_min_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
29061 : {
29062 0 : binding_detail::FastErrorResult rv;
29063 0 : DOMString result;
29064 0 : self->GetMinWidth(result, rv);
29065 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29066 0 : return false;
29067 : }
29068 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29069 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
29070 0 : return false;
29071 : }
29072 0 : return true;
29073 : }
29074 :
29075 : static bool
29076 0 : set_min_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
29077 : {
29078 0 : binding_detail::FakeString arg0;
29079 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
29080 0 : return false;
29081 : }
29082 0 : binding_detail::FastErrorResult rv;
29083 0 : self->SetMinWidth(NonNullHelper(Constify(arg0)), rv);
29084 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29085 0 : return false;
29086 : }
29087 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29088 :
29089 0 : return true;
29090 : }
29091 :
29092 : static const JSJitInfo min_width_getterinfo = {
29093 : { (JSJitGetterOp)get_min_width },
29094 : { prototypes::id::CSS2Properties },
29095 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29096 : JSJitInfo::Getter,
29097 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29098 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
29099 : false, /* isInfallible. False in setters. */
29100 : false, /* isMovable. Not relevant for setters. */
29101 : false, /* isEliminatable. Not relevant for setters. */
29102 : false, /* isAlwaysInSlot. Only relevant for getters. */
29103 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29104 : false, /* isTypedMethod. Only relevant for methods. */
29105 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29106 : };
29107 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29108 : static_assert(0 < 1, "There is no slot for us");
29109 : static const JSJitInfo min_width_setterinfo = {
29110 : { (JSJitGetterOp)set_min_width },
29111 : { prototypes::id::CSS2Properties },
29112 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29113 : JSJitInfo::Setter,
29114 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29115 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
29116 : false, /* isInfallible. False in setters. */
29117 : false, /* isMovable. Not relevant for setters. */
29118 : false, /* isEliminatable. Not relevant for setters. */
29119 : false, /* isAlwaysInSlot. Only relevant for getters. */
29120 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29121 : false, /* isTypedMethod. Only relevant for methods. */
29122 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29123 : };
29124 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29125 : static_assert(0 < 1, "There is no slot for us");
29126 :
29127 : static bool
29128 0 : get_mixBlendMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
29129 : {
29130 0 : binding_detail::FastErrorResult rv;
29131 0 : DOMString result;
29132 0 : self->GetMixBlendMode(result, rv);
29133 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29134 0 : return false;
29135 : }
29136 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29137 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
29138 0 : return false;
29139 : }
29140 0 : return true;
29141 : }
29142 :
29143 : static bool
29144 0 : set_mixBlendMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
29145 : {
29146 0 : binding_detail::FakeString arg0;
29147 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
29148 0 : return false;
29149 : }
29150 0 : binding_detail::FastErrorResult rv;
29151 0 : self->SetMixBlendMode(NonNullHelper(Constify(arg0)), rv);
29152 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29153 0 : return false;
29154 : }
29155 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29156 :
29157 0 : return true;
29158 : }
29159 :
29160 : static const JSJitInfo mixBlendMode_getterinfo = {
29161 : { (JSJitGetterOp)get_mixBlendMode },
29162 : { prototypes::id::CSS2Properties },
29163 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29164 : JSJitInfo::Getter,
29165 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29166 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
29167 : false, /* isInfallible. False in setters. */
29168 : false, /* isMovable. Not relevant for setters. */
29169 : false, /* isEliminatable. Not relevant for setters. */
29170 : false, /* isAlwaysInSlot. Only relevant for getters. */
29171 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29172 : false, /* isTypedMethod. Only relevant for methods. */
29173 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29174 : };
29175 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29176 : static_assert(0 < 1, "There is no slot for us");
29177 : static const JSJitInfo mixBlendMode_setterinfo = {
29178 : { (JSJitGetterOp)set_mixBlendMode },
29179 : { prototypes::id::CSS2Properties },
29180 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29181 : JSJitInfo::Setter,
29182 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29183 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
29184 : false, /* isInfallible. False in setters. */
29185 : false, /* isMovable. Not relevant for setters. */
29186 : false, /* isEliminatable. Not relevant for setters. */
29187 : false, /* isAlwaysInSlot. Only relevant for getters. */
29188 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29189 : false, /* isTypedMethod. Only relevant for methods. */
29190 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29191 : };
29192 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29193 : static_assert(0 < 1, "There is no slot for us");
29194 :
29195 : static bool
29196 0 : get_mix_blend_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
29197 : {
29198 0 : binding_detail::FastErrorResult rv;
29199 0 : DOMString result;
29200 0 : self->GetMixBlendMode(result, rv);
29201 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29202 0 : return false;
29203 : }
29204 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29205 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
29206 0 : return false;
29207 : }
29208 0 : return true;
29209 : }
29210 :
29211 : static bool
29212 0 : set_mix_blend_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
29213 : {
29214 0 : binding_detail::FakeString arg0;
29215 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
29216 0 : return false;
29217 : }
29218 0 : binding_detail::FastErrorResult rv;
29219 0 : self->SetMixBlendMode(NonNullHelper(Constify(arg0)), rv);
29220 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29221 0 : return false;
29222 : }
29223 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29224 :
29225 0 : return true;
29226 : }
29227 :
29228 : static const JSJitInfo mix_blend_mode_getterinfo = {
29229 : { (JSJitGetterOp)get_mix_blend_mode },
29230 : { prototypes::id::CSS2Properties },
29231 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29232 : JSJitInfo::Getter,
29233 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29234 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
29235 : false, /* isInfallible. False in setters. */
29236 : false, /* isMovable. Not relevant for setters. */
29237 : false, /* isEliminatable. Not relevant for setters. */
29238 : false, /* isAlwaysInSlot. Only relevant for getters. */
29239 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29240 : false, /* isTypedMethod. Only relevant for methods. */
29241 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29242 : };
29243 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29244 : static_assert(0 < 1, "There is no slot for us");
29245 : static const JSJitInfo mix_blend_mode_setterinfo = {
29246 : { (JSJitGetterOp)set_mix_blend_mode },
29247 : { prototypes::id::CSS2Properties },
29248 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29249 : JSJitInfo::Setter,
29250 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29251 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
29252 : false, /* isInfallible. False in setters. */
29253 : false, /* isMovable. Not relevant for setters. */
29254 : false, /* isEliminatable. Not relevant for setters. */
29255 : false, /* isAlwaysInSlot. Only relevant for getters. */
29256 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29257 : false, /* isTypedMethod. Only relevant for methods. */
29258 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29259 : };
29260 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29261 : static_assert(0 < 1, "There is no slot for us");
29262 :
29263 : static bool
29264 0 : get_objectFit(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
29265 : {
29266 0 : binding_detail::FastErrorResult rv;
29267 0 : DOMString result;
29268 0 : self->GetObjectFit(result, rv);
29269 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29270 0 : return false;
29271 : }
29272 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29273 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
29274 0 : return false;
29275 : }
29276 0 : return true;
29277 : }
29278 :
29279 : static bool
29280 0 : set_objectFit(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
29281 : {
29282 0 : binding_detail::FakeString arg0;
29283 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
29284 0 : return false;
29285 : }
29286 0 : binding_detail::FastErrorResult rv;
29287 0 : self->SetObjectFit(NonNullHelper(Constify(arg0)), rv);
29288 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29289 0 : return false;
29290 : }
29291 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29292 :
29293 0 : return true;
29294 : }
29295 :
29296 : static const JSJitInfo objectFit_getterinfo = {
29297 : { (JSJitGetterOp)get_objectFit },
29298 : { prototypes::id::CSS2Properties },
29299 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29300 : JSJitInfo::Getter,
29301 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29302 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
29303 : false, /* isInfallible. False in setters. */
29304 : false, /* isMovable. Not relevant for setters. */
29305 : false, /* isEliminatable. Not relevant for setters. */
29306 : false, /* isAlwaysInSlot. Only relevant for getters. */
29307 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29308 : false, /* isTypedMethod. Only relevant for methods. */
29309 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29310 : };
29311 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29312 : static_assert(0 < 1, "There is no slot for us");
29313 : static const JSJitInfo objectFit_setterinfo = {
29314 : { (JSJitGetterOp)set_objectFit },
29315 : { prototypes::id::CSS2Properties },
29316 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29317 : JSJitInfo::Setter,
29318 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29319 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
29320 : false, /* isInfallible. False in setters. */
29321 : false, /* isMovable. Not relevant for setters. */
29322 : false, /* isEliminatable. Not relevant for setters. */
29323 : false, /* isAlwaysInSlot. Only relevant for getters. */
29324 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29325 : false, /* isTypedMethod. Only relevant for methods. */
29326 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29327 : };
29328 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29329 : static_assert(0 < 1, "There is no slot for us");
29330 :
29331 : static bool
29332 0 : get_object_fit(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
29333 : {
29334 0 : binding_detail::FastErrorResult rv;
29335 0 : DOMString result;
29336 0 : self->GetObjectFit(result, rv);
29337 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29338 0 : return false;
29339 : }
29340 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29341 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
29342 0 : return false;
29343 : }
29344 0 : return true;
29345 : }
29346 :
29347 : static bool
29348 0 : set_object_fit(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
29349 : {
29350 0 : binding_detail::FakeString arg0;
29351 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
29352 0 : return false;
29353 : }
29354 0 : binding_detail::FastErrorResult rv;
29355 0 : self->SetObjectFit(NonNullHelper(Constify(arg0)), rv);
29356 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29357 0 : return false;
29358 : }
29359 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29360 :
29361 0 : return true;
29362 : }
29363 :
29364 : static const JSJitInfo object_fit_getterinfo = {
29365 : { (JSJitGetterOp)get_object_fit },
29366 : { prototypes::id::CSS2Properties },
29367 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29368 : JSJitInfo::Getter,
29369 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29370 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
29371 : false, /* isInfallible. False in setters. */
29372 : false, /* isMovable. Not relevant for setters. */
29373 : false, /* isEliminatable. Not relevant for setters. */
29374 : false, /* isAlwaysInSlot. Only relevant for getters. */
29375 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29376 : false, /* isTypedMethod. Only relevant for methods. */
29377 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29378 : };
29379 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29380 : static_assert(0 < 1, "There is no slot for us");
29381 : static const JSJitInfo object_fit_setterinfo = {
29382 : { (JSJitGetterOp)set_object_fit },
29383 : { prototypes::id::CSS2Properties },
29384 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29385 : JSJitInfo::Setter,
29386 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29387 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
29388 : false, /* isInfallible. False in setters. */
29389 : false, /* isMovable. Not relevant for setters. */
29390 : false, /* isEliminatable. Not relevant for setters. */
29391 : false, /* isAlwaysInSlot. Only relevant for getters. */
29392 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29393 : false, /* isTypedMethod. Only relevant for methods. */
29394 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29395 : };
29396 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29397 : static_assert(0 < 1, "There is no slot for us");
29398 :
29399 : static bool
29400 0 : get_objectPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
29401 : {
29402 0 : binding_detail::FastErrorResult rv;
29403 0 : DOMString result;
29404 0 : self->GetObjectPosition(result, rv);
29405 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29406 0 : return false;
29407 : }
29408 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29409 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
29410 0 : return false;
29411 : }
29412 0 : return true;
29413 : }
29414 :
29415 : static bool
29416 0 : set_objectPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
29417 : {
29418 0 : binding_detail::FakeString arg0;
29419 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
29420 0 : return false;
29421 : }
29422 0 : binding_detail::FastErrorResult rv;
29423 0 : self->SetObjectPosition(NonNullHelper(Constify(arg0)), rv);
29424 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29425 0 : return false;
29426 : }
29427 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29428 :
29429 0 : return true;
29430 : }
29431 :
29432 : static const JSJitInfo objectPosition_getterinfo = {
29433 : { (JSJitGetterOp)get_objectPosition },
29434 : { prototypes::id::CSS2Properties },
29435 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29436 : JSJitInfo::Getter,
29437 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29438 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
29439 : false, /* isInfallible. False in setters. */
29440 : false, /* isMovable. Not relevant for setters. */
29441 : false, /* isEliminatable. Not relevant for setters. */
29442 : false, /* isAlwaysInSlot. Only relevant for getters. */
29443 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29444 : false, /* isTypedMethod. Only relevant for methods. */
29445 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29446 : };
29447 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29448 : static_assert(0 < 1, "There is no slot for us");
29449 : static const JSJitInfo objectPosition_setterinfo = {
29450 : { (JSJitGetterOp)set_objectPosition },
29451 : { prototypes::id::CSS2Properties },
29452 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29453 : JSJitInfo::Setter,
29454 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29455 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
29456 : false, /* isInfallible. False in setters. */
29457 : false, /* isMovable. Not relevant for setters. */
29458 : false, /* isEliminatable. Not relevant for setters. */
29459 : false, /* isAlwaysInSlot. Only relevant for getters. */
29460 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29461 : false, /* isTypedMethod. Only relevant for methods. */
29462 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29463 : };
29464 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29465 : static_assert(0 < 1, "There is no slot for us");
29466 :
29467 : static bool
29468 0 : get_object_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
29469 : {
29470 0 : binding_detail::FastErrorResult rv;
29471 0 : DOMString result;
29472 0 : self->GetObjectPosition(result, rv);
29473 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29474 0 : return false;
29475 : }
29476 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29477 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
29478 0 : return false;
29479 : }
29480 0 : return true;
29481 : }
29482 :
29483 : static bool
29484 0 : set_object_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
29485 : {
29486 0 : binding_detail::FakeString arg0;
29487 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
29488 0 : return false;
29489 : }
29490 0 : binding_detail::FastErrorResult rv;
29491 0 : self->SetObjectPosition(NonNullHelper(Constify(arg0)), rv);
29492 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29493 0 : return false;
29494 : }
29495 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29496 :
29497 0 : return true;
29498 : }
29499 :
29500 : static const JSJitInfo object_position_getterinfo = {
29501 : { (JSJitGetterOp)get_object_position },
29502 : { prototypes::id::CSS2Properties },
29503 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29504 : JSJitInfo::Getter,
29505 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29506 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
29507 : false, /* isInfallible. False in setters. */
29508 : false, /* isMovable. Not relevant for setters. */
29509 : false, /* isEliminatable. Not relevant for setters. */
29510 : false, /* isAlwaysInSlot. Only relevant for getters. */
29511 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29512 : false, /* isTypedMethod. Only relevant for methods. */
29513 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29514 : };
29515 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29516 : static_assert(0 < 1, "There is no slot for us");
29517 : static const JSJitInfo object_position_setterinfo = {
29518 : { (JSJitGetterOp)set_object_position },
29519 : { prototypes::id::CSS2Properties },
29520 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29521 : JSJitInfo::Setter,
29522 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29523 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
29524 : false, /* isInfallible. False in setters. */
29525 : false, /* isMovable. Not relevant for setters. */
29526 : false, /* isEliminatable. Not relevant for setters. */
29527 : false, /* isAlwaysInSlot. Only relevant for getters. */
29528 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29529 : false, /* isTypedMethod. Only relevant for methods. */
29530 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29531 : };
29532 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29533 : static_assert(0 < 1, "There is no slot for us");
29534 :
29535 : static bool
29536 0 : get_offsetBlockEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
29537 : {
29538 0 : binding_detail::FastErrorResult rv;
29539 0 : DOMString result;
29540 0 : self->GetOffsetBlockEnd(result, rv);
29541 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29542 0 : return false;
29543 : }
29544 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29545 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
29546 0 : return false;
29547 : }
29548 0 : return true;
29549 : }
29550 :
29551 : static bool
29552 0 : set_offsetBlockEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
29553 : {
29554 0 : binding_detail::FakeString arg0;
29555 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
29556 0 : return false;
29557 : }
29558 0 : binding_detail::FastErrorResult rv;
29559 0 : self->SetOffsetBlockEnd(NonNullHelper(Constify(arg0)), rv);
29560 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29561 0 : return false;
29562 : }
29563 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29564 :
29565 0 : return true;
29566 : }
29567 :
29568 : static const JSJitInfo offsetBlockEnd_getterinfo = {
29569 : { (JSJitGetterOp)get_offsetBlockEnd },
29570 : { prototypes::id::CSS2Properties },
29571 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29572 : JSJitInfo::Getter,
29573 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29574 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
29575 : false, /* isInfallible. False in setters. */
29576 : false, /* isMovable. Not relevant for setters. */
29577 : false, /* isEliminatable. Not relevant for setters. */
29578 : false, /* isAlwaysInSlot. Only relevant for getters. */
29579 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29580 : false, /* isTypedMethod. Only relevant for methods. */
29581 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29582 : };
29583 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29584 : static_assert(0 < 1, "There is no slot for us");
29585 : static const JSJitInfo offsetBlockEnd_setterinfo = {
29586 : { (JSJitGetterOp)set_offsetBlockEnd },
29587 : { prototypes::id::CSS2Properties },
29588 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29589 : JSJitInfo::Setter,
29590 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29591 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
29592 : false, /* isInfallible. False in setters. */
29593 : false, /* isMovable. Not relevant for setters. */
29594 : false, /* isEliminatable. Not relevant for setters. */
29595 : false, /* isAlwaysInSlot. Only relevant for getters. */
29596 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29597 : false, /* isTypedMethod. Only relevant for methods. */
29598 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29599 : };
29600 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29601 : static_assert(0 < 1, "There is no slot for us");
29602 :
29603 : static bool
29604 0 : get_offset_block_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
29605 : {
29606 0 : binding_detail::FastErrorResult rv;
29607 0 : DOMString result;
29608 0 : self->GetOffsetBlockEnd(result, rv);
29609 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29610 0 : return false;
29611 : }
29612 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29613 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
29614 0 : return false;
29615 : }
29616 0 : return true;
29617 : }
29618 :
29619 : static bool
29620 0 : set_offset_block_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
29621 : {
29622 0 : binding_detail::FakeString arg0;
29623 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
29624 0 : return false;
29625 : }
29626 0 : binding_detail::FastErrorResult rv;
29627 0 : self->SetOffsetBlockEnd(NonNullHelper(Constify(arg0)), rv);
29628 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29629 0 : return false;
29630 : }
29631 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29632 :
29633 0 : return true;
29634 : }
29635 :
29636 : static const JSJitInfo offset_block_end_getterinfo = {
29637 : { (JSJitGetterOp)get_offset_block_end },
29638 : { prototypes::id::CSS2Properties },
29639 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29640 : JSJitInfo::Getter,
29641 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29642 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
29643 : false, /* isInfallible. False in setters. */
29644 : false, /* isMovable. Not relevant for setters. */
29645 : false, /* isEliminatable. Not relevant for setters. */
29646 : false, /* isAlwaysInSlot. Only relevant for getters. */
29647 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29648 : false, /* isTypedMethod. Only relevant for methods. */
29649 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29650 : };
29651 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29652 : static_assert(0 < 1, "There is no slot for us");
29653 : static const JSJitInfo offset_block_end_setterinfo = {
29654 : { (JSJitGetterOp)set_offset_block_end },
29655 : { prototypes::id::CSS2Properties },
29656 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29657 : JSJitInfo::Setter,
29658 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29659 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
29660 : false, /* isInfallible. False in setters. */
29661 : false, /* isMovable. Not relevant for setters. */
29662 : false, /* isEliminatable. Not relevant for setters. */
29663 : false, /* isAlwaysInSlot. Only relevant for getters. */
29664 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29665 : false, /* isTypedMethod. Only relevant for methods. */
29666 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29667 : };
29668 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29669 : static_assert(0 < 1, "There is no slot for us");
29670 :
29671 : static bool
29672 0 : get_offsetBlockStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
29673 : {
29674 0 : binding_detail::FastErrorResult rv;
29675 0 : DOMString result;
29676 0 : self->GetOffsetBlockStart(result, rv);
29677 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29678 0 : return false;
29679 : }
29680 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29681 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
29682 0 : return false;
29683 : }
29684 0 : return true;
29685 : }
29686 :
29687 : static bool
29688 0 : set_offsetBlockStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
29689 : {
29690 0 : binding_detail::FakeString arg0;
29691 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
29692 0 : return false;
29693 : }
29694 0 : binding_detail::FastErrorResult rv;
29695 0 : self->SetOffsetBlockStart(NonNullHelper(Constify(arg0)), rv);
29696 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29697 0 : return false;
29698 : }
29699 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29700 :
29701 0 : return true;
29702 : }
29703 :
29704 : static const JSJitInfo offsetBlockStart_getterinfo = {
29705 : { (JSJitGetterOp)get_offsetBlockStart },
29706 : { prototypes::id::CSS2Properties },
29707 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29708 : JSJitInfo::Getter,
29709 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29710 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
29711 : false, /* isInfallible. False in setters. */
29712 : false, /* isMovable. Not relevant for setters. */
29713 : false, /* isEliminatable. Not relevant for setters. */
29714 : false, /* isAlwaysInSlot. Only relevant for getters. */
29715 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29716 : false, /* isTypedMethod. Only relevant for methods. */
29717 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29718 : };
29719 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29720 : static_assert(0 < 1, "There is no slot for us");
29721 : static const JSJitInfo offsetBlockStart_setterinfo = {
29722 : { (JSJitGetterOp)set_offsetBlockStart },
29723 : { prototypes::id::CSS2Properties },
29724 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29725 : JSJitInfo::Setter,
29726 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29727 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
29728 : false, /* isInfallible. False in setters. */
29729 : false, /* isMovable. Not relevant for setters. */
29730 : false, /* isEliminatable. Not relevant for setters. */
29731 : false, /* isAlwaysInSlot. Only relevant for getters. */
29732 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29733 : false, /* isTypedMethod. Only relevant for methods. */
29734 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29735 : };
29736 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29737 : static_assert(0 < 1, "There is no slot for us");
29738 :
29739 : static bool
29740 0 : get_offset_block_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
29741 : {
29742 0 : binding_detail::FastErrorResult rv;
29743 0 : DOMString result;
29744 0 : self->GetOffsetBlockStart(result, rv);
29745 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29746 0 : return false;
29747 : }
29748 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29749 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
29750 0 : return false;
29751 : }
29752 0 : return true;
29753 : }
29754 :
29755 : static bool
29756 0 : set_offset_block_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
29757 : {
29758 0 : binding_detail::FakeString arg0;
29759 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
29760 0 : return false;
29761 : }
29762 0 : binding_detail::FastErrorResult rv;
29763 0 : self->SetOffsetBlockStart(NonNullHelper(Constify(arg0)), rv);
29764 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29765 0 : return false;
29766 : }
29767 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29768 :
29769 0 : return true;
29770 : }
29771 :
29772 : static const JSJitInfo offset_block_start_getterinfo = {
29773 : { (JSJitGetterOp)get_offset_block_start },
29774 : { prototypes::id::CSS2Properties },
29775 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29776 : JSJitInfo::Getter,
29777 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29778 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
29779 : false, /* isInfallible. False in setters. */
29780 : false, /* isMovable. Not relevant for setters. */
29781 : false, /* isEliminatable. Not relevant for setters. */
29782 : false, /* isAlwaysInSlot. Only relevant for getters. */
29783 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29784 : false, /* isTypedMethod. Only relevant for methods. */
29785 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29786 : };
29787 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29788 : static_assert(0 < 1, "There is no slot for us");
29789 : static const JSJitInfo offset_block_start_setterinfo = {
29790 : { (JSJitGetterOp)set_offset_block_start },
29791 : { prototypes::id::CSS2Properties },
29792 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29793 : JSJitInfo::Setter,
29794 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29795 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
29796 : false, /* isInfallible. False in setters. */
29797 : false, /* isMovable. Not relevant for setters. */
29798 : false, /* isEliminatable. Not relevant for setters. */
29799 : false, /* isAlwaysInSlot. Only relevant for getters. */
29800 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29801 : false, /* isTypedMethod. Only relevant for methods. */
29802 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29803 : };
29804 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29805 : static_assert(0 < 1, "There is no slot for us");
29806 :
29807 : static bool
29808 0 : get_offsetInlineEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
29809 : {
29810 0 : binding_detail::FastErrorResult rv;
29811 0 : DOMString result;
29812 0 : self->GetOffsetInlineEnd(result, rv);
29813 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29814 0 : return false;
29815 : }
29816 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29817 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
29818 0 : return false;
29819 : }
29820 0 : return true;
29821 : }
29822 :
29823 : static bool
29824 0 : set_offsetInlineEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
29825 : {
29826 0 : binding_detail::FakeString arg0;
29827 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
29828 0 : return false;
29829 : }
29830 0 : binding_detail::FastErrorResult rv;
29831 0 : self->SetOffsetInlineEnd(NonNullHelper(Constify(arg0)), rv);
29832 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29833 0 : return false;
29834 : }
29835 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29836 :
29837 0 : return true;
29838 : }
29839 :
29840 : static const JSJitInfo offsetInlineEnd_getterinfo = {
29841 : { (JSJitGetterOp)get_offsetInlineEnd },
29842 : { prototypes::id::CSS2Properties },
29843 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29844 : JSJitInfo::Getter,
29845 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29846 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
29847 : false, /* isInfallible. False in setters. */
29848 : false, /* isMovable. Not relevant for setters. */
29849 : false, /* isEliminatable. Not relevant for setters. */
29850 : false, /* isAlwaysInSlot. Only relevant for getters. */
29851 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29852 : false, /* isTypedMethod. Only relevant for methods. */
29853 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29854 : };
29855 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29856 : static_assert(0 < 1, "There is no slot for us");
29857 : static const JSJitInfo offsetInlineEnd_setterinfo = {
29858 : { (JSJitGetterOp)set_offsetInlineEnd },
29859 : { prototypes::id::CSS2Properties },
29860 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29861 : JSJitInfo::Setter,
29862 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29863 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
29864 : false, /* isInfallible. False in setters. */
29865 : false, /* isMovable. Not relevant for setters. */
29866 : false, /* isEliminatable. Not relevant for setters. */
29867 : false, /* isAlwaysInSlot. Only relevant for getters. */
29868 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29869 : false, /* isTypedMethod. Only relevant for methods. */
29870 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29871 : };
29872 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29873 : static_assert(0 < 1, "There is no slot for us");
29874 :
29875 : static bool
29876 0 : get_offset_inline_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
29877 : {
29878 0 : binding_detail::FastErrorResult rv;
29879 0 : DOMString result;
29880 0 : self->GetOffsetInlineEnd(result, rv);
29881 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29882 0 : return false;
29883 : }
29884 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29885 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
29886 0 : return false;
29887 : }
29888 0 : return true;
29889 : }
29890 :
29891 : static bool
29892 0 : set_offset_inline_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
29893 : {
29894 0 : binding_detail::FakeString arg0;
29895 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
29896 0 : return false;
29897 : }
29898 0 : binding_detail::FastErrorResult rv;
29899 0 : self->SetOffsetInlineEnd(NonNullHelper(Constify(arg0)), rv);
29900 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29901 0 : return false;
29902 : }
29903 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29904 :
29905 0 : return true;
29906 : }
29907 :
29908 : static const JSJitInfo offset_inline_end_getterinfo = {
29909 : { (JSJitGetterOp)get_offset_inline_end },
29910 : { prototypes::id::CSS2Properties },
29911 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29912 : JSJitInfo::Getter,
29913 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29914 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
29915 : false, /* isInfallible. False in setters. */
29916 : false, /* isMovable. Not relevant for setters. */
29917 : false, /* isEliminatable. Not relevant for setters. */
29918 : false, /* isAlwaysInSlot. Only relevant for getters. */
29919 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29920 : false, /* isTypedMethod. Only relevant for methods. */
29921 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29922 : };
29923 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29924 : static_assert(0 < 1, "There is no slot for us");
29925 : static const JSJitInfo offset_inline_end_setterinfo = {
29926 : { (JSJitGetterOp)set_offset_inline_end },
29927 : { prototypes::id::CSS2Properties },
29928 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29929 : JSJitInfo::Setter,
29930 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29931 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
29932 : false, /* isInfallible. False in setters. */
29933 : false, /* isMovable. Not relevant for setters. */
29934 : false, /* isEliminatable. Not relevant for setters. */
29935 : false, /* isAlwaysInSlot. Only relevant for getters. */
29936 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29937 : false, /* isTypedMethod. Only relevant for methods. */
29938 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29939 : };
29940 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29941 : static_assert(0 < 1, "There is no slot for us");
29942 :
29943 : static bool
29944 0 : get_offsetInlineStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
29945 : {
29946 0 : binding_detail::FastErrorResult rv;
29947 0 : DOMString result;
29948 0 : self->GetOffsetInlineStart(result, rv);
29949 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29950 0 : return false;
29951 : }
29952 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29953 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
29954 0 : return false;
29955 : }
29956 0 : return true;
29957 : }
29958 :
29959 : static bool
29960 0 : set_offsetInlineStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
29961 : {
29962 0 : binding_detail::FakeString arg0;
29963 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
29964 0 : return false;
29965 : }
29966 0 : binding_detail::FastErrorResult rv;
29967 0 : self->SetOffsetInlineStart(NonNullHelper(Constify(arg0)), rv);
29968 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
29969 0 : return false;
29970 : }
29971 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
29972 :
29973 0 : return true;
29974 : }
29975 :
29976 : static const JSJitInfo offsetInlineStart_getterinfo = {
29977 : { (JSJitGetterOp)get_offsetInlineStart },
29978 : { prototypes::id::CSS2Properties },
29979 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29980 : JSJitInfo::Getter,
29981 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29982 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
29983 : false, /* isInfallible. False in setters. */
29984 : false, /* isMovable. Not relevant for setters. */
29985 : false, /* isEliminatable. Not relevant for setters. */
29986 : false, /* isAlwaysInSlot. Only relevant for getters. */
29987 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
29988 : false, /* isTypedMethod. Only relevant for methods. */
29989 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
29990 : };
29991 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
29992 : static_assert(0 < 1, "There is no slot for us");
29993 : static const JSJitInfo offsetInlineStart_setterinfo = {
29994 : { (JSJitGetterOp)set_offsetInlineStart },
29995 : { prototypes::id::CSS2Properties },
29996 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
29997 : JSJitInfo::Setter,
29998 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
29999 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
30000 : false, /* isInfallible. False in setters. */
30001 : false, /* isMovable. Not relevant for setters. */
30002 : false, /* isEliminatable. Not relevant for setters. */
30003 : false, /* isAlwaysInSlot. Only relevant for getters. */
30004 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30005 : false, /* isTypedMethod. Only relevant for methods. */
30006 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30007 : };
30008 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30009 : static_assert(0 < 1, "There is no slot for us");
30010 :
30011 : static bool
30012 0 : get_offset_inline_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
30013 : {
30014 0 : binding_detail::FastErrorResult rv;
30015 0 : DOMString result;
30016 0 : self->GetOffsetInlineStart(result, rv);
30017 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30018 0 : return false;
30019 : }
30020 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30021 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
30022 0 : return false;
30023 : }
30024 0 : return true;
30025 : }
30026 :
30027 : static bool
30028 0 : set_offset_inline_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
30029 : {
30030 0 : binding_detail::FakeString arg0;
30031 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
30032 0 : return false;
30033 : }
30034 0 : binding_detail::FastErrorResult rv;
30035 0 : self->SetOffsetInlineStart(NonNullHelper(Constify(arg0)), rv);
30036 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30037 0 : return false;
30038 : }
30039 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30040 :
30041 0 : return true;
30042 : }
30043 :
30044 : static const JSJitInfo offset_inline_start_getterinfo = {
30045 : { (JSJitGetterOp)get_offset_inline_start },
30046 : { prototypes::id::CSS2Properties },
30047 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30048 : JSJitInfo::Getter,
30049 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30050 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
30051 : false, /* isInfallible. False in setters. */
30052 : false, /* isMovable. Not relevant for setters. */
30053 : false, /* isEliminatable. Not relevant for setters. */
30054 : false, /* isAlwaysInSlot. Only relevant for getters. */
30055 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30056 : false, /* isTypedMethod. Only relevant for methods. */
30057 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30058 : };
30059 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30060 : static_assert(0 < 1, "There is no slot for us");
30061 : static const JSJitInfo offset_inline_start_setterinfo = {
30062 : { (JSJitGetterOp)set_offset_inline_start },
30063 : { prototypes::id::CSS2Properties },
30064 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30065 : JSJitInfo::Setter,
30066 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30067 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
30068 : false, /* isInfallible. False in setters. */
30069 : false, /* isMovable. Not relevant for setters. */
30070 : false, /* isEliminatable. Not relevant for setters. */
30071 : false, /* isAlwaysInSlot. Only relevant for getters. */
30072 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30073 : false, /* isTypedMethod. Only relevant for methods. */
30074 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30075 : };
30076 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30077 : static_assert(0 < 1, "There is no slot for us");
30078 :
30079 : static bool
30080 0 : get_opacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
30081 : {
30082 0 : binding_detail::FastErrorResult rv;
30083 0 : DOMString result;
30084 0 : self->GetOpacity(result, rv);
30085 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30086 0 : return false;
30087 : }
30088 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30089 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
30090 0 : return false;
30091 : }
30092 0 : return true;
30093 : }
30094 :
30095 : static bool
30096 0 : set_opacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
30097 : {
30098 0 : binding_detail::FakeString arg0;
30099 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
30100 0 : return false;
30101 : }
30102 0 : binding_detail::FastErrorResult rv;
30103 0 : self->SetOpacity(NonNullHelper(Constify(arg0)), rv);
30104 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30105 0 : return false;
30106 : }
30107 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30108 :
30109 0 : return true;
30110 : }
30111 :
30112 : static const JSJitInfo opacity_getterinfo = {
30113 : { (JSJitGetterOp)get_opacity },
30114 : { prototypes::id::CSS2Properties },
30115 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30116 : JSJitInfo::Getter,
30117 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30118 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
30119 : false, /* isInfallible. False in setters. */
30120 : false, /* isMovable. Not relevant for setters. */
30121 : false, /* isEliminatable. Not relevant for setters. */
30122 : false, /* isAlwaysInSlot. Only relevant for getters. */
30123 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30124 : false, /* isTypedMethod. Only relevant for methods. */
30125 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30126 : };
30127 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30128 : static_assert(0 < 1, "There is no slot for us");
30129 : static const JSJitInfo opacity_setterinfo = {
30130 : { (JSJitGetterOp)set_opacity },
30131 : { prototypes::id::CSS2Properties },
30132 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30133 : JSJitInfo::Setter,
30134 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30135 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
30136 : false, /* isInfallible. False in setters. */
30137 : false, /* isMovable. Not relevant for setters. */
30138 : false, /* isEliminatable. Not relevant for setters. */
30139 : false, /* isAlwaysInSlot. Only relevant for getters. */
30140 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30141 : false, /* isTypedMethod. Only relevant for methods. */
30142 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30143 : };
30144 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30145 : static_assert(0 < 1, "There is no slot for us");
30146 :
30147 : static bool
30148 0 : get_order(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
30149 : {
30150 0 : binding_detail::FastErrorResult rv;
30151 0 : DOMString result;
30152 0 : self->GetOrder(result, rv);
30153 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30154 0 : return false;
30155 : }
30156 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30157 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
30158 0 : return false;
30159 : }
30160 0 : return true;
30161 : }
30162 :
30163 : static bool
30164 0 : set_order(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
30165 : {
30166 0 : binding_detail::FakeString arg0;
30167 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
30168 0 : return false;
30169 : }
30170 0 : binding_detail::FastErrorResult rv;
30171 0 : self->SetOrder(NonNullHelper(Constify(arg0)), rv);
30172 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30173 0 : return false;
30174 : }
30175 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30176 :
30177 0 : return true;
30178 : }
30179 :
30180 : static const JSJitInfo order_getterinfo = {
30181 : { (JSJitGetterOp)get_order },
30182 : { prototypes::id::CSS2Properties },
30183 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30184 : JSJitInfo::Getter,
30185 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30186 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
30187 : false, /* isInfallible. False in setters. */
30188 : false, /* isMovable. Not relevant for setters. */
30189 : false, /* isEliminatable. Not relevant for setters. */
30190 : false, /* isAlwaysInSlot. Only relevant for getters. */
30191 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30192 : false, /* isTypedMethod. Only relevant for methods. */
30193 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30194 : };
30195 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30196 : static_assert(0 < 1, "There is no slot for us");
30197 : static const JSJitInfo order_setterinfo = {
30198 : { (JSJitGetterOp)set_order },
30199 : { prototypes::id::CSS2Properties },
30200 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30201 : JSJitInfo::Setter,
30202 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30203 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
30204 : false, /* isInfallible. False in setters. */
30205 : false, /* isMovable. Not relevant for setters. */
30206 : false, /* isEliminatable. Not relevant for setters. */
30207 : false, /* isAlwaysInSlot. Only relevant for getters. */
30208 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30209 : false, /* isTypedMethod. Only relevant for methods. */
30210 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30211 : };
30212 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30213 : static_assert(0 < 1, "There is no slot for us");
30214 :
30215 : static bool
30216 0 : get_MozOrient(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
30217 : {
30218 0 : binding_detail::FastErrorResult rv;
30219 0 : DOMString result;
30220 0 : self->GetMozOrient(result, rv);
30221 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30222 0 : return false;
30223 : }
30224 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30225 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
30226 0 : return false;
30227 : }
30228 0 : return true;
30229 : }
30230 :
30231 : static bool
30232 0 : set_MozOrient(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
30233 : {
30234 0 : binding_detail::FakeString arg0;
30235 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
30236 0 : return false;
30237 : }
30238 0 : binding_detail::FastErrorResult rv;
30239 0 : self->SetMozOrient(NonNullHelper(Constify(arg0)), rv);
30240 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30241 0 : return false;
30242 : }
30243 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30244 :
30245 0 : return true;
30246 : }
30247 :
30248 : static const JSJitInfo MozOrient_getterinfo = {
30249 : { (JSJitGetterOp)get_MozOrient },
30250 : { prototypes::id::CSS2Properties },
30251 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30252 : JSJitInfo::Getter,
30253 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30254 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
30255 : false, /* isInfallible. False in setters. */
30256 : false, /* isMovable. Not relevant for setters. */
30257 : false, /* isEliminatable. Not relevant for setters. */
30258 : false, /* isAlwaysInSlot. Only relevant for getters. */
30259 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30260 : false, /* isTypedMethod. Only relevant for methods. */
30261 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30262 : };
30263 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30264 : static_assert(0 < 1, "There is no slot for us");
30265 : static const JSJitInfo MozOrient_setterinfo = {
30266 : { (JSJitGetterOp)set_MozOrient },
30267 : { prototypes::id::CSS2Properties },
30268 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30269 : JSJitInfo::Setter,
30270 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30271 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
30272 : false, /* isInfallible. False in setters. */
30273 : false, /* isMovable. Not relevant for setters. */
30274 : false, /* isEliminatable. Not relevant for setters. */
30275 : false, /* isAlwaysInSlot. Only relevant for getters. */
30276 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30277 : false, /* isTypedMethod. Only relevant for methods. */
30278 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30279 : };
30280 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30281 : static_assert(0 < 1, "There is no slot for us");
30282 :
30283 : static bool
30284 0 : get__moz_orient(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
30285 : {
30286 0 : binding_detail::FastErrorResult rv;
30287 0 : DOMString result;
30288 0 : self->GetMozOrient(result, rv);
30289 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30290 0 : return false;
30291 : }
30292 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30293 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
30294 0 : return false;
30295 : }
30296 0 : return true;
30297 : }
30298 :
30299 : static bool
30300 0 : set__moz_orient(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
30301 : {
30302 0 : binding_detail::FakeString arg0;
30303 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
30304 0 : return false;
30305 : }
30306 0 : binding_detail::FastErrorResult rv;
30307 0 : self->SetMozOrient(NonNullHelper(Constify(arg0)), rv);
30308 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30309 0 : return false;
30310 : }
30311 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30312 :
30313 0 : return true;
30314 : }
30315 :
30316 : static const JSJitInfo _moz_orient_getterinfo = {
30317 : { (JSJitGetterOp)get__moz_orient },
30318 : { prototypes::id::CSS2Properties },
30319 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30320 : JSJitInfo::Getter,
30321 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30322 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
30323 : false, /* isInfallible. False in setters. */
30324 : false, /* isMovable. Not relevant for setters. */
30325 : false, /* isEliminatable. Not relevant for setters. */
30326 : false, /* isAlwaysInSlot. Only relevant for getters. */
30327 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30328 : false, /* isTypedMethod. Only relevant for methods. */
30329 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30330 : };
30331 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30332 : static_assert(0 < 1, "There is no slot for us");
30333 : static const JSJitInfo _moz_orient_setterinfo = {
30334 : { (JSJitGetterOp)set__moz_orient },
30335 : { prototypes::id::CSS2Properties },
30336 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30337 : JSJitInfo::Setter,
30338 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30339 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
30340 : false, /* isInfallible. False in setters. */
30341 : false, /* isMovable. Not relevant for setters. */
30342 : false, /* isEliminatable. Not relevant for setters. */
30343 : false, /* isAlwaysInSlot. Only relevant for getters. */
30344 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30345 : false, /* isTypedMethod. Only relevant for methods. */
30346 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30347 : };
30348 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30349 : static_assert(0 < 1, "There is no slot for us");
30350 :
30351 : static bool
30352 0 : get_MozOsxFontSmoothing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
30353 : {
30354 0 : binding_detail::FastErrorResult rv;
30355 0 : DOMString result;
30356 0 : self->GetMozOsxFontSmoothing(result, rv);
30357 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30358 0 : return false;
30359 : }
30360 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30361 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
30362 0 : return false;
30363 : }
30364 0 : return true;
30365 : }
30366 :
30367 : static bool
30368 0 : set_MozOsxFontSmoothing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
30369 : {
30370 0 : binding_detail::FakeString arg0;
30371 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
30372 0 : return false;
30373 : }
30374 0 : binding_detail::FastErrorResult rv;
30375 0 : self->SetMozOsxFontSmoothing(NonNullHelper(Constify(arg0)), rv);
30376 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30377 0 : return false;
30378 : }
30379 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30380 :
30381 0 : return true;
30382 : }
30383 :
30384 : static const JSJitInfo MozOsxFontSmoothing_getterinfo = {
30385 : { (JSJitGetterOp)get_MozOsxFontSmoothing },
30386 : { prototypes::id::CSS2Properties },
30387 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30388 : JSJitInfo::Getter,
30389 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30390 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
30391 : false, /* isInfallible. False in setters. */
30392 : false, /* isMovable. Not relevant for setters. */
30393 : false, /* isEliminatable. Not relevant for setters. */
30394 : false, /* isAlwaysInSlot. Only relevant for getters. */
30395 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30396 : false, /* isTypedMethod. Only relevant for methods. */
30397 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30398 : };
30399 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30400 : static_assert(0 < 1, "There is no slot for us");
30401 : static const JSJitInfo MozOsxFontSmoothing_setterinfo = {
30402 : { (JSJitGetterOp)set_MozOsxFontSmoothing },
30403 : { prototypes::id::CSS2Properties },
30404 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30405 : JSJitInfo::Setter,
30406 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30407 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
30408 : false, /* isInfallible. False in setters. */
30409 : false, /* isMovable. Not relevant for setters. */
30410 : false, /* isEliminatable. Not relevant for setters. */
30411 : false, /* isAlwaysInSlot. Only relevant for getters. */
30412 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30413 : false, /* isTypedMethod. Only relevant for methods. */
30414 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30415 : };
30416 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30417 : static_assert(0 < 1, "There is no slot for us");
30418 :
30419 : static bool
30420 0 : get__moz_osx_font_smoothing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
30421 : {
30422 0 : binding_detail::FastErrorResult rv;
30423 0 : DOMString result;
30424 0 : self->GetMozOsxFontSmoothing(result, rv);
30425 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30426 0 : return false;
30427 : }
30428 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30429 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
30430 0 : return false;
30431 : }
30432 0 : return true;
30433 : }
30434 :
30435 : static bool
30436 0 : set__moz_osx_font_smoothing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
30437 : {
30438 0 : binding_detail::FakeString arg0;
30439 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
30440 0 : return false;
30441 : }
30442 0 : binding_detail::FastErrorResult rv;
30443 0 : self->SetMozOsxFontSmoothing(NonNullHelper(Constify(arg0)), rv);
30444 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30445 0 : return false;
30446 : }
30447 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30448 :
30449 0 : return true;
30450 : }
30451 :
30452 : static const JSJitInfo _moz_osx_font_smoothing_getterinfo = {
30453 : { (JSJitGetterOp)get__moz_osx_font_smoothing },
30454 : { prototypes::id::CSS2Properties },
30455 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30456 : JSJitInfo::Getter,
30457 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30458 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
30459 : false, /* isInfallible. False in setters. */
30460 : false, /* isMovable. Not relevant for setters. */
30461 : false, /* isEliminatable. Not relevant for setters. */
30462 : false, /* isAlwaysInSlot. Only relevant for getters. */
30463 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30464 : false, /* isTypedMethod. Only relevant for methods. */
30465 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30466 : };
30467 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30468 : static_assert(0 < 1, "There is no slot for us");
30469 : static const JSJitInfo _moz_osx_font_smoothing_setterinfo = {
30470 : { (JSJitGetterOp)set__moz_osx_font_smoothing },
30471 : { prototypes::id::CSS2Properties },
30472 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30473 : JSJitInfo::Setter,
30474 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30475 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
30476 : false, /* isInfallible. False in setters. */
30477 : false, /* isMovable. Not relevant for setters. */
30478 : false, /* isEliminatable. Not relevant for setters. */
30479 : false, /* isAlwaysInSlot. Only relevant for getters. */
30480 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30481 : false, /* isTypedMethod. Only relevant for methods. */
30482 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30483 : };
30484 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30485 : static_assert(0 < 1, "There is no slot for us");
30486 :
30487 : static bool
30488 0 : get_outline(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
30489 : {
30490 0 : binding_detail::FastErrorResult rv;
30491 0 : DOMString result;
30492 0 : self->GetOutline(result, rv);
30493 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30494 0 : return false;
30495 : }
30496 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30497 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
30498 0 : return false;
30499 : }
30500 0 : return true;
30501 : }
30502 :
30503 : static bool
30504 0 : set_outline(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
30505 : {
30506 0 : binding_detail::FakeString arg0;
30507 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
30508 0 : return false;
30509 : }
30510 0 : binding_detail::FastErrorResult rv;
30511 0 : self->SetOutline(NonNullHelper(Constify(arg0)), rv);
30512 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30513 0 : return false;
30514 : }
30515 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30516 :
30517 0 : return true;
30518 : }
30519 :
30520 : static const JSJitInfo outline_getterinfo = {
30521 : { (JSJitGetterOp)get_outline },
30522 : { prototypes::id::CSS2Properties },
30523 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30524 : JSJitInfo::Getter,
30525 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30526 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
30527 : false, /* isInfallible. False in setters. */
30528 : false, /* isMovable. Not relevant for setters. */
30529 : false, /* isEliminatable. Not relevant for setters. */
30530 : false, /* isAlwaysInSlot. Only relevant for getters. */
30531 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30532 : false, /* isTypedMethod. Only relevant for methods. */
30533 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30534 : };
30535 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30536 : static_assert(0 < 1, "There is no slot for us");
30537 : static const JSJitInfo outline_setterinfo = {
30538 : { (JSJitGetterOp)set_outline },
30539 : { prototypes::id::CSS2Properties },
30540 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30541 : JSJitInfo::Setter,
30542 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30543 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
30544 : false, /* isInfallible. False in setters. */
30545 : false, /* isMovable. Not relevant for setters. */
30546 : false, /* isEliminatable. Not relevant for setters. */
30547 : false, /* isAlwaysInSlot. Only relevant for getters. */
30548 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30549 : false, /* isTypedMethod. Only relevant for methods. */
30550 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30551 : };
30552 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30553 : static_assert(0 < 1, "There is no slot for us");
30554 :
30555 : static bool
30556 0 : get_outlineColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
30557 : {
30558 0 : binding_detail::FastErrorResult rv;
30559 0 : DOMString result;
30560 0 : self->GetOutlineColor(result, rv);
30561 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30562 0 : return false;
30563 : }
30564 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30565 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
30566 0 : return false;
30567 : }
30568 0 : return true;
30569 : }
30570 :
30571 : static bool
30572 0 : set_outlineColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
30573 : {
30574 0 : binding_detail::FakeString arg0;
30575 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
30576 0 : return false;
30577 : }
30578 0 : binding_detail::FastErrorResult rv;
30579 0 : self->SetOutlineColor(NonNullHelper(Constify(arg0)), rv);
30580 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30581 0 : return false;
30582 : }
30583 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30584 :
30585 0 : return true;
30586 : }
30587 :
30588 : static const JSJitInfo outlineColor_getterinfo = {
30589 : { (JSJitGetterOp)get_outlineColor },
30590 : { prototypes::id::CSS2Properties },
30591 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30592 : JSJitInfo::Getter,
30593 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30594 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
30595 : false, /* isInfallible. False in setters. */
30596 : false, /* isMovable. Not relevant for setters. */
30597 : false, /* isEliminatable. Not relevant for setters. */
30598 : false, /* isAlwaysInSlot. Only relevant for getters. */
30599 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30600 : false, /* isTypedMethod. Only relevant for methods. */
30601 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30602 : };
30603 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30604 : static_assert(0 < 1, "There is no slot for us");
30605 : static const JSJitInfo outlineColor_setterinfo = {
30606 : { (JSJitGetterOp)set_outlineColor },
30607 : { prototypes::id::CSS2Properties },
30608 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30609 : JSJitInfo::Setter,
30610 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30611 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
30612 : false, /* isInfallible. False in setters. */
30613 : false, /* isMovable. Not relevant for setters. */
30614 : false, /* isEliminatable. Not relevant for setters. */
30615 : false, /* isAlwaysInSlot. Only relevant for getters. */
30616 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30617 : false, /* isTypedMethod. Only relevant for methods. */
30618 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30619 : };
30620 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30621 : static_assert(0 < 1, "There is no slot for us");
30622 :
30623 : static bool
30624 0 : get_outline_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
30625 : {
30626 0 : binding_detail::FastErrorResult rv;
30627 0 : DOMString result;
30628 0 : self->GetOutlineColor(result, rv);
30629 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30630 0 : return false;
30631 : }
30632 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30633 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
30634 0 : return false;
30635 : }
30636 0 : return true;
30637 : }
30638 :
30639 : static bool
30640 0 : set_outline_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
30641 : {
30642 0 : binding_detail::FakeString arg0;
30643 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
30644 0 : return false;
30645 : }
30646 0 : binding_detail::FastErrorResult rv;
30647 0 : self->SetOutlineColor(NonNullHelper(Constify(arg0)), rv);
30648 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30649 0 : return false;
30650 : }
30651 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30652 :
30653 0 : return true;
30654 : }
30655 :
30656 : static const JSJitInfo outline_color_getterinfo = {
30657 : { (JSJitGetterOp)get_outline_color },
30658 : { prototypes::id::CSS2Properties },
30659 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30660 : JSJitInfo::Getter,
30661 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30662 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
30663 : false, /* isInfallible. False in setters. */
30664 : false, /* isMovable. Not relevant for setters. */
30665 : false, /* isEliminatable. Not relevant for setters. */
30666 : false, /* isAlwaysInSlot. Only relevant for getters. */
30667 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30668 : false, /* isTypedMethod. Only relevant for methods. */
30669 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30670 : };
30671 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30672 : static_assert(0 < 1, "There is no slot for us");
30673 : static const JSJitInfo outline_color_setterinfo = {
30674 : { (JSJitGetterOp)set_outline_color },
30675 : { prototypes::id::CSS2Properties },
30676 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30677 : JSJitInfo::Setter,
30678 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30679 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
30680 : false, /* isInfallible. False in setters. */
30681 : false, /* isMovable. Not relevant for setters. */
30682 : false, /* isEliminatable. Not relevant for setters. */
30683 : false, /* isAlwaysInSlot. Only relevant for getters. */
30684 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30685 : false, /* isTypedMethod. Only relevant for methods. */
30686 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30687 : };
30688 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30689 : static_assert(0 < 1, "There is no slot for us");
30690 :
30691 : static bool
30692 0 : get_outlineOffset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
30693 : {
30694 0 : binding_detail::FastErrorResult rv;
30695 0 : DOMString result;
30696 0 : self->GetOutlineOffset(result, rv);
30697 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30698 0 : return false;
30699 : }
30700 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30701 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
30702 0 : return false;
30703 : }
30704 0 : return true;
30705 : }
30706 :
30707 : static bool
30708 0 : set_outlineOffset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
30709 : {
30710 0 : binding_detail::FakeString arg0;
30711 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
30712 0 : return false;
30713 : }
30714 0 : binding_detail::FastErrorResult rv;
30715 0 : self->SetOutlineOffset(NonNullHelper(Constify(arg0)), rv);
30716 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30717 0 : return false;
30718 : }
30719 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30720 :
30721 0 : return true;
30722 : }
30723 :
30724 : static const JSJitInfo outlineOffset_getterinfo = {
30725 : { (JSJitGetterOp)get_outlineOffset },
30726 : { prototypes::id::CSS2Properties },
30727 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30728 : JSJitInfo::Getter,
30729 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30730 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
30731 : false, /* isInfallible. False in setters. */
30732 : false, /* isMovable. Not relevant for setters. */
30733 : false, /* isEliminatable. Not relevant for setters. */
30734 : false, /* isAlwaysInSlot. Only relevant for getters. */
30735 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30736 : false, /* isTypedMethod. Only relevant for methods. */
30737 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30738 : };
30739 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30740 : static_assert(0 < 1, "There is no slot for us");
30741 : static const JSJitInfo outlineOffset_setterinfo = {
30742 : { (JSJitGetterOp)set_outlineOffset },
30743 : { prototypes::id::CSS2Properties },
30744 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30745 : JSJitInfo::Setter,
30746 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30747 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
30748 : false, /* isInfallible. False in setters. */
30749 : false, /* isMovable. Not relevant for setters. */
30750 : false, /* isEliminatable. Not relevant for setters. */
30751 : false, /* isAlwaysInSlot. Only relevant for getters. */
30752 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30753 : false, /* isTypedMethod. Only relevant for methods. */
30754 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30755 : };
30756 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30757 : static_assert(0 < 1, "There is no slot for us");
30758 :
30759 : static bool
30760 0 : get_outline_offset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
30761 : {
30762 0 : binding_detail::FastErrorResult rv;
30763 0 : DOMString result;
30764 0 : self->GetOutlineOffset(result, rv);
30765 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30766 0 : return false;
30767 : }
30768 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30769 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
30770 0 : return false;
30771 : }
30772 0 : return true;
30773 : }
30774 :
30775 : static bool
30776 0 : set_outline_offset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
30777 : {
30778 0 : binding_detail::FakeString arg0;
30779 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
30780 0 : return false;
30781 : }
30782 0 : binding_detail::FastErrorResult rv;
30783 0 : self->SetOutlineOffset(NonNullHelper(Constify(arg0)), rv);
30784 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30785 0 : return false;
30786 : }
30787 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30788 :
30789 0 : return true;
30790 : }
30791 :
30792 : static const JSJitInfo outline_offset_getterinfo = {
30793 : { (JSJitGetterOp)get_outline_offset },
30794 : { prototypes::id::CSS2Properties },
30795 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30796 : JSJitInfo::Getter,
30797 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30798 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
30799 : false, /* isInfallible. False in setters. */
30800 : false, /* isMovable. Not relevant for setters. */
30801 : false, /* isEliminatable. Not relevant for setters. */
30802 : false, /* isAlwaysInSlot. Only relevant for getters. */
30803 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30804 : false, /* isTypedMethod. Only relevant for methods. */
30805 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30806 : };
30807 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30808 : static_assert(0 < 1, "There is no slot for us");
30809 : static const JSJitInfo outline_offset_setterinfo = {
30810 : { (JSJitGetterOp)set_outline_offset },
30811 : { prototypes::id::CSS2Properties },
30812 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30813 : JSJitInfo::Setter,
30814 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30815 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
30816 : false, /* isInfallible. False in setters. */
30817 : false, /* isMovable. Not relevant for setters. */
30818 : false, /* isEliminatable. Not relevant for setters. */
30819 : false, /* isAlwaysInSlot. Only relevant for getters. */
30820 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30821 : false, /* isTypedMethod. Only relevant for methods. */
30822 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30823 : };
30824 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30825 : static_assert(0 < 1, "There is no slot for us");
30826 :
30827 : static bool
30828 0 : get_MozOutlineRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
30829 : {
30830 0 : binding_detail::FastErrorResult rv;
30831 0 : DOMString result;
30832 0 : self->GetMozOutlineRadius(result, rv);
30833 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30834 0 : return false;
30835 : }
30836 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30837 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
30838 0 : return false;
30839 : }
30840 0 : return true;
30841 : }
30842 :
30843 : static bool
30844 0 : set_MozOutlineRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
30845 : {
30846 0 : binding_detail::FakeString arg0;
30847 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
30848 0 : return false;
30849 : }
30850 0 : binding_detail::FastErrorResult rv;
30851 0 : self->SetMozOutlineRadius(NonNullHelper(Constify(arg0)), rv);
30852 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30853 0 : return false;
30854 : }
30855 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30856 :
30857 0 : return true;
30858 : }
30859 :
30860 : static const JSJitInfo MozOutlineRadius_getterinfo = {
30861 : { (JSJitGetterOp)get_MozOutlineRadius },
30862 : { prototypes::id::CSS2Properties },
30863 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30864 : JSJitInfo::Getter,
30865 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30866 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
30867 : false, /* isInfallible. False in setters. */
30868 : false, /* isMovable. Not relevant for setters. */
30869 : false, /* isEliminatable. Not relevant for setters. */
30870 : false, /* isAlwaysInSlot. Only relevant for getters. */
30871 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30872 : false, /* isTypedMethod. Only relevant for methods. */
30873 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30874 : };
30875 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30876 : static_assert(0 < 1, "There is no slot for us");
30877 : static const JSJitInfo MozOutlineRadius_setterinfo = {
30878 : { (JSJitGetterOp)set_MozOutlineRadius },
30879 : { prototypes::id::CSS2Properties },
30880 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30881 : JSJitInfo::Setter,
30882 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30883 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
30884 : false, /* isInfallible. False in setters. */
30885 : false, /* isMovable. Not relevant for setters. */
30886 : false, /* isEliminatable. Not relevant for setters. */
30887 : false, /* isAlwaysInSlot. Only relevant for getters. */
30888 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30889 : false, /* isTypedMethod. Only relevant for methods. */
30890 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30891 : };
30892 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30893 : static_assert(0 < 1, "There is no slot for us");
30894 :
30895 : static bool
30896 0 : get__moz_outline_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
30897 : {
30898 0 : binding_detail::FastErrorResult rv;
30899 0 : DOMString result;
30900 0 : self->GetMozOutlineRadius(result, rv);
30901 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30902 0 : return false;
30903 : }
30904 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30905 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
30906 0 : return false;
30907 : }
30908 0 : return true;
30909 : }
30910 :
30911 : static bool
30912 0 : set__moz_outline_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
30913 : {
30914 0 : binding_detail::FakeString arg0;
30915 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
30916 0 : return false;
30917 : }
30918 0 : binding_detail::FastErrorResult rv;
30919 0 : self->SetMozOutlineRadius(NonNullHelper(Constify(arg0)), rv);
30920 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30921 0 : return false;
30922 : }
30923 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30924 :
30925 0 : return true;
30926 : }
30927 :
30928 : static const JSJitInfo _moz_outline_radius_getterinfo = {
30929 : { (JSJitGetterOp)get__moz_outline_radius },
30930 : { prototypes::id::CSS2Properties },
30931 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30932 : JSJitInfo::Getter,
30933 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30934 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
30935 : false, /* isInfallible. False in setters. */
30936 : false, /* isMovable. Not relevant for setters. */
30937 : false, /* isEliminatable. Not relevant for setters. */
30938 : false, /* isAlwaysInSlot. Only relevant for getters. */
30939 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30940 : false, /* isTypedMethod. Only relevant for methods. */
30941 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30942 : };
30943 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30944 : static_assert(0 < 1, "There is no slot for us");
30945 : static const JSJitInfo _moz_outline_radius_setterinfo = {
30946 : { (JSJitGetterOp)set__moz_outline_radius },
30947 : { prototypes::id::CSS2Properties },
30948 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
30949 : JSJitInfo::Setter,
30950 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
30951 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
30952 : false, /* isInfallible. False in setters. */
30953 : false, /* isMovable. Not relevant for setters. */
30954 : false, /* isEliminatable. Not relevant for setters. */
30955 : false, /* isAlwaysInSlot. Only relevant for getters. */
30956 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
30957 : false, /* isTypedMethod. Only relevant for methods. */
30958 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
30959 : };
30960 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
30961 : static_assert(0 < 1, "There is no slot for us");
30962 :
30963 : static bool
30964 0 : get_MozOutlineRadiusBottomleft(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
30965 : {
30966 0 : binding_detail::FastErrorResult rv;
30967 0 : DOMString result;
30968 0 : self->GetMozOutlineRadiusBottomleft(result, rv);
30969 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30970 0 : return false;
30971 : }
30972 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30973 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
30974 0 : return false;
30975 : }
30976 0 : return true;
30977 : }
30978 :
30979 : static bool
30980 0 : set_MozOutlineRadiusBottomleft(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
30981 : {
30982 0 : binding_detail::FakeString arg0;
30983 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
30984 0 : return false;
30985 : }
30986 0 : binding_detail::FastErrorResult rv;
30987 0 : self->SetMozOutlineRadiusBottomleft(NonNullHelper(Constify(arg0)), rv);
30988 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
30989 0 : return false;
30990 : }
30991 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
30992 :
30993 0 : return true;
30994 : }
30995 :
30996 : static const JSJitInfo MozOutlineRadiusBottomleft_getterinfo = {
30997 : { (JSJitGetterOp)get_MozOutlineRadiusBottomleft },
30998 : { prototypes::id::CSS2Properties },
30999 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31000 : JSJitInfo::Getter,
31001 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31002 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
31003 : false, /* isInfallible. False in setters. */
31004 : false, /* isMovable. Not relevant for setters. */
31005 : false, /* isEliminatable. Not relevant for setters. */
31006 : false, /* isAlwaysInSlot. Only relevant for getters. */
31007 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31008 : false, /* isTypedMethod. Only relevant for methods. */
31009 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31010 : };
31011 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31012 : static_assert(0 < 1, "There is no slot for us");
31013 : static const JSJitInfo MozOutlineRadiusBottomleft_setterinfo = {
31014 : { (JSJitGetterOp)set_MozOutlineRadiusBottomleft },
31015 : { prototypes::id::CSS2Properties },
31016 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31017 : JSJitInfo::Setter,
31018 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31019 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
31020 : false, /* isInfallible. False in setters. */
31021 : false, /* isMovable. Not relevant for setters. */
31022 : false, /* isEliminatable. Not relevant for setters. */
31023 : false, /* isAlwaysInSlot. Only relevant for getters. */
31024 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31025 : false, /* isTypedMethod. Only relevant for methods. */
31026 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31027 : };
31028 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31029 : static_assert(0 < 1, "There is no slot for us");
31030 :
31031 : static bool
31032 0 : get__moz_outline_radius_bottomleft(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
31033 : {
31034 0 : binding_detail::FastErrorResult rv;
31035 0 : DOMString result;
31036 0 : self->GetMozOutlineRadiusBottomleft(result, rv);
31037 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31038 0 : return false;
31039 : }
31040 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31041 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
31042 0 : return false;
31043 : }
31044 0 : return true;
31045 : }
31046 :
31047 : static bool
31048 0 : set__moz_outline_radius_bottomleft(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
31049 : {
31050 0 : binding_detail::FakeString arg0;
31051 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
31052 0 : return false;
31053 : }
31054 0 : binding_detail::FastErrorResult rv;
31055 0 : self->SetMozOutlineRadiusBottomleft(NonNullHelper(Constify(arg0)), rv);
31056 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31057 0 : return false;
31058 : }
31059 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31060 :
31061 0 : return true;
31062 : }
31063 :
31064 : static const JSJitInfo _moz_outline_radius_bottomleft_getterinfo = {
31065 : { (JSJitGetterOp)get__moz_outline_radius_bottomleft },
31066 : { prototypes::id::CSS2Properties },
31067 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31068 : JSJitInfo::Getter,
31069 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31070 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
31071 : false, /* isInfallible. False in setters. */
31072 : false, /* isMovable. Not relevant for setters. */
31073 : false, /* isEliminatable. Not relevant for setters. */
31074 : false, /* isAlwaysInSlot. Only relevant for getters. */
31075 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31076 : false, /* isTypedMethod. Only relevant for methods. */
31077 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31078 : };
31079 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31080 : static_assert(0 < 1, "There is no slot for us");
31081 : static const JSJitInfo _moz_outline_radius_bottomleft_setterinfo = {
31082 : { (JSJitGetterOp)set__moz_outline_radius_bottomleft },
31083 : { prototypes::id::CSS2Properties },
31084 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31085 : JSJitInfo::Setter,
31086 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31087 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
31088 : false, /* isInfallible. False in setters. */
31089 : false, /* isMovable. Not relevant for setters. */
31090 : false, /* isEliminatable. Not relevant for setters. */
31091 : false, /* isAlwaysInSlot. Only relevant for getters. */
31092 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31093 : false, /* isTypedMethod. Only relevant for methods. */
31094 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31095 : };
31096 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31097 : static_assert(0 < 1, "There is no slot for us");
31098 :
31099 : static bool
31100 0 : get_MozOutlineRadiusBottomright(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
31101 : {
31102 0 : binding_detail::FastErrorResult rv;
31103 0 : DOMString result;
31104 0 : self->GetMozOutlineRadiusBottomright(result, rv);
31105 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31106 0 : return false;
31107 : }
31108 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31109 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
31110 0 : return false;
31111 : }
31112 0 : return true;
31113 : }
31114 :
31115 : static bool
31116 0 : set_MozOutlineRadiusBottomright(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
31117 : {
31118 0 : binding_detail::FakeString arg0;
31119 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
31120 0 : return false;
31121 : }
31122 0 : binding_detail::FastErrorResult rv;
31123 0 : self->SetMozOutlineRadiusBottomright(NonNullHelper(Constify(arg0)), rv);
31124 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31125 0 : return false;
31126 : }
31127 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31128 :
31129 0 : return true;
31130 : }
31131 :
31132 : static const JSJitInfo MozOutlineRadiusBottomright_getterinfo = {
31133 : { (JSJitGetterOp)get_MozOutlineRadiusBottomright },
31134 : { prototypes::id::CSS2Properties },
31135 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31136 : JSJitInfo::Getter,
31137 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31138 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
31139 : false, /* isInfallible. False in setters. */
31140 : false, /* isMovable. Not relevant for setters. */
31141 : false, /* isEliminatable. Not relevant for setters. */
31142 : false, /* isAlwaysInSlot. Only relevant for getters. */
31143 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31144 : false, /* isTypedMethod. Only relevant for methods. */
31145 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31146 : };
31147 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31148 : static_assert(0 < 1, "There is no slot for us");
31149 : static const JSJitInfo MozOutlineRadiusBottomright_setterinfo = {
31150 : { (JSJitGetterOp)set_MozOutlineRadiusBottomright },
31151 : { prototypes::id::CSS2Properties },
31152 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31153 : JSJitInfo::Setter,
31154 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31155 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
31156 : false, /* isInfallible. False in setters. */
31157 : false, /* isMovable. Not relevant for setters. */
31158 : false, /* isEliminatable. Not relevant for setters. */
31159 : false, /* isAlwaysInSlot. Only relevant for getters. */
31160 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31161 : false, /* isTypedMethod. Only relevant for methods. */
31162 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31163 : };
31164 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31165 : static_assert(0 < 1, "There is no slot for us");
31166 :
31167 : static bool
31168 0 : get__moz_outline_radius_bottomright(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
31169 : {
31170 0 : binding_detail::FastErrorResult rv;
31171 0 : DOMString result;
31172 0 : self->GetMozOutlineRadiusBottomright(result, rv);
31173 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31174 0 : return false;
31175 : }
31176 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31177 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
31178 0 : return false;
31179 : }
31180 0 : return true;
31181 : }
31182 :
31183 : static bool
31184 0 : set__moz_outline_radius_bottomright(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
31185 : {
31186 0 : binding_detail::FakeString arg0;
31187 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
31188 0 : return false;
31189 : }
31190 0 : binding_detail::FastErrorResult rv;
31191 0 : self->SetMozOutlineRadiusBottomright(NonNullHelper(Constify(arg0)), rv);
31192 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31193 0 : return false;
31194 : }
31195 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31196 :
31197 0 : return true;
31198 : }
31199 :
31200 : static const JSJitInfo _moz_outline_radius_bottomright_getterinfo = {
31201 : { (JSJitGetterOp)get__moz_outline_radius_bottomright },
31202 : { prototypes::id::CSS2Properties },
31203 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31204 : JSJitInfo::Getter,
31205 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31206 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
31207 : false, /* isInfallible. False in setters. */
31208 : false, /* isMovable. Not relevant for setters. */
31209 : false, /* isEliminatable. Not relevant for setters. */
31210 : false, /* isAlwaysInSlot. Only relevant for getters. */
31211 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31212 : false, /* isTypedMethod. Only relevant for methods. */
31213 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31214 : };
31215 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31216 : static_assert(0 < 1, "There is no slot for us");
31217 : static const JSJitInfo _moz_outline_radius_bottomright_setterinfo = {
31218 : { (JSJitGetterOp)set__moz_outline_radius_bottomright },
31219 : { prototypes::id::CSS2Properties },
31220 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31221 : JSJitInfo::Setter,
31222 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31223 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
31224 : false, /* isInfallible. False in setters. */
31225 : false, /* isMovable. Not relevant for setters. */
31226 : false, /* isEliminatable. Not relevant for setters. */
31227 : false, /* isAlwaysInSlot. Only relevant for getters. */
31228 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31229 : false, /* isTypedMethod. Only relevant for methods. */
31230 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31231 : };
31232 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31233 : static_assert(0 < 1, "There is no slot for us");
31234 :
31235 : static bool
31236 0 : get_MozOutlineRadiusTopleft(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
31237 : {
31238 0 : binding_detail::FastErrorResult rv;
31239 0 : DOMString result;
31240 0 : self->GetMozOutlineRadiusTopleft(result, rv);
31241 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31242 0 : return false;
31243 : }
31244 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31245 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
31246 0 : return false;
31247 : }
31248 0 : return true;
31249 : }
31250 :
31251 : static bool
31252 0 : set_MozOutlineRadiusTopleft(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
31253 : {
31254 0 : binding_detail::FakeString arg0;
31255 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
31256 0 : return false;
31257 : }
31258 0 : binding_detail::FastErrorResult rv;
31259 0 : self->SetMozOutlineRadiusTopleft(NonNullHelper(Constify(arg0)), rv);
31260 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31261 0 : return false;
31262 : }
31263 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31264 :
31265 0 : return true;
31266 : }
31267 :
31268 : static const JSJitInfo MozOutlineRadiusTopleft_getterinfo = {
31269 : { (JSJitGetterOp)get_MozOutlineRadiusTopleft },
31270 : { prototypes::id::CSS2Properties },
31271 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31272 : JSJitInfo::Getter,
31273 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31274 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
31275 : false, /* isInfallible. False in setters. */
31276 : false, /* isMovable. Not relevant for setters. */
31277 : false, /* isEliminatable. Not relevant for setters. */
31278 : false, /* isAlwaysInSlot. Only relevant for getters. */
31279 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31280 : false, /* isTypedMethod. Only relevant for methods. */
31281 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31282 : };
31283 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31284 : static_assert(0 < 1, "There is no slot for us");
31285 : static const JSJitInfo MozOutlineRadiusTopleft_setterinfo = {
31286 : { (JSJitGetterOp)set_MozOutlineRadiusTopleft },
31287 : { prototypes::id::CSS2Properties },
31288 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31289 : JSJitInfo::Setter,
31290 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31291 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
31292 : false, /* isInfallible. False in setters. */
31293 : false, /* isMovable. Not relevant for setters. */
31294 : false, /* isEliminatable. Not relevant for setters. */
31295 : false, /* isAlwaysInSlot. Only relevant for getters. */
31296 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31297 : false, /* isTypedMethod. Only relevant for methods. */
31298 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31299 : };
31300 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31301 : static_assert(0 < 1, "There is no slot for us");
31302 :
31303 : static bool
31304 0 : get__moz_outline_radius_topleft(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
31305 : {
31306 0 : binding_detail::FastErrorResult rv;
31307 0 : DOMString result;
31308 0 : self->GetMozOutlineRadiusTopleft(result, rv);
31309 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31310 0 : return false;
31311 : }
31312 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31313 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
31314 0 : return false;
31315 : }
31316 0 : return true;
31317 : }
31318 :
31319 : static bool
31320 0 : set__moz_outline_radius_topleft(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
31321 : {
31322 0 : binding_detail::FakeString arg0;
31323 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
31324 0 : return false;
31325 : }
31326 0 : binding_detail::FastErrorResult rv;
31327 0 : self->SetMozOutlineRadiusTopleft(NonNullHelper(Constify(arg0)), rv);
31328 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31329 0 : return false;
31330 : }
31331 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31332 :
31333 0 : return true;
31334 : }
31335 :
31336 : static const JSJitInfo _moz_outline_radius_topleft_getterinfo = {
31337 : { (JSJitGetterOp)get__moz_outline_radius_topleft },
31338 : { prototypes::id::CSS2Properties },
31339 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31340 : JSJitInfo::Getter,
31341 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31342 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
31343 : false, /* isInfallible. False in setters. */
31344 : false, /* isMovable. Not relevant for setters. */
31345 : false, /* isEliminatable. Not relevant for setters. */
31346 : false, /* isAlwaysInSlot. Only relevant for getters. */
31347 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31348 : false, /* isTypedMethod. Only relevant for methods. */
31349 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31350 : };
31351 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31352 : static_assert(0 < 1, "There is no slot for us");
31353 : static const JSJitInfo _moz_outline_radius_topleft_setterinfo = {
31354 : { (JSJitGetterOp)set__moz_outline_radius_topleft },
31355 : { prototypes::id::CSS2Properties },
31356 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31357 : JSJitInfo::Setter,
31358 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31359 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
31360 : false, /* isInfallible. False in setters. */
31361 : false, /* isMovable. Not relevant for setters. */
31362 : false, /* isEliminatable. Not relevant for setters. */
31363 : false, /* isAlwaysInSlot. Only relevant for getters. */
31364 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31365 : false, /* isTypedMethod. Only relevant for methods. */
31366 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31367 : };
31368 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31369 : static_assert(0 < 1, "There is no slot for us");
31370 :
31371 : static bool
31372 0 : get_MozOutlineRadiusTopright(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
31373 : {
31374 0 : binding_detail::FastErrorResult rv;
31375 0 : DOMString result;
31376 0 : self->GetMozOutlineRadiusTopright(result, rv);
31377 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31378 0 : return false;
31379 : }
31380 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31381 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
31382 0 : return false;
31383 : }
31384 0 : return true;
31385 : }
31386 :
31387 : static bool
31388 0 : set_MozOutlineRadiusTopright(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
31389 : {
31390 0 : binding_detail::FakeString arg0;
31391 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
31392 0 : return false;
31393 : }
31394 0 : binding_detail::FastErrorResult rv;
31395 0 : self->SetMozOutlineRadiusTopright(NonNullHelper(Constify(arg0)), rv);
31396 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31397 0 : return false;
31398 : }
31399 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31400 :
31401 0 : return true;
31402 : }
31403 :
31404 : static const JSJitInfo MozOutlineRadiusTopright_getterinfo = {
31405 : { (JSJitGetterOp)get_MozOutlineRadiusTopright },
31406 : { prototypes::id::CSS2Properties },
31407 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31408 : JSJitInfo::Getter,
31409 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31410 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
31411 : false, /* isInfallible. False in setters. */
31412 : false, /* isMovable. Not relevant for setters. */
31413 : false, /* isEliminatable. Not relevant for setters. */
31414 : false, /* isAlwaysInSlot. Only relevant for getters. */
31415 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31416 : false, /* isTypedMethod. Only relevant for methods. */
31417 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31418 : };
31419 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31420 : static_assert(0 < 1, "There is no slot for us");
31421 : static const JSJitInfo MozOutlineRadiusTopright_setterinfo = {
31422 : { (JSJitGetterOp)set_MozOutlineRadiusTopright },
31423 : { prototypes::id::CSS2Properties },
31424 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31425 : JSJitInfo::Setter,
31426 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31427 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
31428 : false, /* isInfallible. False in setters. */
31429 : false, /* isMovable. Not relevant for setters. */
31430 : false, /* isEliminatable. Not relevant for setters. */
31431 : false, /* isAlwaysInSlot. Only relevant for getters. */
31432 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31433 : false, /* isTypedMethod. Only relevant for methods. */
31434 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31435 : };
31436 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31437 : static_assert(0 < 1, "There is no slot for us");
31438 :
31439 : static bool
31440 0 : get__moz_outline_radius_topright(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
31441 : {
31442 0 : binding_detail::FastErrorResult rv;
31443 0 : DOMString result;
31444 0 : self->GetMozOutlineRadiusTopright(result, rv);
31445 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31446 0 : return false;
31447 : }
31448 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31449 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
31450 0 : return false;
31451 : }
31452 0 : return true;
31453 : }
31454 :
31455 : static bool
31456 0 : set__moz_outline_radius_topright(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
31457 : {
31458 0 : binding_detail::FakeString arg0;
31459 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
31460 0 : return false;
31461 : }
31462 0 : binding_detail::FastErrorResult rv;
31463 0 : self->SetMozOutlineRadiusTopright(NonNullHelper(Constify(arg0)), rv);
31464 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31465 0 : return false;
31466 : }
31467 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31468 :
31469 0 : return true;
31470 : }
31471 :
31472 : static const JSJitInfo _moz_outline_radius_topright_getterinfo = {
31473 : { (JSJitGetterOp)get__moz_outline_radius_topright },
31474 : { prototypes::id::CSS2Properties },
31475 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31476 : JSJitInfo::Getter,
31477 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31478 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
31479 : false, /* isInfallible. False in setters. */
31480 : false, /* isMovable. Not relevant for setters. */
31481 : false, /* isEliminatable. Not relevant for setters. */
31482 : false, /* isAlwaysInSlot. Only relevant for getters. */
31483 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31484 : false, /* isTypedMethod. Only relevant for methods. */
31485 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31486 : };
31487 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31488 : static_assert(0 < 1, "There is no slot for us");
31489 : static const JSJitInfo _moz_outline_radius_topright_setterinfo = {
31490 : { (JSJitGetterOp)set__moz_outline_radius_topright },
31491 : { prototypes::id::CSS2Properties },
31492 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31493 : JSJitInfo::Setter,
31494 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31495 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
31496 : false, /* isInfallible. False in setters. */
31497 : false, /* isMovable. Not relevant for setters. */
31498 : false, /* isEliminatable. Not relevant for setters. */
31499 : false, /* isAlwaysInSlot. Only relevant for getters. */
31500 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31501 : false, /* isTypedMethod. Only relevant for methods. */
31502 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31503 : };
31504 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31505 : static_assert(0 < 1, "There is no slot for us");
31506 :
31507 : static bool
31508 0 : get_outlineStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
31509 : {
31510 0 : binding_detail::FastErrorResult rv;
31511 0 : DOMString result;
31512 0 : self->GetOutlineStyle(result, rv);
31513 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31514 0 : return false;
31515 : }
31516 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31517 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
31518 0 : return false;
31519 : }
31520 0 : return true;
31521 : }
31522 :
31523 : static bool
31524 0 : set_outlineStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
31525 : {
31526 0 : binding_detail::FakeString arg0;
31527 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
31528 0 : return false;
31529 : }
31530 0 : binding_detail::FastErrorResult rv;
31531 0 : self->SetOutlineStyle(NonNullHelper(Constify(arg0)), rv);
31532 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31533 0 : return false;
31534 : }
31535 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31536 :
31537 0 : return true;
31538 : }
31539 :
31540 : static const JSJitInfo outlineStyle_getterinfo = {
31541 : { (JSJitGetterOp)get_outlineStyle },
31542 : { prototypes::id::CSS2Properties },
31543 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31544 : JSJitInfo::Getter,
31545 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31546 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
31547 : false, /* isInfallible. False in setters. */
31548 : false, /* isMovable. Not relevant for setters. */
31549 : false, /* isEliminatable. Not relevant for setters. */
31550 : false, /* isAlwaysInSlot. Only relevant for getters. */
31551 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31552 : false, /* isTypedMethod. Only relevant for methods. */
31553 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31554 : };
31555 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31556 : static_assert(0 < 1, "There is no slot for us");
31557 : static const JSJitInfo outlineStyle_setterinfo = {
31558 : { (JSJitGetterOp)set_outlineStyle },
31559 : { prototypes::id::CSS2Properties },
31560 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31561 : JSJitInfo::Setter,
31562 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31563 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
31564 : false, /* isInfallible. False in setters. */
31565 : false, /* isMovable. Not relevant for setters. */
31566 : false, /* isEliminatable. Not relevant for setters. */
31567 : false, /* isAlwaysInSlot. Only relevant for getters. */
31568 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31569 : false, /* isTypedMethod. Only relevant for methods. */
31570 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31571 : };
31572 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31573 : static_assert(0 < 1, "There is no slot for us");
31574 :
31575 : static bool
31576 0 : get_outline_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
31577 : {
31578 0 : binding_detail::FastErrorResult rv;
31579 0 : DOMString result;
31580 0 : self->GetOutlineStyle(result, rv);
31581 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31582 0 : return false;
31583 : }
31584 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31585 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
31586 0 : return false;
31587 : }
31588 0 : return true;
31589 : }
31590 :
31591 : static bool
31592 0 : set_outline_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
31593 : {
31594 0 : binding_detail::FakeString arg0;
31595 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
31596 0 : return false;
31597 : }
31598 0 : binding_detail::FastErrorResult rv;
31599 0 : self->SetOutlineStyle(NonNullHelper(Constify(arg0)), rv);
31600 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31601 0 : return false;
31602 : }
31603 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31604 :
31605 0 : return true;
31606 : }
31607 :
31608 : static const JSJitInfo outline_style_getterinfo = {
31609 : { (JSJitGetterOp)get_outline_style },
31610 : { prototypes::id::CSS2Properties },
31611 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31612 : JSJitInfo::Getter,
31613 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31614 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
31615 : false, /* isInfallible. False in setters. */
31616 : false, /* isMovable. Not relevant for setters. */
31617 : false, /* isEliminatable. Not relevant for setters. */
31618 : false, /* isAlwaysInSlot. Only relevant for getters. */
31619 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31620 : false, /* isTypedMethod. Only relevant for methods. */
31621 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31622 : };
31623 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31624 : static_assert(0 < 1, "There is no slot for us");
31625 : static const JSJitInfo outline_style_setterinfo = {
31626 : { (JSJitGetterOp)set_outline_style },
31627 : { prototypes::id::CSS2Properties },
31628 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31629 : JSJitInfo::Setter,
31630 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31631 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
31632 : false, /* isInfallible. False in setters. */
31633 : false, /* isMovable. Not relevant for setters. */
31634 : false, /* isEliminatable. Not relevant for setters. */
31635 : false, /* isAlwaysInSlot. Only relevant for getters. */
31636 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31637 : false, /* isTypedMethod. Only relevant for methods. */
31638 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31639 : };
31640 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31641 : static_assert(0 < 1, "There is no slot for us");
31642 :
31643 : static bool
31644 0 : get_outlineWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
31645 : {
31646 0 : binding_detail::FastErrorResult rv;
31647 0 : DOMString result;
31648 0 : self->GetOutlineWidth(result, rv);
31649 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31650 0 : return false;
31651 : }
31652 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31653 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
31654 0 : return false;
31655 : }
31656 0 : return true;
31657 : }
31658 :
31659 : static bool
31660 0 : set_outlineWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
31661 : {
31662 0 : binding_detail::FakeString arg0;
31663 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
31664 0 : return false;
31665 : }
31666 0 : binding_detail::FastErrorResult rv;
31667 0 : self->SetOutlineWidth(NonNullHelper(Constify(arg0)), rv);
31668 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31669 0 : return false;
31670 : }
31671 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31672 :
31673 0 : return true;
31674 : }
31675 :
31676 : static const JSJitInfo outlineWidth_getterinfo = {
31677 : { (JSJitGetterOp)get_outlineWidth },
31678 : { prototypes::id::CSS2Properties },
31679 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31680 : JSJitInfo::Getter,
31681 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31682 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
31683 : false, /* isInfallible. False in setters. */
31684 : false, /* isMovable. Not relevant for setters. */
31685 : false, /* isEliminatable. Not relevant for setters. */
31686 : false, /* isAlwaysInSlot. Only relevant for getters. */
31687 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31688 : false, /* isTypedMethod. Only relevant for methods. */
31689 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31690 : };
31691 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31692 : static_assert(0 < 1, "There is no slot for us");
31693 : static const JSJitInfo outlineWidth_setterinfo = {
31694 : { (JSJitGetterOp)set_outlineWidth },
31695 : { prototypes::id::CSS2Properties },
31696 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31697 : JSJitInfo::Setter,
31698 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31699 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
31700 : false, /* isInfallible. False in setters. */
31701 : false, /* isMovable. Not relevant for setters. */
31702 : false, /* isEliminatable. Not relevant for setters. */
31703 : false, /* isAlwaysInSlot. Only relevant for getters. */
31704 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31705 : false, /* isTypedMethod. Only relevant for methods. */
31706 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31707 : };
31708 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31709 : static_assert(0 < 1, "There is no slot for us");
31710 :
31711 : static bool
31712 0 : get_outline_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
31713 : {
31714 0 : binding_detail::FastErrorResult rv;
31715 0 : DOMString result;
31716 0 : self->GetOutlineWidth(result, rv);
31717 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31718 0 : return false;
31719 : }
31720 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31721 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
31722 0 : return false;
31723 : }
31724 0 : return true;
31725 : }
31726 :
31727 : static bool
31728 0 : set_outline_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
31729 : {
31730 0 : binding_detail::FakeString arg0;
31731 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
31732 0 : return false;
31733 : }
31734 0 : binding_detail::FastErrorResult rv;
31735 0 : self->SetOutlineWidth(NonNullHelper(Constify(arg0)), rv);
31736 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31737 0 : return false;
31738 : }
31739 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31740 :
31741 0 : return true;
31742 : }
31743 :
31744 : static const JSJitInfo outline_width_getterinfo = {
31745 : { (JSJitGetterOp)get_outline_width },
31746 : { prototypes::id::CSS2Properties },
31747 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31748 : JSJitInfo::Getter,
31749 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31750 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
31751 : false, /* isInfallible. False in setters. */
31752 : false, /* isMovable. Not relevant for setters. */
31753 : false, /* isEliminatable. Not relevant for setters. */
31754 : false, /* isAlwaysInSlot. Only relevant for getters. */
31755 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31756 : false, /* isTypedMethod. Only relevant for methods. */
31757 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31758 : };
31759 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31760 : static_assert(0 < 1, "There is no slot for us");
31761 : static const JSJitInfo outline_width_setterinfo = {
31762 : { (JSJitGetterOp)set_outline_width },
31763 : { prototypes::id::CSS2Properties },
31764 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31765 : JSJitInfo::Setter,
31766 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31767 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
31768 : false, /* isInfallible. False in setters. */
31769 : false, /* isMovable. Not relevant for setters. */
31770 : false, /* isEliminatable. Not relevant for setters. */
31771 : false, /* isAlwaysInSlot. Only relevant for getters. */
31772 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31773 : false, /* isTypedMethod. Only relevant for methods. */
31774 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31775 : };
31776 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31777 : static_assert(0 < 1, "There is no slot for us");
31778 :
31779 : static bool
31780 0 : get_overflow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
31781 : {
31782 0 : binding_detail::FastErrorResult rv;
31783 0 : DOMString result;
31784 0 : self->GetOverflow(result, rv);
31785 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31786 0 : return false;
31787 : }
31788 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31789 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
31790 0 : return false;
31791 : }
31792 0 : return true;
31793 : }
31794 :
31795 : static bool
31796 0 : set_overflow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
31797 : {
31798 0 : binding_detail::FakeString arg0;
31799 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
31800 0 : return false;
31801 : }
31802 0 : binding_detail::FastErrorResult rv;
31803 0 : self->SetOverflow(NonNullHelper(Constify(arg0)), rv);
31804 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31805 0 : return false;
31806 : }
31807 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31808 :
31809 0 : return true;
31810 : }
31811 :
31812 : static const JSJitInfo overflow_getterinfo = {
31813 : { (JSJitGetterOp)get_overflow },
31814 : { prototypes::id::CSS2Properties },
31815 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31816 : JSJitInfo::Getter,
31817 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31818 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
31819 : false, /* isInfallible. False in setters. */
31820 : false, /* isMovable. Not relevant for setters. */
31821 : false, /* isEliminatable. Not relevant for setters. */
31822 : false, /* isAlwaysInSlot. Only relevant for getters. */
31823 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31824 : false, /* isTypedMethod. Only relevant for methods. */
31825 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31826 : };
31827 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31828 : static_assert(0 < 1, "There is no slot for us");
31829 : static const JSJitInfo overflow_setterinfo = {
31830 : { (JSJitGetterOp)set_overflow },
31831 : { prototypes::id::CSS2Properties },
31832 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31833 : JSJitInfo::Setter,
31834 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31835 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
31836 : false, /* isInfallible. False in setters. */
31837 : false, /* isMovable. Not relevant for setters. */
31838 : false, /* isEliminatable. Not relevant for setters. */
31839 : false, /* isAlwaysInSlot. Only relevant for getters. */
31840 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31841 : false, /* isTypedMethod. Only relevant for methods. */
31842 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31843 : };
31844 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31845 : static_assert(0 < 1, "There is no slot for us");
31846 :
31847 : static bool
31848 0 : get_overflowClipBox(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
31849 : {
31850 0 : binding_detail::FastErrorResult rv;
31851 0 : DOMString result;
31852 0 : self->GetOverflowClipBox(result, rv);
31853 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31854 0 : return false;
31855 : }
31856 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31857 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
31858 0 : return false;
31859 : }
31860 0 : return true;
31861 : }
31862 :
31863 : static bool
31864 0 : set_overflowClipBox(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
31865 : {
31866 0 : binding_detail::FakeString arg0;
31867 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
31868 0 : return false;
31869 : }
31870 0 : binding_detail::FastErrorResult rv;
31871 0 : self->SetOverflowClipBox(NonNullHelper(Constify(arg0)), rv);
31872 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31873 0 : return false;
31874 : }
31875 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31876 :
31877 0 : return true;
31878 : }
31879 :
31880 : static const JSJitInfo overflowClipBox_getterinfo = {
31881 : { (JSJitGetterOp)get_overflowClipBox },
31882 : { prototypes::id::CSS2Properties },
31883 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31884 : JSJitInfo::Getter,
31885 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31886 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
31887 : false, /* isInfallible. False in setters. */
31888 : false, /* isMovable. Not relevant for setters. */
31889 : false, /* isEliminatable. Not relevant for setters. */
31890 : false, /* isAlwaysInSlot. Only relevant for getters. */
31891 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31892 : false, /* isTypedMethod. Only relevant for methods. */
31893 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31894 : };
31895 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31896 : static_assert(0 < 1, "There is no slot for us");
31897 : static const JSJitInfo overflowClipBox_setterinfo = {
31898 : { (JSJitGetterOp)set_overflowClipBox },
31899 : { prototypes::id::CSS2Properties },
31900 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31901 : JSJitInfo::Setter,
31902 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31903 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
31904 : false, /* isInfallible. False in setters. */
31905 : false, /* isMovable. Not relevant for setters. */
31906 : false, /* isEliminatable. Not relevant for setters. */
31907 : false, /* isAlwaysInSlot. Only relevant for getters. */
31908 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31909 : false, /* isTypedMethod. Only relevant for methods. */
31910 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31911 : };
31912 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31913 : static_assert(0 < 1, "There is no slot for us");
31914 :
31915 : static bool
31916 0 : get_overflow_clip_box(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
31917 : {
31918 0 : binding_detail::FastErrorResult rv;
31919 0 : DOMString result;
31920 0 : self->GetOverflowClipBox(result, rv);
31921 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31922 0 : return false;
31923 : }
31924 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31925 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
31926 0 : return false;
31927 : }
31928 0 : return true;
31929 : }
31930 :
31931 : static bool
31932 0 : set_overflow_clip_box(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
31933 : {
31934 0 : binding_detail::FakeString arg0;
31935 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
31936 0 : return false;
31937 : }
31938 0 : binding_detail::FastErrorResult rv;
31939 0 : self->SetOverflowClipBox(NonNullHelper(Constify(arg0)), rv);
31940 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31941 0 : return false;
31942 : }
31943 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31944 :
31945 0 : return true;
31946 : }
31947 :
31948 : static const JSJitInfo overflow_clip_box_getterinfo = {
31949 : { (JSJitGetterOp)get_overflow_clip_box },
31950 : { prototypes::id::CSS2Properties },
31951 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31952 : JSJitInfo::Getter,
31953 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31954 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
31955 : false, /* isInfallible. False in setters. */
31956 : false, /* isMovable. Not relevant for setters. */
31957 : false, /* isEliminatable. Not relevant for setters. */
31958 : false, /* isAlwaysInSlot. Only relevant for getters. */
31959 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31960 : false, /* isTypedMethod. Only relevant for methods. */
31961 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31962 : };
31963 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31964 : static_assert(0 < 1, "There is no slot for us");
31965 : static const JSJitInfo overflow_clip_box_setterinfo = {
31966 : { (JSJitGetterOp)set_overflow_clip_box },
31967 : { prototypes::id::CSS2Properties },
31968 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
31969 : JSJitInfo::Setter,
31970 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
31971 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
31972 : false, /* isInfallible. False in setters. */
31973 : false, /* isMovable. Not relevant for setters. */
31974 : false, /* isEliminatable. Not relevant for setters. */
31975 : false, /* isAlwaysInSlot. Only relevant for getters. */
31976 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
31977 : false, /* isTypedMethod. Only relevant for methods. */
31978 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
31979 : };
31980 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
31981 : static_assert(0 < 1, "There is no slot for us");
31982 :
31983 : static bool
31984 0 : get_overflowX(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
31985 : {
31986 0 : binding_detail::FastErrorResult rv;
31987 0 : DOMString result;
31988 0 : self->GetOverflowX(result, rv);
31989 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
31990 0 : return false;
31991 : }
31992 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
31993 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
31994 0 : return false;
31995 : }
31996 0 : return true;
31997 : }
31998 :
31999 : static bool
32000 0 : set_overflowX(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
32001 : {
32002 0 : binding_detail::FakeString arg0;
32003 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
32004 0 : return false;
32005 : }
32006 0 : binding_detail::FastErrorResult rv;
32007 0 : self->SetOverflowX(NonNullHelper(Constify(arg0)), rv);
32008 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32009 0 : return false;
32010 : }
32011 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32012 :
32013 0 : return true;
32014 : }
32015 :
32016 : static const JSJitInfo overflowX_getterinfo = {
32017 : { (JSJitGetterOp)get_overflowX },
32018 : { prototypes::id::CSS2Properties },
32019 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32020 : JSJitInfo::Getter,
32021 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32022 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
32023 : false, /* isInfallible. False in setters. */
32024 : false, /* isMovable. Not relevant for setters. */
32025 : false, /* isEliminatable. Not relevant for setters. */
32026 : false, /* isAlwaysInSlot. Only relevant for getters. */
32027 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32028 : false, /* isTypedMethod. Only relevant for methods. */
32029 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32030 : };
32031 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32032 : static_assert(0 < 1, "There is no slot for us");
32033 : static const JSJitInfo overflowX_setterinfo = {
32034 : { (JSJitGetterOp)set_overflowX },
32035 : { prototypes::id::CSS2Properties },
32036 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32037 : JSJitInfo::Setter,
32038 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32039 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
32040 : false, /* isInfallible. False in setters. */
32041 : false, /* isMovable. Not relevant for setters. */
32042 : false, /* isEliminatable. Not relevant for setters. */
32043 : false, /* isAlwaysInSlot. Only relevant for getters. */
32044 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32045 : false, /* isTypedMethod. Only relevant for methods. */
32046 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32047 : };
32048 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32049 : static_assert(0 < 1, "There is no slot for us");
32050 :
32051 : static bool
32052 0 : get_overflow_x(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
32053 : {
32054 0 : binding_detail::FastErrorResult rv;
32055 0 : DOMString result;
32056 0 : self->GetOverflowX(result, rv);
32057 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32058 0 : return false;
32059 : }
32060 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32061 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
32062 0 : return false;
32063 : }
32064 0 : return true;
32065 : }
32066 :
32067 : static bool
32068 0 : set_overflow_x(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
32069 : {
32070 0 : binding_detail::FakeString arg0;
32071 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
32072 0 : return false;
32073 : }
32074 0 : binding_detail::FastErrorResult rv;
32075 0 : self->SetOverflowX(NonNullHelper(Constify(arg0)), rv);
32076 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32077 0 : return false;
32078 : }
32079 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32080 :
32081 0 : return true;
32082 : }
32083 :
32084 : static const JSJitInfo overflow_x_getterinfo = {
32085 : { (JSJitGetterOp)get_overflow_x },
32086 : { prototypes::id::CSS2Properties },
32087 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32088 : JSJitInfo::Getter,
32089 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32090 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
32091 : false, /* isInfallible. False in setters. */
32092 : false, /* isMovable. Not relevant for setters. */
32093 : false, /* isEliminatable. Not relevant for setters. */
32094 : false, /* isAlwaysInSlot. Only relevant for getters. */
32095 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32096 : false, /* isTypedMethod. Only relevant for methods. */
32097 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32098 : };
32099 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32100 : static_assert(0 < 1, "There is no slot for us");
32101 : static const JSJitInfo overflow_x_setterinfo = {
32102 : { (JSJitGetterOp)set_overflow_x },
32103 : { prototypes::id::CSS2Properties },
32104 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32105 : JSJitInfo::Setter,
32106 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32107 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
32108 : false, /* isInfallible. False in setters. */
32109 : false, /* isMovable. Not relevant for setters. */
32110 : false, /* isEliminatable. Not relevant for setters. */
32111 : false, /* isAlwaysInSlot. Only relevant for getters. */
32112 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32113 : false, /* isTypedMethod. Only relevant for methods. */
32114 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32115 : };
32116 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32117 : static_assert(0 < 1, "There is no slot for us");
32118 :
32119 : static bool
32120 0 : get_overflowY(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
32121 : {
32122 0 : binding_detail::FastErrorResult rv;
32123 0 : DOMString result;
32124 0 : self->GetOverflowY(result, rv);
32125 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32126 0 : return false;
32127 : }
32128 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32129 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
32130 0 : return false;
32131 : }
32132 0 : return true;
32133 : }
32134 :
32135 : static bool
32136 0 : set_overflowY(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
32137 : {
32138 0 : binding_detail::FakeString arg0;
32139 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
32140 0 : return false;
32141 : }
32142 0 : binding_detail::FastErrorResult rv;
32143 0 : self->SetOverflowY(NonNullHelper(Constify(arg0)), rv);
32144 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32145 0 : return false;
32146 : }
32147 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32148 :
32149 0 : return true;
32150 : }
32151 :
32152 : static const JSJitInfo overflowY_getterinfo = {
32153 : { (JSJitGetterOp)get_overflowY },
32154 : { prototypes::id::CSS2Properties },
32155 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32156 : JSJitInfo::Getter,
32157 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32158 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
32159 : false, /* isInfallible. False in setters. */
32160 : false, /* isMovable. Not relevant for setters. */
32161 : false, /* isEliminatable. Not relevant for setters. */
32162 : false, /* isAlwaysInSlot. Only relevant for getters. */
32163 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32164 : false, /* isTypedMethod. Only relevant for methods. */
32165 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32166 : };
32167 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32168 : static_assert(0 < 1, "There is no slot for us");
32169 : static const JSJitInfo overflowY_setterinfo = {
32170 : { (JSJitGetterOp)set_overflowY },
32171 : { prototypes::id::CSS2Properties },
32172 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32173 : JSJitInfo::Setter,
32174 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32175 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
32176 : false, /* isInfallible. False in setters. */
32177 : false, /* isMovable. Not relevant for setters. */
32178 : false, /* isEliminatable. Not relevant for setters. */
32179 : false, /* isAlwaysInSlot. Only relevant for getters. */
32180 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32181 : false, /* isTypedMethod. Only relevant for methods. */
32182 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32183 : };
32184 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32185 : static_assert(0 < 1, "There is no slot for us");
32186 :
32187 : static bool
32188 0 : get_overflow_y(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
32189 : {
32190 0 : binding_detail::FastErrorResult rv;
32191 0 : DOMString result;
32192 0 : self->GetOverflowY(result, rv);
32193 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32194 0 : return false;
32195 : }
32196 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32197 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
32198 0 : return false;
32199 : }
32200 0 : return true;
32201 : }
32202 :
32203 : static bool
32204 0 : set_overflow_y(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
32205 : {
32206 0 : binding_detail::FakeString arg0;
32207 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
32208 0 : return false;
32209 : }
32210 0 : binding_detail::FastErrorResult rv;
32211 0 : self->SetOverflowY(NonNullHelper(Constify(arg0)), rv);
32212 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32213 0 : return false;
32214 : }
32215 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32216 :
32217 0 : return true;
32218 : }
32219 :
32220 : static const JSJitInfo overflow_y_getterinfo = {
32221 : { (JSJitGetterOp)get_overflow_y },
32222 : { prototypes::id::CSS2Properties },
32223 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32224 : JSJitInfo::Getter,
32225 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32226 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
32227 : false, /* isInfallible. False in setters. */
32228 : false, /* isMovable. Not relevant for setters. */
32229 : false, /* isEliminatable. Not relevant for setters. */
32230 : false, /* isAlwaysInSlot. Only relevant for getters. */
32231 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32232 : false, /* isTypedMethod. Only relevant for methods. */
32233 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32234 : };
32235 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32236 : static_assert(0 < 1, "There is no slot for us");
32237 : static const JSJitInfo overflow_y_setterinfo = {
32238 : { (JSJitGetterOp)set_overflow_y },
32239 : { prototypes::id::CSS2Properties },
32240 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32241 : JSJitInfo::Setter,
32242 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32243 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
32244 : false, /* isInfallible. False in setters. */
32245 : false, /* isMovable. Not relevant for setters. */
32246 : false, /* isEliminatable. Not relevant for setters. */
32247 : false, /* isAlwaysInSlot. Only relevant for getters. */
32248 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32249 : false, /* isTypedMethod. Only relevant for methods. */
32250 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32251 : };
32252 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32253 : static_assert(0 < 1, "There is no slot for us");
32254 :
32255 : static bool
32256 0 : get_padding(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
32257 : {
32258 0 : binding_detail::FastErrorResult rv;
32259 0 : DOMString result;
32260 0 : self->GetPadding(result, rv);
32261 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32262 0 : return false;
32263 : }
32264 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32265 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
32266 0 : return false;
32267 : }
32268 0 : return true;
32269 : }
32270 :
32271 : static bool
32272 0 : set_padding(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
32273 : {
32274 0 : binding_detail::FakeString arg0;
32275 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
32276 0 : return false;
32277 : }
32278 0 : binding_detail::FastErrorResult rv;
32279 0 : self->SetPadding(NonNullHelper(Constify(arg0)), rv);
32280 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32281 0 : return false;
32282 : }
32283 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32284 :
32285 0 : return true;
32286 : }
32287 :
32288 : static const JSJitInfo padding_getterinfo = {
32289 : { (JSJitGetterOp)get_padding },
32290 : { prototypes::id::CSS2Properties },
32291 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32292 : JSJitInfo::Getter,
32293 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32294 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
32295 : false, /* isInfallible. False in setters. */
32296 : false, /* isMovable. Not relevant for setters. */
32297 : false, /* isEliminatable. Not relevant for setters. */
32298 : false, /* isAlwaysInSlot. Only relevant for getters. */
32299 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32300 : false, /* isTypedMethod. Only relevant for methods. */
32301 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32302 : };
32303 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32304 : static_assert(0 < 1, "There is no slot for us");
32305 : static const JSJitInfo padding_setterinfo = {
32306 : { (JSJitGetterOp)set_padding },
32307 : { prototypes::id::CSS2Properties },
32308 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32309 : JSJitInfo::Setter,
32310 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32311 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
32312 : false, /* isInfallible. False in setters. */
32313 : false, /* isMovable. Not relevant for setters. */
32314 : false, /* isEliminatable. Not relevant for setters. */
32315 : false, /* isAlwaysInSlot. Only relevant for getters. */
32316 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32317 : false, /* isTypedMethod. Only relevant for methods. */
32318 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32319 : };
32320 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32321 : static_assert(0 < 1, "There is no slot for us");
32322 :
32323 : static bool
32324 0 : get_paddingBlockEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
32325 : {
32326 0 : binding_detail::FastErrorResult rv;
32327 0 : DOMString result;
32328 0 : self->GetPaddingBlockEnd(result, rv);
32329 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32330 0 : return false;
32331 : }
32332 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32333 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
32334 0 : return false;
32335 : }
32336 0 : return true;
32337 : }
32338 :
32339 : static bool
32340 0 : set_paddingBlockEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
32341 : {
32342 0 : binding_detail::FakeString arg0;
32343 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
32344 0 : return false;
32345 : }
32346 0 : binding_detail::FastErrorResult rv;
32347 0 : self->SetPaddingBlockEnd(NonNullHelper(Constify(arg0)), rv);
32348 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32349 0 : return false;
32350 : }
32351 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32352 :
32353 0 : return true;
32354 : }
32355 :
32356 : static const JSJitInfo paddingBlockEnd_getterinfo = {
32357 : { (JSJitGetterOp)get_paddingBlockEnd },
32358 : { prototypes::id::CSS2Properties },
32359 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32360 : JSJitInfo::Getter,
32361 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32362 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
32363 : false, /* isInfallible. False in setters. */
32364 : false, /* isMovable. Not relevant for setters. */
32365 : false, /* isEliminatable. Not relevant for setters. */
32366 : false, /* isAlwaysInSlot. Only relevant for getters. */
32367 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32368 : false, /* isTypedMethod. Only relevant for methods. */
32369 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32370 : };
32371 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32372 : static_assert(0 < 1, "There is no slot for us");
32373 : static const JSJitInfo paddingBlockEnd_setterinfo = {
32374 : { (JSJitGetterOp)set_paddingBlockEnd },
32375 : { prototypes::id::CSS2Properties },
32376 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32377 : JSJitInfo::Setter,
32378 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32379 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
32380 : false, /* isInfallible. False in setters. */
32381 : false, /* isMovable. Not relevant for setters. */
32382 : false, /* isEliminatable. Not relevant for setters. */
32383 : false, /* isAlwaysInSlot. Only relevant for getters. */
32384 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32385 : false, /* isTypedMethod. Only relevant for methods. */
32386 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32387 : };
32388 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32389 : static_assert(0 < 1, "There is no slot for us");
32390 :
32391 : static bool
32392 0 : get_padding_block_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
32393 : {
32394 0 : binding_detail::FastErrorResult rv;
32395 0 : DOMString result;
32396 0 : self->GetPaddingBlockEnd(result, rv);
32397 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32398 0 : return false;
32399 : }
32400 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32401 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
32402 0 : return false;
32403 : }
32404 0 : return true;
32405 : }
32406 :
32407 : static bool
32408 0 : set_padding_block_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
32409 : {
32410 0 : binding_detail::FakeString arg0;
32411 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
32412 0 : return false;
32413 : }
32414 0 : binding_detail::FastErrorResult rv;
32415 0 : self->SetPaddingBlockEnd(NonNullHelper(Constify(arg0)), rv);
32416 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32417 0 : return false;
32418 : }
32419 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32420 :
32421 0 : return true;
32422 : }
32423 :
32424 : static const JSJitInfo padding_block_end_getterinfo = {
32425 : { (JSJitGetterOp)get_padding_block_end },
32426 : { prototypes::id::CSS2Properties },
32427 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32428 : JSJitInfo::Getter,
32429 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32430 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
32431 : false, /* isInfallible. False in setters. */
32432 : false, /* isMovable. Not relevant for setters. */
32433 : false, /* isEliminatable. Not relevant for setters. */
32434 : false, /* isAlwaysInSlot. Only relevant for getters. */
32435 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32436 : false, /* isTypedMethod. Only relevant for methods. */
32437 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32438 : };
32439 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32440 : static_assert(0 < 1, "There is no slot for us");
32441 : static const JSJitInfo padding_block_end_setterinfo = {
32442 : { (JSJitGetterOp)set_padding_block_end },
32443 : { prototypes::id::CSS2Properties },
32444 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32445 : JSJitInfo::Setter,
32446 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32447 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
32448 : false, /* isInfallible. False in setters. */
32449 : false, /* isMovable. Not relevant for setters. */
32450 : false, /* isEliminatable. Not relevant for setters. */
32451 : false, /* isAlwaysInSlot. Only relevant for getters. */
32452 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32453 : false, /* isTypedMethod. Only relevant for methods. */
32454 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32455 : };
32456 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32457 : static_assert(0 < 1, "There is no slot for us");
32458 :
32459 : static bool
32460 0 : get_paddingBlockStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
32461 : {
32462 0 : binding_detail::FastErrorResult rv;
32463 0 : DOMString result;
32464 0 : self->GetPaddingBlockStart(result, rv);
32465 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32466 0 : return false;
32467 : }
32468 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32469 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
32470 0 : return false;
32471 : }
32472 0 : return true;
32473 : }
32474 :
32475 : static bool
32476 0 : set_paddingBlockStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
32477 : {
32478 0 : binding_detail::FakeString arg0;
32479 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
32480 0 : return false;
32481 : }
32482 0 : binding_detail::FastErrorResult rv;
32483 0 : self->SetPaddingBlockStart(NonNullHelper(Constify(arg0)), rv);
32484 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32485 0 : return false;
32486 : }
32487 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32488 :
32489 0 : return true;
32490 : }
32491 :
32492 : static const JSJitInfo paddingBlockStart_getterinfo = {
32493 : { (JSJitGetterOp)get_paddingBlockStart },
32494 : { prototypes::id::CSS2Properties },
32495 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32496 : JSJitInfo::Getter,
32497 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32498 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
32499 : false, /* isInfallible. False in setters. */
32500 : false, /* isMovable. Not relevant for setters. */
32501 : false, /* isEliminatable. Not relevant for setters. */
32502 : false, /* isAlwaysInSlot. Only relevant for getters. */
32503 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32504 : false, /* isTypedMethod. Only relevant for methods. */
32505 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32506 : };
32507 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32508 : static_assert(0 < 1, "There is no slot for us");
32509 : static const JSJitInfo paddingBlockStart_setterinfo = {
32510 : { (JSJitGetterOp)set_paddingBlockStart },
32511 : { prototypes::id::CSS2Properties },
32512 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32513 : JSJitInfo::Setter,
32514 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32515 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
32516 : false, /* isInfallible. False in setters. */
32517 : false, /* isMovable. Not relevant for setters. */
32518 : false, /* isEliminatable. Not relevant for setters. */
32519 : false, /* isAlwaysInSlot. Only relevant for getters. */
32520 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32521 : false, /* isTypedMethod. Only relevant for methods. */
32522 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32523 : };
32524 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32525 : static_assert(0 < 1, "There is no slot for us");
32526 :
32527 : static bool
32528 0 : get_padding_block_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
32529 : {
32530 0 : binding_detail::FastErrorResult rv;
32531 0 : DOMString result;
32532 0 : self->GetPaddingBlockStart(result, rv);
32533 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32534 0 : return false;
32535 : }
32536 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32537 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
32538 0 : return false;
32539 : }
32540 0 : return true;
32541 : }
32542 :
32543 : static bool
32544 0 : set_padding_block_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
32545 : {
32546 0 : binding_detail::FakeString arg0;
32547 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
32548 0 : return false;
32549 : }
32550 0 : binding_detail::FastErrorResult rv;
32551 0 : self->SetPaddingBlockStart(NonNullHelper(Constify(arg0)), rv);
32552 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32553 0 : return false;
32554 : }
32555 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32556 :
32557 0 : return true;
32558 : }
32559 :
32560 : static const JSJitInfo padding_block_start_getterinfo = {
32561 : { (JSJitGetterOp)get_padding_block_start },
32562 : { prototypes::id::CSS2Properties },
32563 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32564 : JSJitInfo::Getter,
32565 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32566 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
32567 : false, /* isInfallible. False in setters. */
32568 : false, /* isMovable. Not relevant for setters. */
32569 : false, /* isEliminatable. Not relevant for setters. */
32570 : false, /* isAlwaysInSlot. Only relevant for getters. */
32571 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32572 : false, /* isTypedMethod. Only relevant for methods. */
32573 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32574 : };
32575 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32576 : static_assert(0 < 1, "There is no slot for us");
32577 : static const JSJitInfo padding_block_start_setterinfo = {
32578 : { (JSJitGetterOp)set_padding_block_start },
32579 : { prototypes::id::CSS2Properties },
32580 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32581 : JSJitInfo::Setter,
32582 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32583 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
32584 : false, /* isInfallible. False in setters. */
32585 : false, /* isMovable. Not relevant for setters. */
32586 : false, /* isEliminatable. Not relevant for setters. */
32587 : false, /* isAlwaysInSlot. Only relevant for getters. */
32588 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32589 : false, /* isTypedMethod. Only relevant for methods. */
32590 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32591 : };
32592 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32593 : static_assert(0 < 1, "There is no slot for us");
32594 :
32595 : static bool
32596 0 : get_paddingBottom(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
32597 : {
32598 0 : binding_detail::FastErrorResult rv;
32599 0 : DOMString result;
32600 0 : self->GetPaddingBottom(result, rv);
32601 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32602 0 : return false;
32603 : }
32604 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32605 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
32606 0 : return false;
32607 : }
32608 0 : return true;
32609 : }
32610 :
32611 : static bool
32612 0 : set_paddingBottom(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
32613 : {
32614 0 : binding_detail::FakeString arg0;
32615 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
32616 0 : return false;
32617 : }
32618 0 : binding_detail::FastErrorResult rv;
32619 0 : self->SetPaddingBottom(NonNullHelper(Constify(arg0)), rv);
32620 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32621 0 : return false;
32622 : }
32623 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32624 :
32625 0 : return true;
32626 : }
32627 :
32628 : static const JSJitInfo paddingBottom_getterinfo = {
32629 : { (JSJitGetterOp)get_paddingBottom },
32630 : { prototypes::id::CSS2Properties },
32631 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32632 : JSJitInfo::Getter,
32633 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32634 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
32635 : false, /* isInfallible. False in setters. */
32636 : false, /* isMovable. Not relevant for setters. */
32637 : false, /* isEliminatable. Not relevant for setters. */
32638 : false, /* isAlwaysInSlot. Only relevant for getters. */
32639 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32640 : false, /* isTypedMethod. Only relevant for methods. */
32641 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32642 : };
32643 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32644 : static_assert(0 < 1, "There is no slot for us");
32645 : static const JSJitInfo paddingBottom_setterinfo = {
32646 : { (JSJitGetterOp)set_paddingBottom },
32647 : { prototypes::id::CSS2Properties },
32648 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32649 : JSJitInfo::Setter,
32650 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32651 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
32652 : false, /* isInfallible. False in setters. */
32653 : false, /* isMovable. Not relevant for setters. */
32654 : false, /* isEliminatable. Not relevant for setters. */
32655 : false, /* isAlwaysInSlot. Only relevant for getters. */
32656 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32657 : false, /* isTypedMethod. Only relevant for methods. */
32658 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32659 : };
32660 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32661 : static_assert(0 < 1, "There is no slot for us");
32662 :
32663 : static bool
32664 0 : get_padding_bottom(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
32665 : {
32666 0 : binding_detail::FastErrorResult rv;
32667 0 : DOMString result;
32668 0 : self->GetPaddingBottom(result, rv);
32669 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32670 0 : return false;
32671 : }
32672 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32673 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
32674 0 : return false;
32675 : }
32676 0 : return true;
32677 : }
32678 :
32679 : static bool
32680 0 : set_padding_bottom(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
32681 : {
32682 0 : binding_detail::FakeString arg0;
32683 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
32684 0 : return false;
32685 : }
32686 0 : binding_detail::FastErrorResult rv;
32687 0 : self->SetPaddingBottom(NonNullHelper(Constify(arg0)), rv);
32688 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32689 0 : return false;
32690 : }
32691 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32692 :
32693 0 : return true;
32694 : }
32695 :
32696 : static const JSJitInfo padding_bottom_getterinfo = {
32697 : { (JSJitGetterOp)get_padding_bottom },
32698 : { prototypes::id::CSS2Properties },
32699 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32700 : JSJitInfo::Getter,
32701 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32702 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
32703 : false, /* isInfallible. False in setters. */
32704 : false, /* isMovable. Not relevant for setters. */
32705 : false, /* isEliminatable. Not relevant for setters. */
32706 : false, /* isAlwaysInSlot. Only relevant for getters. */
32707 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32708 : false, /* isTypedMethod. Only relevant for methods. */
32709 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32710 : };
32711 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32712 : static_assert(0 < 1, "There is no slot for us");
32713 : static const JSJitInfo padding_bottom_setterinfo = {
32714 : { (JSJitGetterOp)set_padding_bottom },
32715 : { prototypes::id::CSS2Properties },
32716 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32717 : JSJitInfo::Setter,
32718 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32719 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
32720 : false, /* isInfallible. False in setters. */
32721 : false, /* isMovable. Not relevant for setters. */
32722 : false, /* isEliminatable. Not relevant for setters. */
32723 : false, /* isAlwaysInSlot. Only relevant for getters. */
32724 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32725 : false, /* isTypedMethod. Only relevant for methods. */
32726 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32727 : };
32728 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32729 : static_assert(0 < 1, "There is no slot for us");
32730 :
32731 : static bool
32732 0 : get_paddingInlineEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
32733 : {
32734 0 : binding_detail::FastErrorResult rv;
32735 0 : DOMString result;
32736 0 : self->GetPaddingInlineEnd(result, rv);
32737 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32738 0 : return false;
32739 : }
32740 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32741 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
32742 0 : return false;
32743 : }
32744 0 : return true;
32745 : }
32746 :
32747 : static bool
32748 0 : set_paddingInlineEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
32749 : {
32750 0 : binding_detail::FakeString arg0;
32751 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
32752 0 : return false;
32753 : }
32754 0 : binding_detail::FastErrorResult rv;
32755 0 : self->SetPaddingInlineEnd(NonNullHelper(Constify(arg0)), rv);
32756 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32757 0 : return false;
32758 : }
32759 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32760 :
32761 0 : return true;
32762 : }
32763 :
32764 : static const JSJitInfo paddingInlineEnd_getterinfo = {
32765 : { (JSJitGetterOp)get_paddingInlineEnd },
32766 : { prototypes::id::CSS2Properties },
32767 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32768 : JSJitInfo::Getter,
32769 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32770 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
32771 : false, /* isInfallible. False in setters. */
32772 : false, /* isMovable. Not relevant for setters. */
32773 : false, /* isEliminatable. Not relevant for setters. */
32774 : false, /* isAlwaysInSlot. Only relevant for getters. */
32775 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32776 : false, /* isTypedMethod. Only relevant for methods. */
32777 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32778 : };
32779 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32780 : static_assert(0 < 1, "There is no slot for us");
32781 : static const JSJitInfo paddingInlineEnd_setterinfo = {
32782 : { (JSJitGetterOp)set_paddingInlineEnd },
32783 : { prototypes::id::CSS2Properties },
32784 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32785 : JSJitInfo::Setter,
32786 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32787 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
32788 : false, /* isInfallible. False in setters. */
32789 : false, /* isMovable. Not relevant for setters. */
32790 : false, /* isEliminatable. Not relevant for setters. */
32791 : false, /* isAlwaysInSlot. Only relevant for getters. */
32792 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32793 : false, /* isTypedMethod. Only relevant for methods. */
32794 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32795 : };
32796 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32797 : static_assert(0 < 1, "There is no slot for us");
32798 :
32799 : static bool
32800 0 : get_padding_inline_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
32801 : {
32802 0 : binding_detail::FastErrorResult rv;
32803 0 : DOMString result;
32804 0 : self->GetPaddingInlineEnd(result, rv);
32805 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32806 0 : return false;
32807 : }
32808 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32809 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
32810 0 : return false;
32811 : }
32812 0 : return true;
32813 : }
32814 :
32815 : static bool
32816 0 : set_padding_inline_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
32817 : {
32818 0 : binding_detail::FakeString arg0;
32819 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
32820 0 : return false;
32821 : }
32822 0 : binding_detail::FastErrorResult rv;
32823 0 : self->SetPaddingInlineEnd(NonNullHelper(Constify(arg0)), rv);
32824 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32825 0 : return false;
32826 : }
32827 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32828 :
32829 0 : return true;
32830 : }
32831 :
32832 : static const JSJitInfo padding_inline_end_getterinfo = {
32833 : { (JSJitGetterOp)get_padding_inline_end },
32834 : { prototypes::id::CSS2Properties },
32835 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32836 : JSJitInfo::Getter,
32837 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32838 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
32839 : false, /* isInfallible. False in setters. */
32840 : false, /* isMovable. Not relevant for setters. */
32841 : false, /* isEliminatable. Not relevant for setters. */
32842 : false, /* isAlwaysInSlot. Only relevant for getters. */
32843 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32844 : false, /* isTypedMethod. Only relevant for methods. */
32845 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32846 : };
32847 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32848 : static_assert(0 < 1, "There is no slot for us");
32849 : static const JSJitInfo padding_inline_end_setterinfo = {
32850 : { (JSJitGetterOp)set_padding_inline_end },
32851 : { prototypes::id::CSS2Properties },
32852 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32853 : JSJitInfo::Setter,
32854 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32855 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
32856 : false, /* isInfallible. False in setters. */
32857 : false, /* isMovable. Not relevant for setters. */
32858 : false, /* isEliminatable. Not relevant for setters. */
32859 : false, /* isAlwaysInSlot. Only relevant for getters. */
32860 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32861 : false, /* isTypedMethod. Only relevant for methods. */
32862 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32863 : };
32864 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32865 : static_assert(0 < 1, "There is no slot for us");
32866 :
32867 : static bool
32868 0 : get_paddingInlineStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
32869 : {
32870 0 : binding_detail::FastErrorResult rv;
32871 0 : DOMString result;
32872 0 : self->GetPaddingInlineStart(result, rv);
32873 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32874 0 : return false;
32875 : }
32876 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32877 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
32878 0 : return false;
32879 : }
32880 0 : return true;
32881 : }
32882 :
32883 : static bool
32884 0 : set_paddingInlineStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
32885 : {
32886 0 : binding_detail::FakeString arg0;
32887 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
32888 0 : return false;
32889 : }
32890 0 : binding_detail::FastErrorResult rv;
32891 0 : self->SetPaddingInlineStart(NonNullHelper(Constify(arg0)), rv);
32892 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32893 0 : return false;
32894 : }
32895 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32896 :
32897 0 : return true;
32898 : }
32899 :
32900 : static const JSJitInfo paddingInlineStart_getterinfo = {
32901 : { (JSJitGetterOp)get_paddingInlineStart },
32902 : { prototypes::id::CSS2Properties },
32903 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32904 : JSJitInfo::Getter,
32905 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32906 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
32907 : false, /* isInfallible. False in setters. */
32908 : false, /* isMovable. Not relevant for setters. */
32909 : false, /* isEliminatable. Not relevant for setters. */
32910 : false, /* isAlwaysInSlot. Only relevant for getters. */
32911 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32912 : false, /* isTypedMethod. Only relevant for methods. */
32913 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32914 : };
32915 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32916 : static_assert(0 < 1, "There is no slot for us");
32917 : static const JSJitInfo paddingInlineStart_setterinfo = {
32918 : { (JSJitGetterOp)set_paddingInlineStart },
32919 : { prototypes::id::CSS2Properties },
32920 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32921 : JSJitInfo::Setter,
32922 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32923 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
32924 : false, /* isInfallible. False in setters. */
32925 : false, /* isMovable. Not relevant for setters. */
32926 : false, /* isEliminatable. Not relevant for setters. */
32927 : false, /* isAlwaysInSlot. Only relevant for getters. */
32928 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32929 : false, /* isTypedMethod. Only relevant for methods. */
32930 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32931 : };
32932 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32933 : static_assert(0 < 1, "There is no slot for us");
32934 :
32935 : static bool
32936 0 : get_padding_inline_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
32937 : {
32938 0 : binding_detail::FastErrorResult rv;
32939 0 : DOMString result;
32940 0 : self->GetPaddingInlineStart(result, rv);
32941 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32942 0 : return false;
32943 : }
32944 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32945 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
32946 0 : return false;
32947 : }
32948 0 : return true;
32949 : }
32950 :
32951 : static bool
32952 0 : set_padding_inline_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
32953 : {
32954 0 : binding_detail::FakeString arg0;
32955 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
32956 0 : return false;
32957 : }
32958 0 : binding_detail::FastErrorResult rv;
32959 0 : self->SetPaddingInlineStart(NonNullHelper(Constify(arg0)), rv);
32960 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
32961 0 : return false;
32962 : }
32963 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
32964 :
32965 0 : return true;
32966 : }
32967 :
32968 : static const JSJitInfo padding_inline_start_getterinfo = {
32969 : { (JSJitGetterOp)get_padding_inline_start },
32970 : { prototypes::id::CSS2Properties },
32971 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32972 : JSJitInfo::Getter,
32973 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32974 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
32975 : false, /* isInfallible. False in setters. */
32976 : false, /* isMovable. Not relevant for setters. */
32977 : false, /* isEliminatable. Not relevant for setters. */
32978 : false, /* isAlwaysInSlot. Only relevant for getters. */
32979 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32980 : false, /* isTypedMethod. Only relevant for methods. */
32981 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32982 : };
32983 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
32984 : static_assert(0 < 1, "There is no slot for us");
32985 : static const JSJitInfo padding_inline_start_setterinfo = {
32986 : { (JSJitGetterOp)set_padding_inline_start },
32987 : { prototypes::id::CSS2Properties },
32988 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
32989 : JSJitInfo::Setter,
32990 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
32991 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
32992 : false, /* isInfallible. False in setters. */
32993 : false, /* isMovable. Not relevant for setters. */
32994 : false, /* isEliminatable. Not relevant for setters. */
32995 : false, /* isAlwaysInSlot. Only relevant for getters. */
32996 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
32997 : false, /* isTypedMethod. Only relevant for methods. */
32998 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
32999 : };
33000 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33001 : static_assert(0 < 1, "There is no slot for us");
33002 :
33003 : static bool
33004 0 : get_paddingLeft(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
33005 : {
33006 0 : binding_detail::FastErrorResult rv;
33007 0 : DOMString result;
33008 0 : self->GetPaddingLeft(result, rv);
33009 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33010 0 : return false;
33011 : }
33012 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33013 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
33014 0 : return false;
33015 : }
33016 0 : return true;
33017 : }
33018 :
33019 : static bool
33020 0 : set_paddingLeft(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
33021 : {
33022 0 : binding_detail::FakeString arg0;
33023 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
33024 0 : return false;
33025 : }
33026 0 : binding_detail::FastErrorResult rv;
33027 0 : self->SetPaddingLeft(NonNullHelper(Constify(arg0)), rv);
33028 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33029 0 : return false;
33030 : }
33031 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33032 :
33033 0 : return true;
33034 : }
33035 :
33036 : static const JSJitInfo paddingLeft_getterinfo = {
33037 : { (JSJitGetterOp)get_paddingLeft },
33038 : { prototypes::id::CSS2Properties },
33039 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33040 : JSJitInfo::Getter,
33041 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33042 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
33043 : false, /* isInfallible. False in setters. */
33044 : false, /* isMovable. Not relevant for setters. */
33045 : false, /* isEliminatable. Not relevant for setters. */
33046 : false, /* isAlwaysInSlot. Only relevant for getters. */
33047 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33048 : false, /* isTypedMethod. Only relevant for methods. */
33049 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33050 : };
33051 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33052 : static_assert(0 < 1, "There is no slot for us");
33053 : static const JSJitInfo paddingLeft_setterinfo = {
33054 : { (JSJitGetterOp)set_paddingLeft },
33055 : { prototypes::id::CSS2Properties },
33056 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33057 : JSJitInfo::Setter,
33058 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33059 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
33060 : false, /* isInfallible. False in setters. */
33061 : false, /* isMovable. Not relevant for setters. */
33062 : false, /* isEliminatable. Not relevant for setters. */
33063 : false, /* isAlwaysInSlot. Only relevant for getters. */
33064 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33065 : false, /* isTypedMethod. Only relevant for methods. */
33066 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33067 : };
33068 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33069 : static_assert(0 < 1, "There is no slot for us");
33070 :
33071 : static bool
33072 0 : get_padding_left(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
33073 : {
33074 0 : binding_detail::FastErrorResult rv;
33075 0 : DOMString result;
33076 0 : self->GetPaddingLeft(result, rv);
33077 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33078 0 : return false;
33079 : }
33080 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33081 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
33082 0 : return false;
33083 : }
33084 0 : return true;
33085 : }
33086 :
33087 : static bool
33088 0 : set_padding_left(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
33089 : {
33090 0 : binding_detail::FakeString arg0;
33091 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
33092 0 : return false;
33093 : }
33094 0 : binding_detail::FastErrorResult rv;
33095 0 : self->SetPaddingLeft(NonNullHelper(Constify(arg0)), rv);
33096 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33097 0 : return false;
33098 : }
33099 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33100 :
33101 0 : return true;
33102 : }
33103 :
33104 : static const JSJitInfo padding_left_getterinfo = {
33105 : { (JSJitGetterOp)get_padding_left },
33106 : { prototypes::id::CSS2Properties },
33107 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33108 : JSJitInfo::Getter,
33109 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33110 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
33111 : false, /* isInfallible. False in setters. */
33112 : false, /* isMovable. Not relevant for setters. */
33113 : false, /* isEliminatable. Not relevant for setters. */
33114 : false, /* isAlwaysInSlot. Only relevant for getters. */
33115 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33116 : false, /* isTypedMethod. Only relevant for methods. */
33117 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33118 : };
33119 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33120 : static_assert(0 < 1, "There is no slot for us");
33121 : static const JSJitInfo padding_left_setterinfo = {
33122 : { (JSJitGetterOp)set_padding_left },
33123 : { prototypes::id::CSS2Properties },
33124 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33125 : JSJitInfo::Setter,
33126 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33127 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
33128 : false, /* isInfallible. False in setters. */
33129 : false, /* isMovable. Not relevant for setters. */
33130 : false, /* isEliminatable. Not relevant for setters. */
33131 : false, /* isAlwaysInSlot. Only relevant for getters. */
33132 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33133 : false, /* isTypedMethod. Only relevant for methods. */
33134 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33135 : };
33136 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33137 : static_assert(0 < 1, "There is no slot for us");
33138 :
33139 : static bool
33140 0 : get_paddingRight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
33141 : {
33142 0 : binding_detail::FastErrorResult rv;
33143 0 : DOMString result;
33144 0 : self->GetPaddingRight(result, rv);
33145 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33146 0 : return false;
33147 : }
33148 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33149 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
33150 0 : return false;
33151 : }
33152 0 : return true;
33153 : }
33154 :
33155 : static bool
33156 0 : set_paddingRight(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
33157 : {
33158 0 : binding_detail::FakeString arg0;
33159 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
33160 0 : return false;
33161 : }
33162 0 : binding_detail::FastErrorResult rv;
33163 0 : self->SetPaddingRight(NonNullHelper(Constify(arg0)), rv);
33164 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33165 0 : return false;
33166 : }
33167 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33168 :
33169 0 : return true;
33170 : }
33171 :
33172 : static const JSJitInfo paddingRight_getterinfo = {
33173 : { (JSJitGetterOp)get_paddingRight },
33174 : { prototypes::id::CSS2Properties },
33175 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33176 : JSJitInfo::Getter,
33177 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33178 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
33179 : false, /* isInfallible. False in setters. */
33180 : false, /* isMovable. Not relevant for setters. */
33181 : false, /* isEliminatable. Not relevant for setters. */
33182 : false, /* isAlwaysInSlot. Only relevant for getters. */
33183 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33184 : false, /* isTypedMethod. Only relevant for methods. */
33185 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33186 : };
33187 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33188 : static_assert(0 < 1, "There is no slot for us");
33189 : static const JSJitInfo paddingRight_setterinfo = {
33190 : { (JSJitGetterOp)set_paddingRight },
33191 : { prototypes::id::CSS2Properties },
33192 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33193 : JSJitInfo::Setter,
33194 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33195 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
33196 : false, /* isInfallible. False in setters. */
33197 : false, /* isMovable. Not relevant for setters. */
33198 : false, /* isEliminatable. Not relevant for setters. */
33199 : false, /* isAlwaysInSlot. Only relevant for getters. */
33200 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33201 : false, /* isTypedMethod. Only relevant for methods. */
33202 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33203 : };
33204 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33205 : static_assert(0 < 1, "There is no slot for us");
33206 :
33207 : static bool
33208 0 : get_padding_right(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
33209 : {
33210 0 : binding_detail::FastErrorResult rv;
33211 0 : DOMString result;
33212 0 : self->GetPaddingRight(result, rv);
33213 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33214 0 : return false;
33215 : }
33216 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33217 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
33218 0 : return false;
33219 : }
33220 0 : return true;
33221 : }
33222 :
33223 : static bool
33224 0 : set_padding_right(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
33225 : {
33226 0 : binding_detail::FakeString arg0;
33227 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
33228 0 : return false;
33229 : }
33230 0 : binding_detail::FastErrorResult rv;
33231 0 : self->SetPaddingRight(NonNullHelper(Constify(arg0)), rv);
33232 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33233 0 : return false;
33234 : }
33235 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33236 :
33237 0 : return true;
33238 : }
33239 :
33240 : static const JSJitInfo padding_right_getterinfo = {
33241 : { (JSJitGetterOp)get_padding_right },
33242 : { prototypes::id::CSS2Properties },
33243 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33244 : JSJitInfo::Getter,
33245 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33246 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
33247 : false, /* isInfallible. False in setters. */
33248 : false, /* isMovable. Not relevant for setters. */
33249 : false, /* isEliminatable. Not relevant for setters. */
33250 : false, /* isAlwaysInSlot. Only relevant for getters. */
33251 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33252 : false, /* isTypedMethod. Only relevant for methods. */
33253 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33254 : };
33255 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33256 : static_assert(0 < 1, "There is no slot for us");
33257 : static const JSJitInfo padding_right_setterinfo = {
33258 : { (JSJitGetterOp)set_padding_right },
33259 : { prototypes::id::CSS2Properties },
33260 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33261 : JSJitInfo::Setter,
33262 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33263 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
33264 : false, /* isInfallible. False in setters. */
33265 : false, /* isMovable. Not relevant for setters. */
33266 : false, /* isEliminatable. Not relevant for setters. */
33267 : false, /* isAlwaysInSlot. Only relevant for getters. */
33268 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33269 : false, /* isTypedMethod. Only relevant for methods. */
33270 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33271 : };
33272 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33273 : static_assert(0 < 1, "There is no slot for us");
33274 :
33275 : static bool
33276 0 : get_paddingTop(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
33277 : {
33278 0 : binding_detail::FastErrorResult rv;
33279 0 : DOMString result;
33280 0 : self->GetPaddingTop(result, rv);
33281 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33282 0 : return false;
33283 : }
33284 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33285 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
33286 0 : return false;
33287 : }
33288 0 : return true;
33289 : }
33290 :
33291 : static bool
33292 0 : set_paddingTop(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
33293 : {
33294 0 : binding_detail::FakeString arg0;
33295 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
33296 0 : return false;
33297 : }
33298 0 : binding_detail::FastErrorResult rv;
33299 0 : self->SetPaddingTop(NonNullHelper(Constify(arg0)), rv);
33300 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33301 0 : return false;
33302 : }
33303 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33304 :
33305 0 : return true;
33306 : }
33307 :
33308 : static const JSJitInfo paddingTop_getterinfo = {
33309 : { (JSJitGetterOp)get_paddingTop },
33310 : { prototypes::id::CSS2Properties },
33311 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33312 : JSJitInfo::Getter,
33313 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33314 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
33315 : false, /* isInfallible. False in setters. */
33316 : false, /* isMovable. Not relevant for setters. */
33317 : false, /* isEliminatable. Not relevant for setters. */
33318 : false, /* isAlwaysInSlot. Only relevant for getters. */
33319 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33320 : false, /* isTypedMethod. Only relevant for methods. */
33321 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33322 : };
33323 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33324 : static_assert(0 < 1, "There is no slot for us");
33325 : static const JSJitInfo paddingTop_setterinfo = {
33326 : { (JSJitGetterOp)set_paddingTop },
33327 : { prototypes::id::CSS2Properties },
33328 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33329 : JSJitInfo::Setter,
33330 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33331 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
33332 : false, /* isInfallible. False in setters. */
33333 : false, /* isMovable. Not relevant for setters. */
33334 : false, /* isEliminatable. Not relevant for setters. */
33335 : false, /* isAlwaysInSlot. Only relevant for getters. */
33336 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33337 : false, /* isTypedMethod. Only relevant for methods. */
33338 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33339 : };
33340 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33341 : static_assert(0 < 1, "There is no slot for us");
33342 :
33343 : static bool
33344 0 : get_padding_top(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
33345 : {
33346 0 : binding_detail::FastErrorResult rv;
33347 0 : DOMString result;
33348 0 : self->GetPaddingTop(result, rv);
33349 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33350 0 : return false;
33351 : }
33352 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33353 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
33354 0 : return false;
33355 : }
33356 0 : return true;
33357 : }
33358 :
33359 : static bool
33360 0 : set_padding_top(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
33361 : {
33362 0 : binding_detail::FakeString arg0;
33363 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
33364 0 : return false;
33365 : }
33366 0 : binding_detail::FastErrorResult rv;
33367 0 : self->SetPaddingTop(NonNullHelper(Constify(arg0)), rv);
33368 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33369 0 : return false;
33370 : }
33371 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33372 :
33373 0 : return true;
33374 : }
33375 :
33376 : static const JSJitInfo padding_top_getterinfo = {
33377 : { (JSJitGetterOp)get_padding_top },
33378 : { prototypes::id::CSS2Properties },
33379 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33380 : JSJitInfo::Getter,
33381 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33382 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
33383 : false, /* isInfallible. False in setters. */
33384 : false, /* isMovable. Not relevant for setters. */
33385 : false, /* isEliminatable. Not relevant for setters. */
33386 : false, /* isAlwaysInSlot. Only relevant for getters. */
33387 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33388 : false, /* isTypedMethod. Only relevant for methods. */
33389 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33390 : };
33391 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33392 : static_assert(0 < 1, "There is no slot for us");
33393 : static const JSJitInfo padding_top_setterinfo = {
33394 : { (JSJitGetterOp)set_padding_top },
33395 : { prototypes::id::CSS2Properties },
33396 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33397 : JSJitInfo::Setter,
33398 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33399 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
33400 : false, /* isInfallible. False in setters. */
33401 : false, /* isMovable. Not relevant for setters. */
33402 : false, /* isEliminatable. Not relevant for setters. */
33403 : false, /* isAlwaysInSlot. Only relevant for getters. */
33404 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33405 : false, /* isTypedMethod. Only relevant for methods. */
33406 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33407 : };
33408 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33409 : static_assert(0 < 1, "There is no slot for us");
33410 :
33411 : static bool
33412 0 : get_pageBreakAfter(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
33413 : {
33414 0 : binding_detail::FastErrorResult rv;
33415 0 : DOMString result;
33416 0 : self->GetPageBreakAfter(result, rv);
33417 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33418 0 : return false;
33419 : }
33420 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33421 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
33422 0 : return false;
33423 : }
33424 0 : return true;
33425 : }
33426 :
33427 : static bool
33428 0 : set_pageBreakAfter(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
33429 : {
33430 0 : binding_detail::FakeString arg0;
33431 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
33432 0 : return false;
33433 : }
33434 0 : binding_detail::FastErrorResult rv;
33435 0 : self->SetPageBreakAfter(NonNullHelper(Constify(arg0)), rv);
33436 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33437 0 : return false;
33438 : }
33439 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33440 :
33441 0 : return true;
33442 : }
33443 :
33444 : static const JSJitInfo pageBreakAfter_getterinfo = {
33445 : { (JSJitGetterOp)get_pageBreakAfter },
33446 : { prototypes::id::CSS2Properties },
33447 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33448 : JSJitInfo::Getter,
33449 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33450 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
33451 : false, /* isInfallible. False in setters. */
33452 : false, /* isMovable. Not relevant for setters. */
33453 : false, /* isEliminatable. Not relevant for setters. */
33454 : false, /* isAlwaysInSlot. Only relevant for getters. */
33455 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33456 : false, /* isTypedMethod. Only relevant for methods. */
33457 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33458 : };
33459 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33460 : static_assert(0 < 1, "There is no slot for us");
33461 : static const JSJitInfo pageBreakAfter_setterinfo = {
33462 : { (JSJitGetterOp)set_pageBreakAfter },
33463 : { prototypes::id::CSS2Properties },
33464 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33465 : JSJitInfo::Setter,
33466 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33467 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
33468 : false, /* isInfallible. False in setters. */
33469 : false, /* isMovable. Not relevant for setters. */
33470 : false, /* isEliminatable. Not relevant for setters. */
33471 : false, /* isAlwaysInSlot. Only relevant for getters. */
33472 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33473 : false, /* isTypedMethod. Only relevant for methods. */
33474 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33475 : };
33476 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33477 : static_assert(0 < 1, "There is no slot for us");
33478 :
33479 : static bool
33480 0 : get_page_break_after(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
33481 : {
33482 0 : binding_detail::FastErrorResult rv;
33483 0 : DOMString result;
33484 0 : self->GetPageBreakAfter(result, rv);
33485 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33486 0 : return false;
33487 : }
33488 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33489 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
33490 0 : return false;
33491 : }
33492 0 : return true;
33493 : }
33494 :
33495 : static bool
33496 0 : set_page_break_after(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
33497 : {
33498 0 : binding_detail::FakeString arg0;
33499 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
33500 0 : return false;
33501 : }
33502 0 : binding_detail::FastErrorResult rv;
33503 0 : self->SetPageBreakAfter(NonNullHelper(Constify(arg0)), rv);
33504 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33505 0 : return false;
33506 : }
33507 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33508 :
33509 0 : return true;
33510 : }
33511 :
33512 : static const JSJitInfo page_break_after_getterinfo = {
33513 : { (JSJitGetterOp)get_page_break_after },
33514 : { prototypes::id::CSS2Properties },
33515 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33516 : JSJitInfo::Getter,
33517 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33518 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
33519 : false, /* isInfallible. False in setters. */
33520 : false, /* isMovable. Not relevant for setters. */
33521 : false, /* isEliminatable. Not relevant for setters. */
33522 : false, /* isAlwaysInSlot. Only relevant for getters. */
33523 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33524 : false, /* isTypedMethod. Only relevant for methods. */
33525 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33526 : };
33527 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33528 : static_assert(0 < 1, "There is no slot for us");
33529 : static const JSJitInfo page_break_after_setterinfo = {
33530 : { (JSJitGetterOp)set_page_break_after },
33531 : { prototypes::id::CSS2Properties },
33532 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33533 : JSJitInfo::Setter,
33534 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33535 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
33536 : false, /* isInfallible. False in setters. */
33537 : false, /* isMovable. Not relevant for setters. */
33538 : false, /* isEliminatable. Not relevant for setters. */
33539 : false, /* isAlwaysInSlot. Only relevant for getters. */
33540 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33541 : false, /* isTypedMethod. Only relevant for methods. */
33542 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33543 : };
33544 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33545 : static_assert(0 < 1, "There is no slot for us");
33546 :
33547 : static bool
33548 0 : get_pageBreakBefore(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
33549 : {
33550 0 : binding_detail::FastErrorResult rv;
33551 0 : DOMString result;
33552 0 : self->GetPageBreakBefore(result, rv);
33553 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33554 0 : return false;
33555 : }
33556 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33557 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
33558 0 : return false;
33559 : }
33560 0 : return true;
33561 : }
33562 :
33563 : static bool
33564 0 : set_pageBreakBefore(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
33565 : {
33566 0 : binding_detail::FakeString arg0;
33567 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
33568 0 : return false;
33569 : }
33570 0 : binding_detail::FastErrorResult rv;
33571 0 : self->SetPageBreakBefore(NonNullHelper(Constify(arg0)), rv);
33572 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33573 0 : return false;
33574 : }
33575 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33576 :
33577 0 : return true;
33578 : }
33579 :
33580 : static const JSJitInfo pageBreakBefore_getterinfo = {
33581 : { (JSJitGetterOp)get_pageBreakBefore },
33582 : { prototypes::id::CSS2Properties },
33583 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33584 : JSJitInfo::Getter,
33585 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33586 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
33587 : false, /* isInfallible. False in setters. */
33588 : false, /* isMovable. Not relevant for setters. */
33589 : false, /* isEliminatable. Not relevant for setters. */
33590 : false, /* isAlwaysInSlot. Only relevant for getters. */
33591 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33592 : false, /* isTypedMethod. Only relevant for methods. */
33593 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33594 : };
33595 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33596 : static_assert(0 < 1, "There is no slot for us");
33597 : static const JSJitInfo pageBreakBefore_setterinfo = {
33598 : { (JSJitGetterOp)set_pageBreakBefore },
33599 : { prototypes::id::CSS2Properties },
33600 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33601 : JSJitInfo::Setter,
33602 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33603 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
33604 : false, /* isInfallible. False in setters. */
33605 : false, /* isMovable. Not relevant for setters. */
33606 : false, /* isEliminatable. Not relevant for setters. */
33607 : false, /* isAlwaysInSlot. Only relevant for getters. */
33608 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33609 : false, /* isTypedMethod. Only relevant for methods. */
33610 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33611 : };
33612 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33613 : static_assert(0 < 1, "There is no slot for us");
33614 :
33615 : static bool
33616 0 : get_page_break_before(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
33617 : {
33618 0 : binding_detail::FastErrorResult rv;
33619 0 : DOMString result;
33620 0 : self->GetPageBreakBefore(result, rv);
33621 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33622 0 : return false;
33623 : }
33624 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33625 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
33626 0 : return false;
33627 : }
33628 0 : return true;
33629 : }
33630 :
33631 : static bool
33632 0 : set_page_break_before(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
33633 : {
33634 0 : binding_detail::FakeString arg0;
33635 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
33636 0 : return false;
33637 : }
33638 0 : binding_detail::FastErrorResult rv;
33639 0 : self->SetPageBreakBefore(NonNullHelper(Constify(arg0)), rv);
33640 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33641 0 : return false;
33642 : }
33643 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33644 :
33645 0 : return true;
33646 : }
33647 :
33648 : static const JSJitInfo page_break_before_getterinfo = {
33649 : { (JSJitGetterOp)get_page_break_before },
33650 : { prototypes::id::CSS2Properties },
33651 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33652 : JSJitInfo::Getter,
33653 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33654 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
33655 : false, /* isInfallible. False in setters. */
33656 : false, /* isMovable. Not relevant for setters. */
33657 : false, /* isEliminatable. Not relevant for setters. */
33658 : false, /* isAlwaysInSlot. Only relevant for getters. */
33659 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33660 : false, /* isTypedMethod. Only relevant for methods. */
33661 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33662 : };
33663 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33664 : static_assert(0 < 1, "There is no slot for us");
33665 : static const JSJitInfo page_break_before_setterinfo = {
33666 : { (JSJitGetterOp)set_page_break_before },
33667 : { prototypes::id::CSS2Properties },
33668 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33669 : JSJitInfo::Setter,
33670 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33671 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
33672 : false, /* isInfallible. False in setters. */
33673 : false, /* isMovable. Not relevant for setters. */
33674 : false, /* isEliminatable. Not relevant for setters. */
33675 : false, /* isAlwaysInSlot. Only relevant for getters. */
33676 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33677 : false, /* isTypedMethod. Only relevant for methods. */
33678 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33679 : };
33680 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33681 : static_assert(0 < 1, "There is no slot for us");
33682 :
33683 : static bool
33684 0 : get_pageBreakInside(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
33685 : {
33686 0 : binding_detail::FastErrorResult rv;
33687 0 : DOMString result;
33688 0 : self->GetPageBreakInside(result, rv);
33689 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33690 0 : return false;
33691 : }
33692 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33693 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
33694 0 : return false;
33695 : }
33696 0 : return true;
33697 : }
33698 :
33699 : static bool
33700 0 : set_pageBreakInside(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
33701 : {
33702 0 : binding_detail::FakeString arg0;
33703 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
33704 0 : return false;
33705 : }
33706 0 : binding_detail::FastErrorResult rv;
33707 0 : self->SetPageBreakInside(NonNullHelper(Constify(arg0)), rv);
33708 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33709 0 : return false;
33710 : }
33711 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33712 :
33713 0 : return true;
33714 : }
33715 :
33716 : static const JSJitInfo pageBreakInside_getterinfo = {
33717 : { (JSJitGetterOp)get_pageBreakInside },
33718 : { prototypes::id::CSS2Properties },
33719 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33720 : JSJitInfo::Getter,
33721 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33722 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
33723 : false, /* isInfallible. False in setters. */
33724 : false, /* isMovable. Not relevant for setters. */
33725 : false, /* isEliminatable. Not relevant for setters. */
33726 : false, /* isAlwaysInSlot. Only relevant for getters. */
33727 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33728 : false, /* isTypedMethod. Only relevant for methods. */
33729 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33730 : };
33731 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33732 : static_assert(0 < 1, "There is no slot for us");
33733 : static const JSJitInfo pageBreakInside_setterinfo = {
33734 : { (JSJitGetterOp)set_pageBreakInside },
33735 : { prototypes::id::CSS2Properties },
33736 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33737 : JSJitInfo::Setter,
33738 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33739 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
33740 : false, /* isInfallible. False in setters. */
33741 : false, /* isMovable. Not relevant for setters. */
33742 : false, /* isEliminatable. Not relevant for setters. */
33743 : false, /* isAlwaysInSlot. Only relevant for getters. */
33744 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33745 : false, /* isTypedMethod. Only relevant for methods. */
33746 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33747 : };
33748 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33749 : static_assert(0 < 1, "There is no slot for us");
33750 :
33751 : static bool
33752 0 : get_page_break_inside(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
33753 : {
33754 0 : binding_detail::FastErrorResult rv;
33755 0 : DOMString result;
33756 0 : self->GetPageBreakInside(result, rv);
33757 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33758 0 : return false;
33759 : }
33760 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33761 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
33762 0 : return false;
33763 : }
33764 0 : return true;
33765 : }
33766 :
33767 : static bool
33768 0 : set_page_break_inside(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
33769 : {
33770 0 : binding_detail::FakeString arg0;
33771 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
33772 0 : return false;
33773 : }
33774 0 : binding_detail::FastErrorResult rv;
33775 0 : self->SetPageBreakInside(NonNullHelper(Constify(arg0)), rv);
33776 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33777 0 : return false;
33778 : }
33779 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33780 :
33781 0 : return true;
33782 : }
33783 :
33784 : static const JSJitInfo page_break_inside_getterinfo = {
33785 : { (JSJitGetterOp)get_page_break_inside },
33786 : { prototypes::id::CSS2Properties },
33787 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33788 : JSJitInfo::Getter,
33789 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33790 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
33791 : false, /* isInfallible. False in setters. */
33792 : false, /* isMovable. Not relevant for setters. */
33793 : false, /* isEliminatable. Not relevant for setters. */
33794 : false, /* isAlwaysInSlot. Only relevant for getters. */
33795 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33796 : false, /* isTypedMethod. Only relevant for methods. */
33797 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33798 : };
33799 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33800 : static_assert(0 < 1, "There is no slot for us");
33801 : static const JSJitInfo page_break_inside_setterinfo = {
33802 : { (JSJitGetterOp)set_page_break_inside },
33803 : { prototypes::id::CSS2Properties },
33804 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33805 : JSJitInfo::Setter,
33806 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33807 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
33808 : false, /* isInfallible. False in setters. */
33809 : false, /* isMovable. Not relevant for setters. */
33810 : false, /* isEliminatable. Not relevant for setters. */
33811 : false, /* isAlwaysInSlot. Only relevant for getters. */
33812 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33813 : false, /* isTypedMethod. Only relevant for methods. */
33814 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33815 : };
33816 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33817 : static_assert(0 < 1, "There is no slot for us");
33818 :
33819 : static bool
33820 0 : get_paintOrder(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
33821 : {
33822 0 : binding_detail::FastErrorResult rv;
33823 0 : DOMString result;
33824 0 : self->GetPaintOrder(result, rv);
33825 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33826 0 : return false;
33827 : }
33828 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33829 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
33830 0 : return false;
33831 : }
33832 0 : return true;
33833 : }
33834 :
33835 : static bool
33836 0 : set_paintOrder(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
33837 : {
33838 0 : binding_detail::FakeString arg0;
33839 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
33840 0 : return false;
33841 : }
33842 0 : binding_detail::FastErrorResult rv;
33843 0 : self->SetPaintOrder(NonNullHelper(Constify(arg0)), rv);
33844 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33845 0 : return false;
33846 : }
33847 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33848 :
33849 0 : return true;
33850 : }
33851 :
33852 : static const JSJitInfo paintOrder_getterinfo = {
33853 : { (JSJitGetterOp)get_paintOrder },
33854 : { prototypes::id::CSS2Properties },
33855 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33856 : JSJitInfo::Getter,
33857 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33858 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
33859 : false, /* isInfallible. False in setters. */
33860 : false, /* isMovable. Not relevant for setters. */
33861 : false, /* isEliminatable. Not relevant for setters. */
33862 : false, /* isAlwaysInSlot. Only relevant for getters. */
33863 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33864 : false, /* isTypedMethod. Only relevant for methods. */
33865 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33866 : };
33867 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33868 : static_assert(0 < 1, "There is no slot for us");
33869 : static const JSJitInfo paintOrder_setterinfo = {
33870 : { (JSJitGetterOp)set_paintOrder },
33871 : { prototypes::id::CSS2Properties },
33872 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33873 : JSJitInfo::Setter,
33874 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33875 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
33876 : false, /* isInfallible. False in setters. */
33877 : false, /* isMovable. Not relevant for setters. */
33878 : false, /* isEliminatable. Not relevant for setters. */
33879 : false, /* isAlwaysInSlot. Only relevant for getters. */
33880 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33881 : false, /* isTypedMethod. Only relevant for methods. */
33882 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33883 : };
33884 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33885 : static_assert(0 < 1, "There is no slot for us");
33886 :
33887 : static bool
33888 0 : get_paint_order(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
33889 : {
33890 0 : binding_detail::FastErrorResult rv;
33891 0 : DOMString result;
33892 0 : self->GetPaintOrder(result, rv);
33893 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33894 0 : return false;
33895 : }
33896 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33897 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
33898 0 : return false;
33899 : }
33900 0 : return true;
33901 : }
33902 :
33903 : static bool
33904 0 : set_paint_order(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
33905 : {
33906 0 : binding_detail::FakeString arg0;
33907 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
33908 0 : return false;
33909 : }
33910 0 : binding_detail::FastErrorResult rv;
33911 0 : self->SetPaintOrder(NonNullHelper(Constify(arg0)), rv);
33912 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33913 0 : return false;
33914 : }
33915 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33916 :
33917 0 : return true;
33918 : }
33919 :
33920 : static const JSJitInfo paint_order_getterinfo = {
33921 : { (JSJitGetterOp)get_paint_order },
33922 : { prototypes::id::CSS2Properties },
33923 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33924 : JSJitInfo::Getter,
33925 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33926 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
33927 : false, /* isInfallible. False in setters. */
33928 : false, /* isMovable. Not relevant for setters. */
33929 : false, /* isEliminatable. Not relevant for setters. */
33930 : false, /* isAlwaysInSlot. Only relevant for getters. */
33931 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33932 : false, /* isTypedMethod. Only relevant for methods. */
33933 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33934 : };
33935 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33936 : static_assert(0 < 1, "There is no slot for us");
33937 : static const JSJitInfo paint_order_setterinfo = {
33938 : { (JSJitGetterOp)set_paint_order },
33939 : { prototypes::id::CSS2Properties },
33940 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33941 : JSJitInfo::Setter,
33942 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33943 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
33944 : false, /* isInfallible. False in setters. */
33945 : false, /* isMovable. Not relevant for setters. */
33946 : false, /* isEliminatable. Not relevant for setters. */
33947 : false, /* isAlwaysInSlot. Only relevant for getters. */
33948 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
33949 : false, /* isTypedMethod. Only relevant for methods. */
33950 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
33951 : };
33952 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
33953 : static_assert(0 < 1, "There is no slot for us");
33954 :
33955 : static bool
33956 0 : get_perspective(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
33957 : {
33958 0 : binding_detail::FastErrorResult rv;
33959 0 : DOMString result;
33960 0 : self->GetPerspective(result, rv);
33961 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33962 0 : return false;
33963 : }
33964 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33965 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
33966 0 : return false;
33967 : }
33968 0 : return true;
33969 : }
33970 :
33971 : static bool
33972 0 : set_perspective(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
33973 : {
33974 0 : binding_detail::FakeString arg0;
33975 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
33976 0 : return false;
33977 : }
33978 0 : binding_detail::FastErrorResult rv;
33979 0 : self->SetPerspective(NonNullHelper(Constify(arg0)), rv);
33980 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
33981 0 : return false;
33982 : }
33983 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
33984 :
33985 0 : return true;
33986 : }
33987 :
33988 : static const JSJitInfo perspective_getterinfo = {
33989 : { (JSJitGetterOp)get_perspective },
33990 : { prototypes::id::CSS2Properties },
33991 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
33992 : JSJitInfo::Getter,
33993 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
33994 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
33995 : false, /* isInfallible. False in setters. */
33996 : false, /* isMovable. Not relevant for setters. */
33997 : false, /* isEliminatable. Not relevant for setters. */
33998 : false, /* isAlwaysInSlot. Only relevant for getters. */
33999 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34000 : false, /* isTypedMethod. Only relevant for methods. */
34001 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34002 : };
34003 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34004 : static_assert(0 < 1, "There is no slot for us");
34005 : static const JSJitInfo perspective_setterinfo = {
34006 : { (JSJitGetterOp)set_perspective },
34007 : { prototypes::id::CSS2Properties },
34008 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34009 : JSJitInfo::Setter,
34010 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34011 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
34012 : false, /* isInfallible. False in setters. */
34013 : false, /* isMovable. Not relevant for setters. */
34014 : false, /* isEliminatable. Not relevant for setters. */
34015 : false, /* isAlwaysInSlot. Only relevant for getters. */
34016 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34017 : false, /* isTypedMethod. Only relevant for methods. */
34018 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34019 : };
34020 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34021 : static_assert(0 < 1, "There is no slot for us");
34022 :
34023 : static bool
34024 0 : get_perspectiveOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
34025 : {
34026 0 : binding_detail::FastErrorResult rv;
34027 0 : DOMString result;
34028 0 : self->GetPerspectiveOrigin(result, rv);
34029 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34030 0 : return false;
34031 : }
34032 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34033 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34034 0 : return false;
34035 : }
34036 0 : return true;
34037 : }
34038 :
34039 : static bool
34040 0 : set_perspectiveOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
34041 : {
34042 0 : binding_detail::FakeString arg0;
34043 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
34044 0 : return false;
34045 : }
34046 0 : binding_detail::FastErrorResult rv;
34047 0 : self->SetPerspectiveOrigin(NonNullHelper(Constify(arg0)), rv);
34048 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34049 0 : return false;
34050 : }
34051 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34052 :
34053 0 : return true;
34054 : }
34055 :
34056 : static const JSJitInfo perspectiveOrigin_getterinfo = {
34057 : { (JSJitGetterOp)get_perspectiveOrigin },
34058 : { prototypes::id::CSS2Properties },
34059 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34060 : JSJitInfo::Getter,
34061 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34062 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
34063 : false, /* isInfallible. False in setters. */
34064 : false, /* isMovable. Not relevant for setters. */
34065 : false, /* isEliminatable. Not relevant for setters. */
34066 : false, /* isAlwaysInSlot. Only relevant for getters. */
34067 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34068 : false, /* isTypedMethod. Only relevant for methods. */
34069 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34070 : };
34071 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34072 : static_assert(0 < 1, "There is no slot for us");
34073 : static const JSJitInfo perspectiveOrigin_setterinfo = {
34074 : { (JSJitGetterOp)set_perspectiveOrigin },
34075 : { prototypes::id::CSS2Properties },
34076 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34077 : JSJitInfo::Setter,
34078 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34079 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
34080 : false, /* isInfallible. False in setters. */
34081 : false, /* isMovable. Not relevant for setters. */
34082 : false, /* isEliminatable. Not relevant for setters. */
34083 : false, /* isAlwaysInSlot. Only relevant for getters. */
34084 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34085 : false, /* isTypedMethod. Only relevant for methods. */
34086 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34087 : };
34088 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34089 : static_assert(0 < 1, "There is no slot for us");
34090 :
34091 : static bool
34092 0 : get_perspective_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
34093 : {
34094 0 : binding_detail::FastErrorResult rv;
34095 0 : DOMString result;
34096 0 : self->GetPerspectiveOrigin(result, rv);
34097 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34098 0 : return false;
34099 : }
34100 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34101 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34102 0 : return false;
34103 : }
34104 0 : return true;
34105 : }
34106 :
34107 : static bool
34108 0 : set_perspective_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
34109 : {
34110 0 : binding_detail::FakeString arg0;
34111 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
34112 0 : return false;
34113 : }
34114 0 : binding_detail::FastErrorResult rv;
34115 0 : self->SetPerspectiveOrigin(NonNullHelper(Constify(arg0)), rv);
34116 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34117 0 : return false;
34118 : }
34119 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34120 :
34121 0 : return true;
34122 : }
34123 :
34124 : static const JSJitInfo perspective_origin_getterinfo = {
34125 : { (JSJitGetterOp)get_perspective_origin },
34126 : { prototypes::id::CSS2Properties },
34127 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34128 : JSJitInfo::Getter,
34129 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34130 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
34131 : false, /* isInfallible. False in setters. */
34132 : false, /* isMovable. Not relevant for setters. */
34133 : false, /* isEliminatable. Not relevant for setters. */
34134 : false, /* isAlwaysInSlot. Only relevant for getters. */
34135 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34136 : false, /* isTypedMethod. Only relevant for methods. */
34137 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34138 : };
34139 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34140 : static_assert(0 < 1, "There is no slot for us");
34141 : static const JSJitInfo perspective_origin_setterinfo = {
34142 : { (JSJitGetterOp)set_perspective_origin },
34143 : { prototypes::id::CSS2Properties },
34144 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34145 : JSJitInfo::Setter,
34146 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34147 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
34148 : false, /* isInfallible. False in setters. */
34149 : false, /* isMovable. Not relevant for setters. */
34150 : false, /* isEliminatable. Not relevant for setters. */
34151 : false, /* isAlwaysInSlot. Only relevant for getters. */
34152 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34153 : false, /* isTypedMethod. Only relevant for methods. */
34154 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34155 : };
34156 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34157 : static_assert(0 < 1, "There is no slot for us");
34158 :
34159 : static bool
34160 0 : get_placeContent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
34161 : {
34162 0 : binding_detail::FastErrorResult rv;
34163 0 : DOMString result;
34164 0 : self->GetPlaceContent(result, rv);
34165 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34166 0 : return false;
34167 : }
34168 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34169 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34170 0 : return false;
34171 : }
34172 0 : return true;
34173 : }
34174 :
34175 : static bool
34176 0 : set_placeContent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
34177 : {
34178 0 : binding_detail::FakeString arg0;
34179 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
34180 0 : return false;
34181 : }
34182 0 : binding_detail::FastErrorResult rv;
34183 0 : self->SetPlaceContent(NonNullHelper(Constify(arg0)), rv);
34184 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34185 0 : return false;
34186 : }
34187 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34188 :
34189 0 : return true;
34190 : }
34191 :
34192 : static const JSJitInfo placeContent_getterinfo = {
34193 : { (JSJitGetterOp)get_placeContent },
34194 : { prototypes::id::CSS2Properties },
34195 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34196 : JSJitInfo::Getter,
34197 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34198 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
34199 : false, /* isInfallible. False in setters. */
34200 : false, /* isMovable. Not relevant for setters. */
34201 : false, /* isEliminatable. Not relevant for setters. */
34202 : false, /* isAlwaysInSlot. Only relevant for getters. */
34203 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34204 : false, /* isTypedMethod. Only relevant for methods. */
34205 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34206 : };
34207 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34208 : static_assert(0 < 1, "There is no slot for us");
34209 : static const JSJitInfo placeContent_setterinfo = {
34210 : { (JSJitGetterOp)set_placeContent },
34211 : { prototypes::id::CSS2Properties },
34212 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34213 : JSJitInfo::Setter,
34214 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34215 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
34216 : false, /* isInfallible. False in setters. */
34217 : false, /* isMovable. Not relevant for setters. */
34218 : false, /* isEliminatable. Not relevant for setters. */
34219 : false, /* isAlwaysInSlot. Only relevant for getters. */
34220 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34221 : false, /* isTypedMethod. Only relevant for methods. */
34222 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34223 : };
34224 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34225 : static_assert(0 < 1, "There is no slot for us");
34226 :
34227 : static bool
34228 0 : get_place_content(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
34229 : {
34230 0 : binding_detail::FastErrorResult rv;
34231 0 : DOMString result;
34232 0 : self->GetPlaceContent(result, rv);
34233 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34234 0 : return false;
34235 : }
34236 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34237 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34238 0 : return false;
34239 : }
34240 0 : return true;
34241 : }
34242 :
34243 : static bool
34244 0 : set_place_content(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
34245 : {
34246 0 : binding_detail::FakeString arg0;
34247 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
34248 0 : return false;
34249 : }
34250 0 : binding_detail::FastErrorResult rv;
34251 0 : self->SetPlaceContent(NonNullHelper(Constify(arg0)), rv);
34252 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34253 0 : return false;
34254 : }
34255 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34256 :
34257 0 : return true;
34258 : }
34259 :
34260 : static const JSJitInfo place_content_getterinfo = {
34261 : { (JSJitGetterOp)get_place_content },
34262 : { prototypes::id::CSS2Properties },
34263 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34264 : JSJitInfo::Getter,
34265 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34266 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
34267 : false, /* isInfallible. False in setters. */
34268 : false, /* isMovable. Not relevant for setters. */
34269 : false, /* isEliminatable. Not relevant for setters. */
34270 : false, /* isAlwaysInSlot. Only relevant for getters. */
34271 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34272 : false, /* isTypedMethod. Only relevant for methods. */
34273 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34274 : };
34275 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34276 : static_assert(0 < 1, "There is no slot for us");
34277 : static const JSJitInfo place_content_setterinfo = {
34278 : { (JSJitGetterOp)set_place_content },
34279 : { prototypes::id::CSS2Properties },
34280 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34281 : JSJitInfo::Setter,
34282 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34283 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
34284 : false, /* isInfallible. False in setters. */
34285 : false, /* isMovable. Not relevant for setters. */
34286 : false, /* isEliminatable. Not relevant for setters. */
34287 : false, /* isAlwaysInSlot. Only relevant for getters. */
34288 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34289 : false, /* isTypedMethod. Only relevant for methods. */
34290 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34291 : };
34292 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34293 : static_assert(0 < 1, "There is no slot for us");
34294 :
34295 : static bool
34296 0 : get_placeItems(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
34297 : {
34298 0 : binding_detail::FastErrorResult rv;
34299 0 : DOMString result;
34300 0 : self->GetPlaceItems(result, rv);
34301 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34302 0 : return false;
34303 : }
34304 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34305 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34306 0 : return false;
34307 : }
34308 0 : return true;
34309 : }
34310 :
34311 : static bool
34312 0 : set_placeItems(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
34313 : {
34314 0 : binding_detail::FakeString arg0;
34315 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
34316 0 : return false;
34317 : }
34318 0 : binding_detail::FastErrorResult rv;
34319 0 : self->SetPlaceItems(NonNullHelper(Constify(arg0)), rv);
34320 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34321 0 : return false;
34322 : }
34323 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34324 :
34325 0 : return true;
34326 : }
34327 :
34328 : static const JSJitInfo placeItems_getterinfo = {
34329 : { (JSJitGetterOp)get_placeItems },
34330 : { prototypes::id::CSS2Properties },
34331 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34332 : JSJitInfo::Getter,
34333 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34334 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
34335 : false, /* isInfallible. False in setters. */
34336 : false, /* isMovable. Not relevant for setters. */
34337 : false, /* isEliminatable. Not relevant for setters. */
34338 : false, /* isAlwaysInSlot. Only relevant for getters. */
34339 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34340 : false, /* isTypedMethod. Only relevant for methods. */
34341 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34342 : };
34343 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34344 : static_assert(0 < 1, "There is no slot for us");
34345 : static const JSJitInfo placeItems_setterinfo = {
34346 : { (JSJitGetterOp)set_placeItems },
34347 : { prototypes::id::CSS2Properties },
34348 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34349 : JSJitInfo::Setter,
34350 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34351 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
34352 : false, /* isInfallible. False in setters. */
34353 : false, /* isMovable. Not relevant for setters. */
34354 : false, /* isEliminatable. Not relevant for setters. */
34355 : false, /* isAlwaysInSlot. Only relevant for getters. */
34356 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34357 : false, /* isTypedMethod. Only relevant for methods. */
34358 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34359 : };
34360 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34361 : static_assert(0 < 1, "There is no slot for us");
34362 :
34363 : static bool
34364 0 : get_place_items(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
34365 : {
34366 0 : binding_detail::FastErrorResult rv;
34367 0 : DOMString result;
34368 0 : self->GetPlaceItems(result, rv);
34369 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34370 0 : return false;
34371 : }
34372 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34373 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34374 0 : return false;
34375 : }
34376 0 : return true;
34377 : }
34378 :
34379 : static bool
34380 0 : set_place_items(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
34381 : {
34382 0 : binding_detail::FakeString arg0;
34383 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
34384 0 : return false;
34385 : }
34386 0 : binding_detail::FastErrorResult rv;
34387 0 : self->SetPlaceItems(NonNullHelper(Constify(arg0)), rv);
34388 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34389 0 : return false;
34390 : }
34391 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34392 :
34393 0 : return true;
34394 : }
34395 :
34396 : static const JSJitInfo place_items_getterinfo = {
34397 : { (JSJitGetterOp)get_place_items },
34398 : { prototypes::id::CSS2Properties },
34399 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34400 : JSJitInfo::Getter,
34401 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34402 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
34403 : false, /* isInfallible. False in setters. */
34404 : false, /* isMovable. Not relevant for setters. */
34405 : false, /* isEliminatable. Not relevant for setters. */
34406 : false, /* isAlwaysInSlot. Only relevant for getters. */
34407 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34408 : false, /* isTypedMethod. Only relevant for methods. */
34409 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34410 : };
34411 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34412 : static_assert(0 < 1, "There is no slot for us");
34413 : static const JSJitInfo place_items_setterinfo = {
34414 : { (JSJitGetterOp)set_place_items },
34415 : { prototypes::id::CSS2Properties },
34416 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34417 : JSJitInfo::Setter,
34418 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34419 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
34420 : false, /* isInfallible. False in setters. */
34421 : false, /* isMovable. Not relevant for setters. */
34422 : false, /* isEliminatable. Not relevant for setters. */
34423 : false, /* isAlwaysInSlot. Only relevant for getters. */
34424 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34425 : false, /* isTypedMethod. Only relevant for methods. */
34426 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34427 : };
34428 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34429 : static_assert(0 < 1, "There is no slot for us");
34430 :
34431 : static bool
34432 0 : get_placeSelf(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
34433 : {
34434 0 : binding_detail::FastErrorResult rv;
34435 0 : DOMString result;
34436 0 : self->GetPlaceSelf(result, rv);
34437 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34438 0 : return false;
34439 : }
34440 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34441 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34442 0 : return false;
34443 : }
34444 0 : return true;
34445 : }
34446 :
34447 : static bool
34448 0 : set_placeSelf(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
34449 : {
34450 0 : binding_detail::FakeString arg0;
34451 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
34452 0 : return false;
34453 : }
34454 0 : binding_detail::FastErrorResult rv;
34455 0 : self->SetPlaceSelf(NonNullHelper(Constify(arg0)), rv);
34456 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34457 0 : return false;
34458 : }
34459 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34460 :
34461 0 : return true;
34462 : }
34463 :
34464 : static const JSJitInfo placeSelf_getterinfo = {
34465 : { (JSJitGetterOp)get_placeSelf },
34466 : { prototypes::id::CSS2Properties },
34467 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34468 : JSJitInfo::Getter,
34469 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34470 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
34471 : false, /* isInfallible. False in setters. */
34472 : false, /* isMovable. Not relevant for setters. */
34473 : false, /* isEliminatable. Not relevant for setters. */
34474 : false, /* isAlwaysInSlot. Only relevant for getters. */
34475 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34476 : false, /* isTypedMethod. Only relevant for methods. */
34477 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34478 : };
34479 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34480 : static_assert(0 < 1, "There is no slot for us");
34481 : static const JSJitInfo placeSelf_setterinfo = {
34482 : { (JSJitGetterOp)set_placeSelf },
34483 : { prototypes::id::CSS2Properties },
34484 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34485 : JSJitInfo::Setter,
34486 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34487 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
34488 : false, /* isInfallible. False in setters. */
34489 : false, /* isMovable. Not relevant for setters. */
34490 : false, /* isEliminatable. Not relevant for setters. */
34491 : false, /* isAlwaysInSlot. Only relevant for getters. */
34492 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34493 : false, /* isTypedMethod. Only relevant for methods. */
34494 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34495 : };
34496 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34497 : static_assert(0 < 1, "There is no slot for us");
34498 :
34499 : static bool
34500 0 : get_place_self(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
34501 : {
34502 0 : binding_detail::FastErrorResult rv;
34503 0 : DOMString result;
34504 0 : self->GetPlaceSelf(result, rv);
34505 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34506 0 : return false;
34507 : }
34508 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34509 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34510 0 : return false;
34511 : }
34512 0 : return true;
34513 : }
34514 :
34515 : static bool
34516 0 : set_place_self(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
34517 : {
34518 0 : binding_detail::FakeString arg0;
34519 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
34520 0 : return false;
34521 : }
34522 0 : binding_detail::FastErrorResult rv;
34523 0 : self->SetPlaceSelf(NonNullHelper(Constify(arg0)), rv);
34524 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34525 0 : return false;
34526 : }
34527 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34528 :
34529 0 : return true;
34530 : }
34531 :
34532 : static const JSJitInfo place_self_getterinfo = {
34533 : { (JSJitGetterOp)get_place_self },
34534 : { prototypes::id::CSS2Properties },
34535 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34536 : JSJitInfo::Getter,
34537 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34538 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
34539 : false, /* isInfallible. False in setters. */
34540 : false, /* isMovable. Not relevant for setters. */
34541 : false, /* isEliminatable. Not relevant for setters. */
34542 : false, /* isAlwaysInSlot. Only relevant for getters. */
34543 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34544 : false, /* isTypedMethod. Only relevant for methods. */
34545 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34546 : };
34547 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34548 : static_assert(0 < 1, "There is no slot for us");
34549 : static const JSJitInfo place_self_setterinfo = {
34550 : { (JSJitGetterOp)set_place_self },
34551 : { prototypes::id::CSS2Properties },
34552 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34553 : JSJitInfo::Setter,
34554 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34555 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
34556 : false, /* isInfallible. False in setters. */
34557 : false, /* isMovable. Not relevant for setters. */
34558 : false, /* isEliminatable. Not relevant for setters. */
34559 : false, /* isAlwaysInSlot. Only relevant for getters. */
34560 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34561 : false, /* isTypedMethod. Only relevant for methods. */
34562 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34563 : };
34564 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34565 : static_assert(0 < 1, "There is no slot for us");
34566 :
34567 : static bool
34568 0 : get_pointerEvents(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
34569 : {
34570 0 : binding_detail::FastErrorResult rv;
34571 0 : DOMString result;
34572 0 : self->GetPointerEvents(result, rv);
34573 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34574 0 : return false;
34575 : }
34576 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34577 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34578 0 : return false;
34579 : }
34580 0 : return true;
34581 : }
34582 :
34583 : static bool
34584 1 : set_pointerEvents(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
34585 : {
34586 2 : binding_detail::FakeString arg0;
34587 1 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
34588 0 : return false;
34589 : }
34590 2 : binding_detail::FastErrorResult rv;
34591 1 : self->SetPointerEvents(NonNullHelper(Constify(arg0)), rv);
34592 1 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34593 0 : return false;
34594 : }
34595 1 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34596 :
34597 1 : return true;
34598 : }
34599 :
34600 : static const JSJitInfo pointerEvents_getterinfo = {
34601 : { (JSJitGetterOp)get_pointerEvents },
34602 : { prototypes::id::CSS2Properties },
34603 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34604 : JSJitInfo::Getter,
34605 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34606 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
34607 : false, /* isInfallible. False in setters. */
34608 : false, /* isMovable. Not relevant for setters. */
34609 : false, /* isEliminatable. Not relevant for setters. */
34610 : false, /* isAlwaysInSlot. Only relevant for getters. */
34611 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34612 : false, /* isTypedMethod. Only relevant for methods. */
34613 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34614 : };
34615 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34616 : static_assert(0 < 1, "There is no slot for us");
34617 : static const JSJitInfo pointerEvents_setterinfo = {
34618 : { (JSJitGetterOp)set_pointerEvents },
34619 : { prototypes::id::CSS2Properties },
34620 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34621 : JSJitInfo::Setter,
34622 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34623 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
34624 : false, /* isInfallible. False in setters. */
34625 : false, /* isMovable. Not relevant for setters. */
34626 : false, /* isEliminatable. Not relevant for setters. */
34627 : false, /* isAlwaysInSlot. Only relevant for getters. */
34628 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34629 : false, /* isTypedMethod. Only relevant for methods. */
34630 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34631 : };
34632 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34633 : static_assert(0 < 1, "There is no slot for us");
34634 :
34635 : static bool
34636 0 : get_pointer_events(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
34637 : {
34638 0 : binding_detail::FastErrorResult rv;
34639 0 : DOMString result;
34640 0 : self->GetPointerEvents(result, rv);
34641 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34642 0 : return false;
34643 : }
34644 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34645 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34646 0 : return false;
34647 : }
34648 0 : return true;
34649 : }
34650 :
34651 : static bool
34652 0 : set_pointer_events(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
34653 : {
34654 0 : binding_detail::FakeString arg0;
34655 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
34656 0 : return false;
34657 : }
34658 0 : binding_detail::FastErrorResult rv;
34659 0 : self->SetPointerEvents(NonNullHelper(Constify(arg0)), rv);
34660 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34661 0 : return false;
34662 : }
34663 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34664 :
34665 0 : return true;
34666 : }
34667 :
34668 : static const JSJitInfo pointer_events_getterinfo = {
34669 : { (JSJitGetterOp)get_pointer_events },
34670 : { prototypes::id::CSS2Properties },
34671 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34672 : JSJitInfo::Getter,
34673 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34674 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
34675 : false, /* isInfallible. False in setters. */
34676 : false, /* isMovable. Not relevant for setters. */
34677 : false, /* isEliminatable. Not relevant for setters. */
34678 : false, /* isAlwaysInSlot. Only relevant for getters. */
34679 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34680 : false, /* isTypedMethod. Only relevant for methods. */
34681 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34682 : };
34683 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34684 : static_assert(0 < 1, "There is no slot for us");
34685 : static const JSJitInfo pointer_events_setterinfo = {
34686 : { (JSJitGetterOp)set_pointer_events },
34687 : { prototypes::id::CSS2Properties },
34688 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34689 : JSJitInfo::Setter,
34690 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34691 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
34692 : false, /* isInfallible. False in setters. */
34693 : false, /* isMovable. Not relevant for setters. */
34694 : false, /* isEliminatable. Not relevant for setters. */
34695 : false, /* isAlwaysInSlot. Only relevant for getters. */
34696 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34697 : false, /* isTypedMethod. Only relevant for methods. */
34698 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34699 : };
34700 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34701 : static_assert(0 < 1, "There is no slot for us");
34702 :
34703 : static bool
34704 0 : get_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
34705 : {
34706 0 : binding_detail::FastErrorResult rv;
34707 0 : DOMString result;
34708 0 : self->GetPosition(result, rv);
34709 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34710 0 : return false;
34711 : }
34712 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34713 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34714 0 : return false;
34715 : }
34716 0 : return true;
34717 : }
34718 :
34719 : static bool
34720 0 : set_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
34721 : {
34722 0 : binding_detail::FakeString arg0;
34723 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
34724 0 : return false;
34725 : }
34726 0 : binding_detail::FastErrorResult rv;
34727 0 : self->SetPosition(NonNullHelper(Constify(arg0)), rv);
34728 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34729 0 : return false;
34730 : }
34731 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34732 :
34733 0 : return true;
34734 : }
34735 :
34736 : static const JSJitInfo position_getterinfo = {
34737 : { (JSJitGetterOp)get_position },
34738 : { prototypes::id::CSS2Properties },
34739 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34740 : JSJitInfo::Getter,
34741 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34742 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
34743 : false, /* isInfallible. False in setters. */
34744 : false, /* isMovable. Not relevant for setters. */
34745 : false, /* isEliminatable. Not relevant for setters. */
34746 : false, /* isAlwaysInSlot. Only relevant for getters. */
34747 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34748 : false, /* isTypedMethod. Only relevant for methods. */
34749 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34750 : };
34751 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34752 : static_assert(0 < 1, "There is no slot for us");
34753 : static const JSJitInfo position_setterinfo = {
34754 : { (JSJitGetterOp)set_position },
34755 : { prototypes::id::CSS2Properties },
34756 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34757 : JSJitInfo::Setter,
34758 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34759 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
34760 : false, /* isInfallible. False in setters. */
34761 : false, /* isMovable. Not relevant for setters. */
34762 : false, /* isEliminatable. Not relevant for setters. */
34763 : false, /* isAlwaysInSlot. Only relevant for getters. */
34764 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34765 : false, /* isTypedMethod. Only relevant for methods. */
34766 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34767 : };
34768 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34769 : static_assert(0 < 1, "There is no slot for us");
34770 :
34771 : static bool
34772 0 : get_quotes(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
34773 : {
34774 0 : binding_detail::FastErrorResult rv;
34775 0 : DOMString result;
34776 0 : self->GetQuotes(result, rv);
34777 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34778 0 : return false;
34779 : }
34780 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34781 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34782 0 : return false;
34783 : }
34784 0 : return true;
34785 : }
34786 :
34787 : static bool
34788 0 : set_quotes(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
34789 : {
34790 0 : binding_detail::FakeString arg0;
34791 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
34792 0 : return false;
34793 : }
34794 0 : binding_detail::FastErrorResult rv;
34795 0 : self->SetQuotes(NonNullHelper(Constify(arg0)), rv);
34796 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34797 0 : return false;
34798 : }
34799 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34800 :
34801 0 : return true;
34802 : }
34803 :
34804 : static const JSJitInfo quotes_getterinfo = {
34805 : { (JSJitGetterOp)get_quotes },
34806 : { prototypes::id::CSS2Properties },
34807 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34808 : JSJitInfo::Getter,
34809 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34810 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
34811 : false, /* isInfallible. False in setters. */
34812 : false, /* isMovable. Not relevant for setters. */
34813 : false, /* isEliminatable. Not relevant for setters. */
34814 : false, /* isAlwaysInSlot. Only relevant for getters. */
34815 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34816 : false, /* isTypedMethod. Only relevant for methods. */
34817 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34818 : };
34819 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34820 : static_assert(0 < 1, "There is no slot for us");
34821 : static const JSJitInfo quotes_setterinfo = {
34822 : { (JSJitGetterOp)set_quotes },
34823 : { prototypes::id::CSS2Properties },
34824 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34825 : JSJitInfo::Setter,
34826 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34827 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
34828 : false, /* isInfallible. False in setters. */
34829 : false, /* isMovable. Not relevant for setters. */
34830 : false, /* isEliminatable. Not relevant for setters. */
34831 : false, /* isAlwaysInSlot. Only relevant for getters. */
34832 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34833 : false, /* isTypedMethod. Only relevant for methods. */
34834 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34835 : };
34836 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34837 : static_assert(0 < 1, "There is no slot for us");
34838 :
34839 : static bool
34840 0 : get_resize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
34841 : {
34842 0 : binding_detail::FastErrorResult rv;
34843 0 : DOMString result;
34844 0 : self->GetResize(result, rv);
34845 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34846 0 : return false;
34847 : }
34848 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34849 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34850 0 : return false;
34851 : }
34852 0 : return true;
34853 : }
34854 :
34855 : static bool
34856 0 : set_resize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
34857 : {
34858 0 : binding_detail::FakeString arg0;
34859 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
34860 0 : return false;
34861 : }
34862 0 : binding_detail::FastErrorResult rv;
34863 0 : self->SetResize(NonNullHelper(Constify(arg0)), rv);
34864 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34865 0 : return false;
34866 : }
34867 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34868 :
34869 0 : return true;
34870 : }
34871 :
34872 : static const JSJitInfo resize_getterinfo = {
34873 : { (JSJitGetterOp)get_resize },
34874 : { prototypes::id::CSS2Properties },
34875 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34876 : JSJitInfo::Getter,
34877 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34878 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
34879 : false, /* isInfallible. False in setters. */
34880 : false, /* isMovable. Not relevant for setters. */
34881 : false, /* isEliminatable. Not relevant for setters. */
34882 : false, /* isAlwaysInSlot. Only relevant for getters. */
34883 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34884 : false, /* isTypedMethod. Only relevant for methods. */
34885 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34886 : };
34887 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34888 : static_assert(0 < 1, "There is no slot for us");
34889 : static const JSJitInfo resize_setterinfo = {
34890 : { (JSJitGetterOp)set_resize },
34891 : { prototypes::id::CSS2Properties },
34892 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34893 : JSJitInfo::Setter,
34894 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34895 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
34896 : false, /* isInfallible. False in setters. */
34897 : false, /* isMovable. Not relevant for setters. */
34898 : false, /* isEliminatable. Not relevant for setters. */
34899 : false, /* isAlwaysInSlot. Only relevant for getters. */
34900 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34901 : false, /* isTypedMethod. Only relevant for methods. */
34902 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34903 : };
34904 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34905 : static_assert(0 < 1, "There is no slot for us");
34906 :
34907 : static bool
34908 0 : get_right(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
34909 : {
34910 0 : binding_detail::FastErrorResult rv;
34911 0 : DOMString result;
34912 0 : self->GetRight(result, rv);
34913 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34914 0 : return false;
34915 : }
34916 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34917 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34918 0 : return false;
34919 : }
34920 0 : return true;
34921 : }
34922 :
34923 : static bool
34924 0 : set_right(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
34925 : {
34926 0 : binding_detail::FakeString arg0;
34927 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
34928 0 : return false;
34929 : }
34930 0 : binding_detail::FastErrorResult rv;
34931 0 : self->SetRight(NonNullHelper(Constify(arg0)), rv);
34932 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34933 0 : return false;
34934 : }
34935 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34936 :
34937 0 : return true;
34938 : }
34939 :
34940 : static const JSJitInfo right_getterinfo = {
34941 : { (JSJitGetterOp)get_right },
34942 : { prototypes::id::CSS2Properties },
34943 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34944 : JSJitInfo::Getter,
34945 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34946 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
34947 : false, /* isInfallible. False in setters. */
34948 : false, /* isMovable. Not relevant for setters. */
34949 : false, /* isEliminatable. Not relevant for setters. */
34950 : false, /* isAlwaysInSlot. Only relevant for getters. */
34951 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34952 : false, /* isTypedMethod. Only relevant for methods. */
34953 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34954 : };
34955 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34956 : static_assert(0 < 1, "There is no slot for us");
34957 : static const JSJitInfo right_setterinfo = {
34958 : { (JSJitGetterOp)set_right },
34959 : { prototypes::id::CSS2Properties },
34960 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
34961 : JSJitInfo::Setter,
34962 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
34963 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
34964 : false, /* isInfallible. False in setters. */
34965 : false, /* isMovable. Not relevant for setters. */
34966 : false, /* isEliminatable. Not relevant for setters. */
34967 : false, /* isAlwaysInSlot. Only relevant for getters. */
34968 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
34969 : false, /* isTypedMethod. Only relevant for methods. */
34970 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
34971 : };
34972 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
34973 : static_assert(0 < 1, "There is no slot for us");
34974 :
34975 : static bool
34976 0 : get_rubyAlign(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
34977 : {
34978 0 : binding_detail::FastErrorResult rv;
34979 0 : DOMString result;
34980 0 : self->GetRubyAlign(result, rv);
34981 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
34982 0 : return false;
34983 : }
34984 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
34985 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
34986 0 : return false;
34987 : }
34988 0 : return true;
34989 : }
34990 :
34991 : static bool
34992 0 : set_rubyAlign(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
34993 : {
34994 0 : binding_detail::FakeString arg0;
34995 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
34996 0 : return false;
34997 : }
34998 0 : binding_detail::FastErrorResult rv;
34999 0 : self->SetRubyAlign(NonNullHelper(Constify(arg0)), rv);
35000 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35001 0 : return false;
35002 : }
35003 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35004 :
35005 0 : return true;
35006 : }
35007 :
35008 : static const JSJitInfo rubyAlign_getterinfo = {
35009 : { (JSJitGetterOp)get_rubyAlign },
35010 : { prototypes::id::CSS2Properties },
35011 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35012 : JSJitInfo::Getter,
35013 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35014 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
35015 : false, /* isInfallible. False in setters. */
35016 : false, /* isMovable. Not relevant for setters. */
35017 : false, /* isEliminatable. Not relevant for setters. */
35018 : false, /* isAlwaysInSlot. Only relevant for getters. */
35019 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35020 : false, /* isTypedMethod. Only relevant for methods. */
35021 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35022 : };
35023 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35024 : static_assert(0 < 1, "There is no slot for us");
35025 : static const JSJitInfo rubyAlign_setterinfo = {
35026 : { (JSJitGetterOp)set_rubyAlign },
35027 : { prototypes::id::CSS2Properties },
35028 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35029 : JSJitInfo::Setter,
35030 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35031 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
35032 : false, /* isInfallible. False in setters. */
35033 : false, /* isMovable. Not relevant for setters. */
35034 : false, /* isEliminatable. Not relevant for setters. */
35035 : false, /* isAlwaysInSlot. Only relevant for getters. */
35036 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35037 : false, /* isTypedMethod. Only relevant for methods. */
35038 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35039 : };
35040 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35041 : static_assert(0 < 1, "There is no slot for us");
35042 :
35043 : static bool
35044 0 : get_ruby_align(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
35045 : {
35046 0 : binding_detail::FastErrorResult rv;
35047 0 : DOMString result;
35048 0 : self->GetRubyAlign(result, rv);
35049 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35050 0 : return false;
35051 : }
35052 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35053 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
35054 0 : return false;
35055 : }
35056 0 : return true;
35057 : }
35058 :
35059 : static bool
35060 0 : set_ruby_align(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
35061 : {
35062 0 : binding_detail::FakeString arg0;
35063 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
35064 0 : return false;
35065 : }
35066 0 : binding_detail::FastErrorResult rv;
35067 0 : self->SetRubyAlign(NonNullHelper(Constify(arg0)), rv);
35068 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35069 0 : return false;
35070 : }
35071 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35072 :
35073 0 : return true;
35074 : }
35075 :
35076 : static const JSJitInfo ruby_align_getterinfo = {
35077 : { (JSJitGetterOp)get_ruby_align },
35078 : { prototypes::id::CSS2Properties },
35079 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35080 : JSJitInfo::Getter,
35081 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35082 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
35083 : false, /* isInfallible. False in setters. */
35084 : false, /* isMovable. Not relevant for setters. */
35085 : false, /* isEliminatable. Not relevant for setters. */
35086 : false, /* isAlwaysInSlot. Only relevant for getters. */
35087 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35088 : false, /* isTypedMethod. Only relevant for methods. */
35089 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35090 : };
35091 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35092 : static_assert(0 < 1, "There is no slot for us");
35093 : static const JSJitInfo ruby_align_setterinfo = {
35094 : { (JSJitGetterOp)set_ruby_align },
35095 : { prototypes::id::CSS2Properties },
35096 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35097 : JSJitInfo::Setter,
35098 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35099 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
35100 : false, /* isInfallible. False in setters. */
35101 : false, /* isMovable. Not relevant for setters. */
35102 : false, /* isEliminatable. Not relevant for setters. */
35103 : false, /* isAlwaysInSlot. Only relevant for getters. */
35104 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35105 : false, /* isTypedMethod. Only relevant for methods. */
35106 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35107 : };
35108 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35109 : static_assert(0 < 1, "There is no slot for us");
35110 :
35111 : static bool
35112 0 : get_rubyPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
35113 : {
35114 0 : binding_detail::FastErrorResult rv;
35115 0 : DOMString result;
35116 0 : self->GetRubyPosition(result, rv);
35117 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35118 0 : return false;
35119 : }
35120 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35121 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
35122 0 : return false;
35123 : }
35124 0 : return true;
35125 : }
35126 :
35127 : static bool
35128 0 : set_rubyPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
35129 : {
35130 0 : binding_detail::FakeString arg0;
35131 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
35132 0 : return false;
35133 : }
35134 0 : binding_detail::FastErrorResult rv;
35135 0 : self->SetRubyPosition(NonNullHelper(Constify(arg0)), rv);
35136 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35137 0 : return false;
35138 : }
35139 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35140 :
35141 0 : return true;
35142 : }
35143 :
35144 : static const JSJitInfo rubyPosition_getterinfo = {
35145 : { (JSJitGetterOp)get_rubyPosition },
35146 : { prototypes::id::CSS2Properties },
35147 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35148 : JSJitInfo::Getter,
35149 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35150 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
35151 : false, /* isInfallible. False in setters. */
35152 : false, /* isMovable. Not relevant for setters. */
35153 : false, /* isEliminatable. Not relevant for setters. */
35154 : false, /* isAlwaysInSlot. Only relevant for getters. */
35155 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35156 : false, /* isTypedMethod. Only relevant for methods. */
35157 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35158 : };
35159 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35160 : static_assert(0 < 1, "There is no slot for us");
35161 : static const JSJitInfo rubyPosition_setterinfo = {
35162 : { (JSJitGetterOp)set_rubyPosition },
35163 : { prototypes::id::CSS2Properties },
35164 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35165 : JSJitInfo::Setter,
35166 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35167 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
35168 : false, /* isInfallible. False in setters. */
35169 : false, /* isMovable. Not relevant for setters. */
35170 : false, /* isEliminatable. Not relevant for setters. */
35171 : false, /* isAlwaysInSlot. Only relevant for getters. */
35172 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35173 : false, /* isTypedMethod. Only relevant for methods. */
35174 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35175 : };
35176 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35177 : static_assert(0 < 1, "There is no slot for us");
35178 :
35179 : static bool
35180 0 : get_ruby_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
35181 : {
35182 0 : binding_detail::FastErrorResult rv;
35183 0 : DOMString result;
35184 0 : self->GetRubyPosition(result, rv);
35185 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35186 0 : return false;
35187 : }
35188 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35189 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
35190 0 : return false;
35191 : }
35192 0 : return true;
35193 : }
35194 :
35195 : static bool
35196 0 : set_ruby_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
35197 : {
35198 0 : binding_detail::FakeString arg0;
35199 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
35200 0 : return false;
35201 : }
35202 0 : binding_detail::FastErrorResult rv;
35203 0 : self->SetRubyPosition(NonNullHelper(Constify(arg0)), rv);
35204 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35205 0 : return false;
35206 : }
35207 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35208 :
35209 0 : return true;
35210 : }
35211 :
35212 : static const JSJitInfo ruby_position_getterinfo = {
35213 : { (JSJitGetterOp)get_ruby_position },
35214 : { prototypes::id::CSS2Properties },
35215 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35216 : JSJitInfo::Getter,
35217 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35218 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
35219 : false, /* isInfallible. False in setters. */
35220 : false, /* isMovable. Not relevant for setters. */
35221 : false, /* isEliminatable. Not relevant for setters. */
35222 : false, /* isAlwaysInSlot. Only relevant for getters. */
35223 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35224 : false, /* isTypedMethod. Only relevant for methods. */
35225 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35226 : };
35227 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35228 : static_assert(0 < 1, "There is no slot for us");
35229 : static const JSJitInfo ruby_position_setterinfo = {
35230 : { (JSJitGetterOp)set_ruby_position },
35231 : { prototypes::id::CSS2Properties },
35232 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35233 : JSJitInfo::Setter,
35234 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35235 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
35236 : false, /* isInfallible. False in setters. */
35237 : false, /* isMovable. Not relevant for setters. */
35238 : false, /* isEliminatable. Not relevant for setters. */
35239 : false, /* isAlwaysInSlot. Only relevant for getters. */
35240 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35241 : false, /* isTypedMethod. Only relevant for methods. */
35242 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35243 : };
35244 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35245 : static_assert(0 < 1, "There is no slot for us");
35246 :
35247 : static bool
35248 0 : get_scrollBehavior(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
35249 : {
35250 0 : binding_detail::FastErrorResult rv;
35251 0 : DOMString result;
35252 0 : self->GetScrollBehavior(result, rv);
35253 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35254 0 : return false;
35255 : }
35256 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35257 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
35258 0 : return false;
35259 : }
35260 0 : return true;
35261 : }
35262 :
35263 : static bool
35264 0 : set_scrollBehavior(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
35265 : {
35266 0 : binding_detail::FakeString arg0;
35267 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
35268 0 : return false;
35269 : }
35270 0 : binding_detail::FastErrorResult rv;
35271 0 : self->SetScrollBehavior(NonNullHelper(Constify(arg0)), rv);
35272 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35273 0 : return false;
35274 : }
35275 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35276 :
35277 0 : return true;
35278 : }
35279 :
35280 : static const JSJitInfo scrollBehavior_getterinfo = {
35281 : { (JSJitGetterOp)get_scrollBehavior },
35282 : { prototypes::id::CSS2Properties },
35283 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35284 : JSJitInfo::Getter,
35285 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35286 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
35287 : false, /* isInfallible. False in setters. */
35288 : false, /* isMovable. Not relevant for setters. */
35289 : false, /* isEliminatable. Not relevant for setters. */
35290 : false, /* isAlwaysInSlot. Only relevant for getters. */
35291 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35292 : false, /* isTypedMethod. Only relevant for methods. */
35293 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35294 : };
35295 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35296 : static_assert(0 < 1, "There is no slot for us");
35297 : static const JSJitInfo scrollBehavior_setterinfo = {
35298 : { (JSJitGetterOp)set_scrollBehavior },
35299 : { prototypes::id::CSS2Properties },
35300 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35301 : JSJitInfo::Setter,
35302 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35303 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
35304 : false, /* isInfallible. False in setters. */
35305 : false, /* isMovable. Not relevant for setters. */
35306 : false, /* isEliminatable. Not relevant for setters. */
35307 : false, /* isAlwaysInSlot. Only relevant for getters. */
35308 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35309 : false, /* isTypedMethod. Only relevant for methods. */
35310 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35311 : };
35312 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35313 : static_assert(0 < 1, "There is no slot for us");
35314 :
35315 : static bool
35316 0 : get_scroll_behavior(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
35317 : {
35318 0 : binding_detail::FastErrorResult rv;
35319 0 : DOMString result;
35320 0 : self->GetScrollBehavior(result, rv);
35321 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35322 0 : return false;
35323 : }
35324 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35325 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
35326 0 : return false;
35327 : }
35328 0 : return true;
35329 : }
35330 :
35331 : static bool
35332 0 : set_scroll_behavior(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
35333 : {
35334 0 : binding_detail::FakeString arg0;
35335 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
35336 0 : return false;
35337 : }
35338 0 : binding_detail::FastErrorResult rv;
35339 0 : self->SetScrollBehavior(NonNullHelper(Constify(arg0)), rv);
35340 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35341 0 : return false;
35342 : }
35343 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35344 :
35345 0 : return true;
35346 : }
35347 :
35348 : static const JSJitInfo scroll_behavior_getterinfo = {
35349 : { (JSJitGetterOp)get_scroll_behavior },
35350 : { prototypes::id::CSS2Properties },
35351 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35352 : JSJitInfo::Getter,
35353 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35354 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
35355 : false, /* isInfallible. False in setters. */
35356 : false, /* isMovable. Not relevant for setters. */
35357 : false, /* isEliminatable. Not relevant for setters. */
35358 : false, /* isAlwaysInSlot. Only relevant for getters. */
35359 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35360 : false, /* isTypedMethod. Only relevant for methods. */
35361 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35362 : };
35363 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35364 : static_assert(0 < 1, "There is no slot for us");
35365 : static const JSJitInfo scroll_behavior_setterinfo = {
35366 : { (JSJitGetterOp)set_scroll_behavior },
35367 : { prototypes::id::CSS2Properties },
35368 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35369 : JSJitInfo::Setter,
35370 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35371 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
35372 : false, /* isInfallible. False in setters. */
35373 : false, /* isMovable. Not relevant for setters. */
35374 : false, /* isEliminatable. Not relevant for setters. */
35375 : false, /* isAlwaysInSlot. Only relevant for getters. */
35376 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35377 : false, /* isTypedMethod. Only relevant for methods. */
35378 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35379 : };
35380 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35381 : static_assert(0 < 1, "There is no slot for us");
35382 :
35383 : static bool
35384 0 : get_scrollSnapCoordinate(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
35385 : {
35386 0 : binding_detail::FastErrorResult rv;
35387 0 : DOMString result;
35388 0 : self->GetScrollSnapCoordinate(result, rv);
35389 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35390 0 : return false;
35391 : }
35392 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35393 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
35394 0 : return false;
35395 : }
35396 0 : return true;
35397 : }
35398 :
35399 : static bool
35400 0 : set_scrollSnapCoordinate(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
35401 : {
35402 0 : binding_detail::FakeString arg0;
35403 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
35404 0 : return false;
35405 : }
35406 0 : binding_detail::FastErrorResult rv;
35407 0 : self->SetScrollSnapCoordinate(NonNullHelper(Constify(arg0)), rv);
35408 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35409 0 : return false;
35410 : }
35411 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35412 :
35413 0 : return true;
35414 : }
35415 :
35416 : static const JSJitInfo scrollSnapCoordinate_getterinfo = {
35417 : { (JSJitGetterOp)get_scrollSnapCoordinate },
35418 : { prototypes::id::CSS2Properties },
35419 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35420 : JSJitInfo::Getter,
35421 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35422 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
35423 : false, /* isInfallible. False in setters. */
35424 : false, /* isMovable. Not relevant for setters. */
35425 : false, /* isEliminatable. Not relevant for setters. */
35426 : false, /* isAlwaysInSlot. Only relevant for getters. */
35427 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35428 : false, /* isTypedMethod. Only relevant for methods. */
35429 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35430 : };
35431 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35432 : static_assert(0 < 1, "There is no slot for us");
35433 : static const JSJitInfo scrollSnapCoordinate_setterinfo = {
35434 : { (JSJitGetterOp)set_scrollSnapCoordinate },
35435 : { prototypes::id::CSS2Properties },
35436 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35437 : JSJitInfo::Setter,
35438 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35439 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
35440 : false, /* isInfallible. False in setters. */
35441 : false, /* isMovable. Not relevant for setters. */
35442 : false, /* isEliminatable. Not relevant for setters. */
35443 : false, /* isAlwaysInSlot. Only relevant for getters. */
35444 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35445 : false, /* isTypedMethod. Only relevant for methods. */
35446 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35447 : };
35448 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35449 : static_assert(0 < 1, "There is no slot for us");
35450 :
35451 : static bool
35452 0 : get_scroll_snap_coordinate(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
35453 : {
35454 0 : binding_detail::FastErrorResult rv;
35455 0 : DOMString result;
35456 0 : self->GetScrollSnapCoordinate(result, rv);
35457 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35458 0 : return false;
35459 : }
35460 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35461 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
35462 0 : return false;
35463 : }
35464 0 : return true;
35465 : }
35466 :
35467 : static bool
35468 0 : set_scroll_snap_coordinate(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
35469 : {
35470 0 : binding_detail::FakeString arg0;
35471 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
35472 0 : return false;
35473 : }
35474 0 : binding_detail::FastErrorResult rv;
35475 0 : self->SetScrollSnapCoordinate(NonNullHelper(Constify(arg0)), rv);
35476 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35477 0 : return false;
35478 : }
35479 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35480 :
35481 0 : return true;
35482 : }
35483 :
35484 : static const JSJitInfo scroll_snap_coordinate_getterinfo = {
35485 : { (JSJitGetterOp)get_scroll_snap_coordinate },
35486 : { prototypes::id::CSS2Properties },
35487 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35488 : JSJitInfo::Getter,
35489 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35490 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
35491 : false, /* isInfallible. False in setters. */
35492 : false, /* isMovable. Not relevant for setters. */
35493 : false, /* isEliminatable. Not relevant for setters. */
35494 : false, /* isAlwaysInSlot. Only relevant for getters. */
35495 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35496 : false, /* isTypedMethod. Only relevant for methods. */
35497 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35498 : };
35499 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35500 : static_assert(0 < 1, "There is no slot for us");
35501 : static const JSJitInfo scroll_snap_coordinate_setterinfo = {
35502 : { (JSJitGetterOp)set_scroll_snap_coordinate },
35503 : { prototypes::id::CSS2Properties },
35504 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35505 : JSJitInfo::Setter,
35506 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35507 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
35508 : false, /* isInfallible. False in setters. */
35509 : false, /* isMovable. Not relevant for setters. */
35510 : false, /* isEliminatable. Not relevant for setters. */
35511 : false, /* isAlwaysInSlot. Only relevant for getters. */
35512 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35513 : false, /* isTypedMethod. Only relevant for methods. */
35514 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35515 : };
35516 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35517 : static_assert(0 < 1, "There is no slot for us");
35518 :
35519 : static bool
35520 0 : get_scrollSnapDestination(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
35521 : {
35522 0 : binding_detail::FastErrorResult rv;
35523 0 : DOMString result;
35524 0 : self->GetScrollSnapDestination(result, rv);
35525 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35526 0 : return false;
35527 : }
35528 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35529 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
35530 0 : return false;
35531 : }
35532 0 : return true;
35533 : }
35534 :
35535 : static bool
35536 0 : set_scrollSnapDestination(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
35537 : {
35538 0 : binding_detail::FakeString arg0;
35539 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
35540 0 : return false;
35541 : }
35542 0 : binding_detail::FastErrorResult rv;
35543 0 : self->SetScrollSnapDestination(NonNullHelper(Constify(arg0)), rv);
35544 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35545 0 : return false;
35546 : }
35547 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35548 :
35549 0 : return true;
35550 : }
35551 :
35552 : static const JSJitInfo scrollSnapDestination_getterinfo = {
35553 : { (JSJitGetterOp)get_scrollSnapDestination },
35554 : { prototypes::id::CSS2Properties },
35555 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35556 : JSJitInfo::Getter,
35557 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35558 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
35559 : false, /* isInfallible. False in setters. */
35560 : false, /* isMovable. Not relevant for setters. */
35561 : false, /* isEliminatable. Not relevant for setters. */
35562 : false, /* isAlwaysInSlot. Only relevant for getters. */
35563 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35564 : false, /* isTypedMethod. Only relevant for methods. */
35565 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35566 : };
35567 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35568 : static_assert(0 < 1, "There is no slot for us");
35569 : static const JSJitInfo scrollSnapDestination_setterinfo = {
35570 : { (JSJitGetterOp)set_scrollSnapDestination },
35571 : { prototypes::id::CSS2Properties },
35572 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35573 : JSJitInfo::Setter,
35574 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35575 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
35576 : false, /* isInfallible. False in setters. */
35577 : false, /* isMovable. Not relevant for setters. */
35578 : false, /* isEliminatable. Not relevant for setters. */
35579 : false, /* isAlwaysInSlot. Only relevant for getters. */
35580 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35581 : false, /* isTypedMethod. Only relevant for methods. */
35582 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35583 : };
35584 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35585 : static_assert(0 < 1, "There is no slot for us");
35586 :
35587 : static bool
35588 0 : get_scroll_snap_destination(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
35589 : {
35590 0 : binding_detail::FastErrorResult rv;
35591 0 : DOMString result;
35592 0 : self->GetScrollSnapDestination(result, rv);
35593 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35594 0 : return false;
35595 : }
35596 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35597 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
35598 0 : return false;
35599 : }
35600 0 : return true;
35601 : }
35602 :
35603 : static bool
35604 0 : set_scroll_snap_destination(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
35605 : {
35606 0 : binding_detail::FakeString arg0;
35607 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
35608 0 : return false;
35609 : }
35610 0 : binding_detail::FastErrorResult rv;
35611 0 : self->SetScrollSnapDestination(NonNullHelper(Constify(arg0)), rv);
35612 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35613 0 : return false;
35614 : }
35615 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35616 :
35617 0 : return true;
35618 : }
35619 :
35620 : static const JSJitInfo scroll_snap_destination_getterinfo = {
35621 : { (JSJitGetterOp)get_scroll_snap_destination },
35622 : { prototypes::id::CSS2Properties },
35623 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35624 : JSJitInfo::Getter,
35625 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35626 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
35627 : false, /* isInfallible. False in setters. */
35628 : false, /* isMovable. Not relevant for setters. */
35629 : false, /* isEliminatable. Not relevant for setters. */
35630 : false, /* isAlwaysInSlot. Only relevant for getters. */
35631 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35632 : false, /* isTypedMethod. Only relevant for methods. */
35633 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35634 : };
35635 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35636 : static_assert(0 < 1, "There is no slot for us");
35637 : static const JSJitInfo scroll_snap_destination_setterinfo = {
35638 : { (JSJitGetterOp)set_scroll_snap_destination },
35639 : { prototypes::id::CSS2Properties },
35640 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35641 : JSJitInfo::Setter,
35642 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35643 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
35644 : false, /* isInfallible. False in setters. */
35645 : false, /* isMovable. Not relevant for setters. */
35646 : false, /* isEliminatable. Not relevant for setters. */
35647 : false, /* isAlwaysInSlot. Only relevant for getters. */
35648 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35649 : false, /* isTypedMethod. Only relevant for methods. */
35650 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35651 : };
35652 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35653 : static_assert(0 < 1, "There is no slot for us");
35654 :
35655 : static bool
35656 0 : get_scrollSnapPointsX(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
35657 : {
35658 0 : binding_detail::FastErrorResult rv;
35659 0 : DOMString result;
35660 0 : self->GetScrollSnapPointsX(result, rv);
35661 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35662 0 : return false;
35663 : }
35664 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35665 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
35666 0 : return false;
35667 : }
35668 0 : return true;
35669 : }
35670 :
35671 : static bool
35672 0 : set_scrollSnapPointsX(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
35673 : {
35674 0 : binding_detail::FakeString arg0;
35675 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
35676 0 : return false;
35677 : }
35678 0 : binding_detail::FastErrorResult rv;
35679 0 : self->SetScrollSnapPointsX(NonNullHelper(Constify(arg0)), rv);
35680 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35681 0 : return false;
35682 : }
35683 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35684 :
35685 0 : return true;
35686 : }
35687 :
35688 : static const JSJitInfo scrollSnapPointsX_getterinfo = {
35689 : { (JSJitGetterOp)get_scrollSnapPointsX },
35690 : { prototypes::id::CSS2Properties },
35691 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35692 : JSJitInfo::Getter,
35693 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35694 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
35695 : false, /* isInfallible. False in setters. */
35696 : false, /* isMovable. Not relevant for setters. */
35697 : false, /* isEliminatable. Not relevant for setters. */
35698 : false, /* isAlwaysInSlot. Only relevant for getters. */
35699 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35700 : false, /* isTypedMethod. Only relevant for methods. */
35701 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35702 : };
35703 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35704 : static_assert(0 < 1, "There is no slot for us");
35705 : static const JSJitInfo scrollSnapPointsX_setterinfo = {
35706 : { (JSJitGetterOp)set_scrollSnapPointsX },
35707 : { prototypes::id::CSS2Properties },
35708 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35709 : JSJitInfo::Setter,
35710 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35711 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
35712 : false, /* isInfallible. False in setters. */
35713 : false, /* isMovable. Not relevant for setters. */
35714 : false, /* isEliminatable. Not relevant for setters. */
35715 : false, /* isAlwaysInSlot. Only relevant for getters. */
35716 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35717 : false, /* isTypedMethod. Only relevant for methods. */
35718 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35719 : };
35720 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35721 : static_assert(0 < 1, "There is no slot for us");
35722 :
35723 : static bool
35724 0 : get_scroll_snap_points_x(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
35725 : {
35726 0 : binding_detail::FastErrorResult rv;
35727 0 : DOMString result;
35728 0 : self->GetScrollSnapPointsX(result, rv);
35729 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35730 0 : return false;
35731 : }
35732 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35733 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
35734 0 : return false;
35735 : }
35736 0 : return true;
35737 : }
35738 :
35739 : static bool
35740 0 : set_scroll_snap_points_x(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
35741 : {
35742 0 : binding_detail::FakeString arg0;
35743 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
35744 0 : return false;
35745 : }
35746 0 : binding_detail::FastErrorResult rv;
35747 0 : self->SetScrollSnapPointsX(NonNullHelper(Constify(arg0)), rv);
35748 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35749 0 : return false;
35750 : }
35751 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35752 :
35753 0 : return true;
35754 : }
35755 :
35756 : static const JSJitInfo scroll_snap_points_x_getterinfo = {
35757 : { (JSJitGetterOp)get_scroll_snap_points_x },
35758 : { prototypes::id::CSS2Properties },
35759 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35760 : JSJitInfo::Getter,
35761 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35762 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
35763 : false, /* isInfallible. False in setters. */
35764 : false, /* isMovable. Not relevant for setters. */
35765 : false, /* isEliminatable. Not relevant for setters. */
35766 : false, /* isAlwaysInSlot. Only relevant for getters. */
35767 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35768 : false, /* isTypedMethod. Only relevant for methods. */
35769 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35770 : };
35771 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35772 : static_assert(0 < 1, "There is no slot for us");
35773 : static const JSJitInfo scroll_snap_points_x_setterinfo = {
35774 : { (JSJitGetterOp)set_scroll_snap_points_x },
35775 : { prototypes::id::CSS2Properties },
35776 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35777 : JSJitInfo::Setter,
35778 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35779 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
35780 : false, /* isInfallible. False in setters. */
35781 : false, /* isMovable. Not relevant for setters. */
35782 : false, /* isEliminatable. Not relevant for setters. */
35783 : false, /* isAlwaysInSlot. Only relevant for getters. */
35784 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35785 : false, /* isTypedMethod. Only relevant for methods. */
35786 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35787 : };
35788 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35789 : static_assert(0 < 1, "There is no slot for us");
35790 :
35791 : static bool
35792 0 : get_scrollSnapPointsY(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
35793 : {
35794 0 : binding_detail::FastErrorResult rv;
35795 0 : DOMString result;
35796 0 : self->GetScrollSnapPointsY(result, rv);
35797 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35798 0 : return false;
35799 : }
35800 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35801 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
35802 0 : return false;
35803 : }
35804 0 : return true;
35805 : }
35806 :
35807 : static bool
35808 0 : set_scrollSnapPointsY(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
35809 : {
35810 0 : binding_detail::FakeString arg0;
35811 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
35812 0 : return false;
35813 : }
35814 0 : binding_detail::FastErrorResult rv;
35815 0 : self->SetScrollSnapPointsY(NonNullHelper(Constify(arg0)), rv);
35816 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35817 0 : return false;
35818 : }
35819 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35820 :
35821 0 : return true;
35822 : }
35823 :
35824 : static const JSJitInfo scrollSnapPointsY_getterinfo = {
35825 : { (JSJitGetterOp)get_scrollSnapPointsY },
35826 : { prototypes::id::CSS2Properties },
35827 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35828 : JSJitInfo::Getter,
35829 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35830 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
35831 : false, /* isInfallible. False in setters. */
35832 : false, /* isMovable. Not relevant for setters. */
35833 : false, /* isEliminatable. Not relevant for setters. */
35834 : false, /* isAlwaysInSlot. Only relevant for getters. */
35835 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35836 : false, /* isTypedMethod. Only relevant for methods. */
35837 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35838 : };
35839 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35840 : static_assert(0 < 1, "There is no slot for us");
35841 : static const JSJitInfo scrollSnapPointsY_setterinfo = {
35842 : { (JSJitGetterOp)set_scrollSnapPointsY },
35843 : { prototypes::id::CSS2Properties },
35844 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35845 : JSJitInfo::Setter,
35846 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35847 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
35848 : false, /* isInfallible. False in setters. */
35849 : false, /* isMovable. Not relevant for setters. */
35850 : false, /* isEliminatable. Not relevant for setters. */
35851 : false, /* isAlwaysInSlot. Only relevant for getters. */
35852 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35853 : false, /* isTypedMethod. Only relevant for methods. */
35854 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35855 : };
35856 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35857 : static_assert(0 < 1, "There is no slot for us");
35858 :
35859 : static bool
35860 0 : get_scroll_snap_points_y(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
35861 : {
35862 0 : binding_detail::FastErrorResult rv;
35863 0 : DOMString result;
35864 0 : self->GetScrollSnapPointsY(result, rv);
35865 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35866 0 : return false;
35867 : }
35868 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35869 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
35870 0 : return false;
35871 : }
35872 0 : return true;
35873 : }
35874 :
35875 : static bool
35876 0 : set_scroll_snap_points_y(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
35877 : {
35878 0 : binding_detail::FakeString arg0;
35879 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
35880 0 : return false;
35881 : }
35882 0 : binding_detail::FastErrorResult rv;
35883 0 : self->SetScrollSnapPointsY(NonNullHelper(Constify(arg0)), rv);
35884 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35885 0 : return false;
35886 : }
35887 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35888 :
35889 0 : return true;
35890 : }
35891 :
35892 : static const JSJitInfo scroll_snap_points_y_getterinfo = {
35893 : { (JSJitGetterOp)get_scroll_snap_points_y },
35894 : { prototypes::id::CSS2Properties },
35895 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35896 : JSJitInfo::Getter,
35897 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35898 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
35899 : false, /* isInfallible. False in setters. */
35900 : false, /* isMovable. Not relevant for setters. */
35901 : false, /* isEliminatable. Not relevant for setters. */
35902 : false, /* isAlwaysInSlot. Only relevant for getters. */
35903 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35904 : false, /* isTypedMethod. Only relevant for methods. */
35905 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35906 : };
35907 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35908 : static_assert(0 < 1, "There is no slot for us");
35909 : static const JSJitInfo scroll_snap_points_y_setterinfo = {
35910 : { (JSJitGetterOp)set_scroll_snap_points_y },
35911 : { prototypes::id::CSS2Properties },
35912 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35913 : JSJitInfo::Setter,
35914 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35915 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
35916 : false, /* isInfallible. False in setters. */
35917 : false, /* isMovable. Not relevant for setters. */
35918 : false, /* isEliminatable. Not relevant for setters. */
35919 : false, /* isAlwaysInSlot. Only relevant for getters. */
35920 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35921 : false, /* isTypedMethod. Only relevant for methods. */
35922 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35923 : };
35924 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35925 : static_assert(0 < 1, "There is no slot for us");
35926 :
35927 : static bool
35928 0 : get_scrollSnapType(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
35929 : {
35930 0 : binding_detail::FastErrorResult rv;
35931 0 : DOMString result;
35932 0 : self->GetScrollSnapType(result, rv);
35933 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35934 0 : return false;
35935 : }
35936 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35937 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
35938 0 : return false;
35939 : }
35940 0 : return true;
35941 : }
35942 :
35943 : static bool
35944 0 : set_scrollSnapType(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
35945 : {
35946 0 : binding_detail::FakeString arg0;
35947 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
35948 0 : return false;
35949 : }
35950 0 : binding_detail::FastErrorResult rv;
35951 0 : self->SetScrollSnapType(NonNullHelper(Constify(arg0)), rv);
35952 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
35953 0 : return false;
35954 : }
35955 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
35956 :
35957 0 : return true;
35958 : }
35959 :
35960 : static const JSJitInfo scrollSnapType_getterinfo = {
35961 : { (JSJitGetterOp)get_scrollSnapType },
35962 : { prototypes::id::CSS2Properties },
35963 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35964 : JSJitInfo::Getter,
35965 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35966 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
35967 : false, /* isInfallible. False in setters. */
35968 : false, /* isMovable. Not relevant for setters. */
35969 : false, /* isEliminatable. Not relevant for setters. */
35970 : false, /* isAlwaysInSlot. Only relevant for getters. */
35971 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35972 : false, /* isTypedMethod. Only relevant for methods. */
35973 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35974 : };
35975 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35976 : static_assert(0 < 1, "There is no slot for us");
35977 : static const JSJitInfo scrollSnapType_setterinfo = {
35978 : { (JSJitGetterOp)set_scrollSnapType },
35979 : { prototypes::id::CSS2Properties },
35980 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
35981 : JSJitInfo::Setter,
35982 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
35983 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
35984 : false, /* isInfallible. False in setters. */
35985 : false, /* isMovable. Not relevant for setters. */
35986 : false, /* isEliminatable. Not relevant for setters. */
35987 : false, /* isAlwaysInSlot. Only relevant for getters. */
35988 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
35989 : false, /* isTypedMethod. Only relevant for methods. */
35990 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
35991 : };
35992 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
35993 : static_assert(0 < 1, "There is no slot for us");
35994 :
35995 : static bool
35996 0 : get_scroll_snap_type(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
35997 : {
35998 0 : binding_detail::FastErrorResult rv;
35999 0 : DOMString result;
36000 0 : self->GetScrollSnapType(result, rv);
36001 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36002 0 : return false;
36003 : }
36004 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36005 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
36006 0 : return false;
36007 : }
36008 0 : return true;
36009 : }
36010 :
36011 : static bool
36012 0 : set_scroll_snap_type(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
36013 : {
36014 0 : binding_detail::FakeString arg0;
36015 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
36016 0 : return false;
36017 : }
36018 0 : binding_detail::FastErrorResult rv;
36019 0 : self->SetScrollSnapType(NonNullHelper(Constify(arg0)), rv);
36020 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36021 0 : return false;
36022 : }
36023 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36024 :
36025 0 : return true;
36026 : }
36027 :
36028 : static const JSJitInfo scroll_snap_type_getterinfo = {
36029 : { (JSJitGetterOp)get_scroll_snap_type },
36030 : { prototypes::id::CSS2Properties },
36031 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36032 : JSJitInfo::Getter,
36033 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36034 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
36035 : false, /* isInfallible. False in setters. */
36036 : false, /* isMovable. Not relevant for setters. */
36037 : false, /* isEliminatable. Not relevant for setters. */
36038 : false, /* isAlwaysInSlot. Only relevant for getters. */
36039 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36040 : false, /* isTypedMethod. Only relevant for methods. */
36041 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36042 : };
36043 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36044 : static_assert(0 < 1, "There is no slot for us");
36045 : static const JSJitInfo scroll_snap_type_setterinfo = {
36046 : { (JSJitGetterOp)set_scroll_snap_type },
36047 : { prototypes::id::CSS2Properties },
36048 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36049 : JSJitInfo::Setter,
36050 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36051 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
36052 : false, /* isInfallible. False in setters. */
36053 : false, /* isMovable. Not relevant for setters. */
36054 : false, /* isEliminatable. Not relevant for setters. */
36055 : false, /* isAlwaysInSlot. Only relevant for getters. */
36056 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36057 : false, /* isTypedMethod. Only relevant for methods. */
36058 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36059 : };
36060 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36061 : static_assert(0 < 1, "There is no slot for us");
36062 :
36063 : static bool
36064 0 : get_scrollSnapTypeX(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
36065 : {
36066 0 : binding_detail::FastErrorResult rv;
36067 0 : DOMString result;
36068 0 : self->GetScrollSnapTypeX(result, rv);
36069 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36070 0 : return false;
36071 : }
36072 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36073 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
36074 0 : return false;
36075 : }
36076 0 : return true;
36077 : }
36078 :
36079 : static bool
36080 0 : set_scrollSnapTypeX(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
36081 : {
36082 0 : binding_detail::FakeString arg0;
36083 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
36084 0 : return false;
36085 : }
36086 0 : binding_detail::FastErrorResult rv;
36087 0 : self->SetScrollSnapTypeX(NonNullHelper(Constify(arg0)), rv);
36088 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36089 0 : return false;
36090 : }
36091 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36092 :
36093 0 : return true;
36094 : }
36095 :
36096 : static const JSJitInfo scrollSnapTypeX_getterinfo = {
36097 : { (JSJitGetterOp)get_scrollSnapTypeX },
36098 : { prototypes::id::CSS2Properties },
36099 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36100 : JSJitInfo::Getter,
36101 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36102 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
36103 : false, /* isInfallible. False in setters. */
36104 : false, /* isMovable. Not relevant for setters. */
36105 : false, /* isEliminatable. Not relevant for setters. */
36106 : false, /* isAlwaysInSlot. Only relevant for getters. */
36107 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36108 : false, /* isTypedMethod. Only relevant for methods. */
36109 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36110 : };
36111 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36112 : static_assert(0 < 1, "There is no slot for us");
36113 : static const JSJitInfo scrollSnapTypeX_setterinfo = {
36114 : { (JSJitGetterOp)set_scrollSnapTypeX },
36115 : { prototypes::id::CSS2Properties },
36116 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36117 : JSJitInfo::Setter,
36118 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36119 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
36120 : false, /* isInfallible. False in setters. */
36121 : false, /* isMovable. Not relevant for setters. */
36122 : false, /* isEliminatable. Not relevant for setters. */
36123 : false, /* isAlwaysInSlot. Only relevant for getters. */
36124 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36125 : false, /* isTypedMethod. Only relevant for methods. */
36126 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36127 : };
36128 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36129 : static_assert(0 < 1, "There is no slot for us");
36130 :
36131 : static bool
36132 0 : get_scroll_snap_type_x(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
36133 : {
36134 0 : binding_detail::FastErrorResult rv;
36135 0 : DOMString result;
36136 0 : self->GetScrollSnapTypeX(result, rv);
36137 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36138 0 : return false;
36139 : }
36140 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36141 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
36142 0 : return false;
36143 : }
36144 0 : return true;
36145 : }
36146 :
36147 : static bool
36148 0 : set_scroll_snap_type_x(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
36149 : {
36150 0 : binding_detail::FakeString arg0;
36151 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
36152 0 : return false;
36153 : }
36154 0 : binding_detail::FastErrorResult rv;
36155 0 : self->SetScrollSnapTypeX(NonNullHelper(Constify(arg0)), rv);
36156 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36157 0 : return false;
36158 : }
36159 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36160 :
36161 0 : return true;
36162 : }
36163 :
36164 : static const JSJitInfo scroll_snap_type_x_getterinfo = {
36165 : { (JSJitGetterOp)get_scroll_snap_type_x },
36166 : { prototypes::id::CSS2Properties },
36167 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36168 : JSJitInfo::Getter,
36169 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36170 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
36171 : false, /* isInfallible. False in setters. */
36172 : false, /* isMovable. Not relevant for setters. */
36173 : false, /* isEliminatable. Not relevant for setters. */
36174 : false, /* isAlwaysInSlot. Only relevant for getters. */
36175 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36176 : false, /* isTypedMethod. Only relevant for methods. */
36177 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36178 : };
36179 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36180 : static_assert(0 < 1, "There is no slot for us");
36181 : static const JSJitInfo scroll_snap_type_x_setterinfo = {
36182 : { (JSJitGetterOp)set_scroll_snap_type_x },
36183 : { prototypes::id::CSS2Properties },
36184 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36185 : JSJitInfo::Setter,
36186 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36187 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
36188 : false, /* isInfallible. False in setters. */
36189 : false, /* isMovable. Not relevant for setters. */
36190 : false, /* isEliminatable. Not relevant for setters. */
36191 : false, /* isAlwaysInSlot. Only relevant for getters. */
36192 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36193 : false, /* isTypedMethod. Only relevant for methods. */
36194 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36195 : };
36196 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36197 : static_assert(0 < 1, "There is no slot for us");
36198 :
36199 : static bool
36200 0 : get_scrollSnapTypeY(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
36201 : {
36202 0 : binding_detail::FastErrorResult rv;
36203 0 : DOMString result;
36204 0 : self->GetScrollSnapTypeY(result, rv);
36205 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36206 0 : return false;
36207 : }
36208 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36209 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
36210 0 : return false;
36211 : }
36212 0 : return true;
36213 : }
36214 :
36215 : static bool
36216 0 : set_scrollSnapTypeY(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
36217 : {
36218 0 : binding_detail::FakeString arg0;
36219 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
36220 0 : return false;
36221 : }
36222 0 : binding_detail::FastErrorResult rv;
36223 0 : self->SetScrollSnapTypeY(NonNullHelper(Constify(arg0)), rv);
36224 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36225 0 : return false;
36226 : }
36227 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36228 :
36229 0 : return true;
36230 : }
36231 :
36232 : static const JSJitInfo scrollSnapTypeY_getterinfo = {
36233 : { (JSJitGetterOp)get_scrollSnapTypeY },
36234 : { prototypes::id::CSS2Properties },
36235 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36236 : JSJitInfo::Getter,
36237 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36238 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
36239 : false, /* isInfallible. False in setters. */
36240 : false, /* isMovable. Not relevant for setters. */
36241 : false, /* isEliminatable. Not relevant for setters. */
36242 : false, /* isAlwaysInSlot. Only relevant for getters. */
36243 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36244 : false, /* isTypedMethod. Only relevant for methods. */
36245 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36246 : };
36247 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36248 : static_assert(0 < 1, "There is no slot for us");
36249 : static const JSJitInfo scrollSnapTypeY_setterinfo = {
36250 : { (JSJitGetterOp)set_scrollSnapTypeY },
36251 : { prototypes::id::CSS2Properties },
36252 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36253 : JSJitInfo::Setter,
36254 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36255 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
36256 : false, /* isInfallible. False in setters. */
36257 : false, /* isMovable. Not relevant for setters. */
36258 : false, /* isEliminatable. Not relevant for setters. */
36259 : false, /* isAlwaysInSlot. Only relevant for getters. */
36260 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36261 : false, /* isTypedMethod. Only relevant for methods. */
36262 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36263 : };
36264 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36265 : static_assert(0 < 1, "There is no slot for us");
36266 :
36267 : static bool
36268 0 : get_scroll_snap_type_y(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
36269 : {
36270 0 : binding_detail::FastErrorResult rv;
36271 0 : DOMString result;
36272 0 : self->GetScrollSnapTypeY(result, rv);
36273 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36274 0 : return false;
36275 : }
36276 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36277 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
36278 0 : return false;
36279 : }
36280 0 : return true;
36281 : }
36282 :
36283 : static bool
36284 0 : set_scroll_snap_type_y(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
36285 : {
36286 0 : binding_detail::FakeString arg0;
36287 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
36288 0 : return false;
36289 : }
36290 0 : binding_detail::FastErrorResult rv;
36291 0 : self->SetScrollSnapTypeY(NonNullHelper(Constify(arg0)), rv);
36292 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36293 0 : return false;
36294 : }
36295 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36296 :
36297 0 : return true;
36298 : }
36299 :
36300 : static const JSJitInfo scroll_snap_type_y_getterinfo = {
36301 : { (JSJitGetterOp)get_scroll_snap_type_y },
36302 : { prototypes::id::CSS2Properties },
36303 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36304 : JSJitInfo::Getter,
36305 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36306 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
36307 : false, /* isInfallible. False in setters. */
36308 : false, /* isMovable. Not relevant for setters. */
36309 : false, /* isEliminatable. Not relevant for setters. */
36310 : false, /* isAlwaysInSlot. Only relevant for getters. */
36311 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36312 : false, /* isTypedMethod. Only relevant for methods. */
36313 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36314 : };
36315 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36316 : static_assert(0 < 1, "There is no slot for us");
36317 : static const JSJitInfo scroll_snap_type_y_setterinfo = {
36318 : { (JSJitGetterOp)set_scroll_snap_type_y },
36319 : { prototypes::id::CSS2Properties },
36320 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36321 : JSJitInfo::Setter,
36322 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36323 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
36324 : false, /* isInfallible. False in setters. */
36325 : false, /* isMovable. Not relevant for setters. */
36326 : false, /* isEliminatable. Not relevant for setters. */
36327 : false, /* isAlwaysInSlot. Only relevant for getters. */
36328 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36329 : false, /* isTypedMethod. Only relevant for methods. */
36330 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36331 : };
36332 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36333 : static_assert(0 < 1, "There is no slot for us");
36334 :
36335 : static bool
36336 0 : get_shapeOutside(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
36337 : {
36338 0 : binding_detail::FastErrorResult rv;
36339 0 : DOMString result;
36340 0 : self->GetShapeOutside(result, rv);
36341 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36342 0 : return false;
36343 : }
36344 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36345 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
36346 0 : return false;
36347 : }
36348 0 : return true;
36349 : }
36350 :
36351 : static bool
36352 0 : set_shapeOutside(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
36353 : {
36354 0 : binding_detail::FakeString arg0;
36355 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
36356 0 : return false;
36357 : }
36358 0 : binding_detail::FastErrorResult rv;
36359 0 : self->SetShapeOutside(NonNullHelper(Constify(arg0)), rv);
36360 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36361 0 : return false;
36362 : }
36363 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36364 :
36365 0 : return true;
36366 : }
36367 :
36368 : static const JSJitInfo shapeOutside_getterinfo = {
36369 : { (JSJitGetterOp)get_shapeOutside },
36370 : { prototypes::id::CSS2Properties },
36371 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36372 : JSJitInfo::Getter,
36373 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36374 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
36375 : false, /* isInfallible. False in setters. */
36376 : false, /* isMovable. Not relevant for setters. */
36377 : false, /* isEliminatable. Not relevant for setters. */
36378 : false, /* isAlwaysInSlot. Only relevant for getters. */
36379 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36380 : false, /* isTypedMethod. Only relevant for methods. */
36381 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36382 : };
36383 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36384 : static_assert(0 < 1, "There is no slot for us");
36385 : static const JSJitInfo shapeOutside_setterinfo = {
36386 : { (JSJitGetterOp)set_shapeOutside },
36387 : { prototypes::id::CSS2Properties },
36388 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36389 : JSJitInfo::Setter,
36390 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36391 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
36392 : false, /* isInfallible. False in setters. */
36393 : false, /* isMovable. Not relevant for setters. */
36394 : false, /* isEliminatable. Not relevant for setters. */
36395 : false, /* isAlwaysInSlot. Only relevant for getters. */
36396 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36397 : false, /* isTypedMethod. Only relevant for methods. */
36398 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36399 : };
36400 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36401 : static_assert(0 < 1, "There is no slot for us");
36402 :
36403 : static bool
36404 0 : get_shape_outside(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
36405 : {
36406 0 : binding_detail::FastErrorResult rv;
36407 0 : DOMString result;
36408 0 : self->GetShapeOutside(result, rv);
36409 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36410 0 : return false;
36411 : }
36412 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36413 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
36414 0 : return false;
36415 : }
36416 0 : return true;
36417 : }
36418 :
36419 : static bool
36420 0 : set_shape_outside(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
36421 : {
36422 0 : binding_detail::FakeString arg0;
36423 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
36424 0 : return false;
36425 : }
36426 0 : binding_detail::FastErrorResult rv;
36427 0 : self->SetShapeOutside(NonNullHelper(Constify(arg0)), rv);
36428 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36429 0 : return false;
36430 : }
36431 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36432 :
36433 0 : return true;
36434 : }
36435 :
36436 : static const JSJitInfo shape_outside_getterinfo = {
36437 : { (JSJitGetterOp)get_shape_outside },
36438 : { prototypes::id::CSS2Properties },
36439 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36440 : JSJitInfo::Getter,
36441 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36442 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
36443 : false, /* isInfallible. False in setters. */
36444 : false, /* isMovable. Not relevant for setters. */
36445 : false, /* isEliminatable. Not relevant for setters. */
36446 : false, /* isAlwaysInSlot. Only relevant for getters. */
36447 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36448 : false, /* isTypedMethod. Only relevant for methods. */
36449 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36450 : };
36451 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36452 : static_assert(0 < 1, "There is no slot for us");
36453 : static const JSJitInfo shape_outside_setterinfo = {
36454 : { (JSJitGetterOp)set_shape_outside },
36455 : { prototypes::id::CSS2Properties },
36456 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36457 : JSJitInfo::Setter,
36458 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36459 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
36460 : false, /* isInfallible. False in setters. */
36461 : false, /* isMovable. Not relevant for setters. */
36462 : false, /* isEliminatable. Not relevant for setters. */
36463 : false, /* isAlwaysInSlot. Only relevant for getters. */
36464 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36465 : false, /* isTypedMethod. Only relevant for methods. */
36466 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36467 : };
36468 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36469 : static_assert(0 < 1, "There is no slot for us");
36470 :
36471 : static bool
36472 0 : get_shapeRendering(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
36473 : {
36474 0 : binding_detail::FastErrorResult rv;
36475 0 : DOMString result;
36476 0 : self->GetShapeRendering(result, rv);
36477 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36478 0 : return false;
36479 : }
36480 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36481 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
36482 0 : return false;
36483 : }
36484 0 : return true;
36485 : }
36486 :
36487 : static bool
36488 0 : set_shapeRendering(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
36489 : {
36490 0 : binding_detail::FakeString arg0;
36491 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
36492 0 : return false;
36493 : }
36494 0 : binding_detail::FastErrorResult rv;
36495 0 : self->SetShapeRendering(NonNullHelper(Constify(arg0)), rv);
36496 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36497 0 : return false;
36498 : }
36499 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36500 :
36501 0 : return true;
36502 : }
36503 :
36504 : static const JSJitInfo shapeRendering_getterinfo = {
36505 : { (JSJitGetterOp)get_shapeRendering },
36506 : { prototypes::id::CSS2Properties },
36507 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36508 : JSJitInfo::Getter,
36509 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36510 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
36511 : false, /* isInfallible. False in setters. */
36512 : false, /* isMovable. Not relevant for setters. */
36513 : false, /* isEliminatable. Not relevant for setters. */
36514 : false, /* isAlwaysInSlot. Only relevant for getters. */
36515 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36516 : false, /* isTypedMethod. Only relevant for methods. */
36517 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36518 : };
36519 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36520 : static_assert(0 < 1, "There is no slot for us");
36521 : static const JSJitInfo shapeRendering_setterinfo = {
36522 : { (JSJitGetterOp)set_shapeRendering },
36523 : { prototypes::id::CSS2Properties },
36524 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36525 : JSJitInfo::Setter,
36526 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36527 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
36528 : false, /* isInfallible. False in setters. */
36529 : false, /* isMovable. Not relevant for setters. */
36530 : false, /* isEliminatable. Not relevant for setters. */
36531 : false, /* isAlwaysInSlot. Only relevant for getters. */
36532 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36533 : false, /* isTypedMethod. Only relevant for methods. */
36534 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36535 : };
36536 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36537 : static_assert(0 < 1, "There is no slot for us");
36538 :
36539 : static bool
36540 0 : get_shape_rendering(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
36541 : {
36542 0 : binding_detail::FastErrorResult rv;
36543 0 : DOMString result;
36544 0 : self->GetShapeRendering(result, rv);
36545 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36546 0 : return false;
36547 : }
36548 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36549 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
36550 0 : return false;
36551 : }
36552 0 : return true;
36553 : }
36554 :
36555 : static bool
36556 0 : set_shape_rendering(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
36557 : {
36558 0 : binding_detail::FakeString arg0;
36559 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
36560 0 : return false;
36561 : }
36562 0 : binding_detail::FastErrorResult rv;
36563 0 : self->SetShapeRendering(NonNullHelper(Constify(arg0)), rv);
36564 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36565 0 : return false;
36566 : }
36567 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36568 :
36569 0 : return true;
36570 : }
36571 :
36572 : static const JSJitInfo shape_rendering_getterinfo = {
36573 : { (JSJitGetterOp)get_shape_rendering },
36574 : { prototypes::id::CSS2Properties },
36575 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36576 : JSJitInfo::Getter,
36577 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36578 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
36579 : false, /* isInfallible. False in setters. */
36580 : false, /* isMovable. Not relevant for setters. */
36581 : false, /* isEliminatable. Not relevant for setters. */
36582 : false, /* isAlwaysInSlot. Only relevant for getters. */
36583 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36584 : false, /* isTypedMethod. Only relevant for methods. */
36585 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36586 : };
36587 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36588 : static_assert(0 < 1, "There is no slot for us");
36589 : static const JSJitInfo shape_rendering_setterinfo = {
36590 : { (JSJitGetterOp)set_shape_rendering },
36591 : { prototypes::id::CSS2Properties },
36592 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36593 : JSJitInfo::Setter,
36594 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36595 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
36596 : false, /* isInfallible. False in setters. */
36597 : false, /* isMovable. Not relevant for setters. */
36598 : false, /* isEliminatable. Not relevant for setters. */
36599 : false, /* isAlwaysInSlot. Only relevant for getters. */
36600 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36601 : false, /* isTypedMethod. Only relevant for methods. */
36602 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36603 : };
36604 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36605 : static_assert(0 < 1, "There is no slot for us");
36606 :
36607 : static bool
36608 0 : get_MozStackSizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
36609 : {
36610 0 : binding_detail::FastErrorResult rv;
36611 0 : DOMString result;
36612 0 : self->GetMozStackSizing(result, rv);
36613 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36614 0 : return false;
36615 : }
36616 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36617 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
36618 0 : return false;
36619 : }
36620 0 : return true;
36621 : }
36622 :
36623 : static bool
36624 0 : set_MozStackSizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
36625 : {
36626 0 : binding_detail::FakeString arg0;
36627 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
36628 0 : return false;
36629 : }
36630 0 : binding_detail::FastErrorResult rv;
36631 0 : self->SetMozStackSizing(NonNullHelper(Constify(arg0)), rv);
36632 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36633 0 : return false;
36634 : }
36635 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36636 :
36637 0 : return true;
36638 : }
36639 :
36640 : static const JSJitInfo MozStackSizing_getterinfo = {
36641 : { (JSJitGetterOp)get_MozStackSizing },
36642 : { prototypes::id::CSS2Properties },
36643 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36644 : JSJitInfo::Getter,
36645 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36646 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
36647 : false, /* isInfallible. False in setters. */
36648 : false, /* isMovable. Not relevant for setters. */
36649 : false, /* isEliminatable. Not relevant for setters. */
36650 : false, /* isAlwaysInSlot. Only relevant for getters. */
36651 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36652 : false, /* isTypedMethod. Only relevant for methods. */
36653 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36654 : };
36655 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36656 : static_assert(0 < 1, "There is no slot for us");
36657 : static const JSJitInfo MozStackSizing_setterinfo = {
36658 : { (JSJitGetterOp)set_MozStackSizing },
36659 : { prototypes::id::CSS2Properties },
36660 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36661 : JSJitInfo::Setter,
36662 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36663 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
36664 : false, /* isInfallible. False in setters. */
36665 : false, /* isMovable. Not relevant for setters. */
36666 : false, /* isEliminatable. Not relevant for setters. */
36667 : false, /* isAlwaysInSlot. Only relevant for getters. */
36668 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36669 : false, /* isTypedMethod. Only relevant for methods. */
36670 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36671 : };
36672 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36673 : static_assert(0 < 1, "There is no slot for us");
36674 :
36675 : static bool
36676 0 : get__moz_stack_sizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
36677 : {
36678 0 : binding_detail::FastErrorResult rv;
36679 0 : DOMString result;
36680 0 : self->GetMozStackSizing(result, rv);
36681 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36682 0 : return false;
36683 : }
36684 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36685 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
36686 0 : return false;
36687 : }
36688 0 : return true;
36689 : }
36690 :
36691 : static bool
36692 0 : set__moz_stack_sizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
36693 : {
36694 0 : binding_detail::FakeString arg0;
36695 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
36696 0 : return false;
36697 : }
36698 0 : binding_detail::FastErrorResult rv;
36699 0 : self->SetMozStackSizing(NonNullHelper(Constify(arg0)), rv);
36700 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36701 0 : return false;
36702 : }
36703 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36704 :
36705 0 : return true;
36706 : }
36707 :
36708 : static const JSJitInfo _moz_stack_sizing_getterinfo = {
36709 : { (JSJitGetterOp)get__moz_stack_sizing },
36710 : { prototypes::id::CSS2Properties },
36711 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36712 : JSJitInfo::Getter,
36713 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36714 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
36715 : false, /* isInfallible. False in setters. */
36716 : false, /* isMovable. Not relevant for setters. */
36717 : false, /* isEliminatable. Not relevant for setters. */
36718 : false, /* isAlwaysInSlot. Only relevant for getters. */
36719 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36720 : false, /* isTypedMethod. Only relevant for methods. */
36721 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36722 : };
36723 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36724 : static_assert(0 < 1, "There is no slot for us");
36725 : static const JSJitInfo _moz_stack_sizing_setterinfo = {
36726 : { (JSJitGetterOp)set__moz_stack_sizing },
36727 : { prototypes::id::CSS2Properties },
36728 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36729 : JSJitInfo::Setter,
36730 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36731 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
36732 : false, /* isInfallible. False in setters. */
36733 : false, /* isMovable. Not relevant for setters. */
36734 : false, /* isEliminatable. Not relevant for setters. */
36735 : false, /* isAlwaysInSlot. Only relevant for getters. */
36736 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36737 : false, /* isTypedMethod. Only relevant for methods. */
36738 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36739 : };
36740 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36741 : static_assert(0 < 1, "There is no slot for us");
36742 :
36743 : static bool
36744 0 : get_stopColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
36745 : {
36746 0 : binding_detail::FastErrorResult rv;
36747 0 : DOMString result;
36748 0 : self->GetStopColor(result, rv);
36749 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36750 0 : return false;
36751 : }
36752 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36753 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
36754 0 : return false;
36755 : }
36756 0 : return true;
36757 : }
36758 :
36759 : static bool
36760 0 : set_stopColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
36761 : {
36762 0 : binding_detail::FakeString arg0;
36763 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
36764 0 : return false;
36765 : }
36766 0 : binding_detail::FastErrorResult rv;
36767 0 : self->SetStopColor(NonNullHelper(Constify(arg0)), rv);
36768 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36769 0 : return false;
36770 : }
36771 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36772 :
36773 0 : return true;
36774 : }
36775 :
36776 : static const JSJitInfo stopColor_getterinfo = {
36777 : { (JSJitGetterOp)get_stopColor },
36778 : { prototypes::id::CSS2Properties },
36779 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36780 : JSJitInfo::Getter,
36781 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36782 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
36783 : false, /* isInfallible. False in setters. */
36784 : false, /* isMovable. Not relevant for setters. */
36785 : false, /* isEliminatable. Not relevant for setters. */
36786 : false, /* isAlwaysInSlot. Only relevant for getters. */
36787 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36788 : false, /* isTypedMethod. Only relevant for methods. */
36789 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36790 : };
36791 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36792 : static_assert(0 < 1, "There is no slot for us");
36793 : static const JSJitInfo stopColor_setterinfo = {
36794 : { (JSJitGetterOp)set_stopColor },
36795 : { prototypes::id::CSS2Properties },
36796 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36797 : JSJitInfo::Setter,
36798 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36799 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
36800 : false, /* isInfallible. False in setters. */
36801 : false, /* isMovable. Not relevant for setters. */
36802 : false, /* isEliminatable. Not relevant for setters. */
36803 : false, /* isAlwaysInSlot. Only relevant for getters. */
36804 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36805 : false, /* isTypedMethod. Only relevant for methods. */
36806 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36807 : };
36808 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36809 : static_assert(0 < 1, "There is no slot for us");
36810 :
36811 : static bool
36812 0 : get_stop_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
36813 : {
36814 0 : binding_detail::FastErrorResult rv;
36815 0 : DOMString result;
36816 0 : self->GetStopColor(result, rv);
36817 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36818 0 : return false;
36819 : }
36820 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36821 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
36822 0 : return false;
36823 : }
36824 0 : return true;
36825 : }
36826 :
36827 : static bool
36828 0 : set_stop_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
36829 : {
36830 0 : binding_detail::FakeString arg0;
36831 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
36832 0 : return false;
36833 : }
36834 0 : binding_detail::FastErrorResult rv;
36835 0 : self->SetStopColor(NonNullHelper(Constify(arg0)), rv);
36836 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36837 0 : return false;
36838 : }
36839 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36840 :
36841 0 : return true;
36842 : }
36843 :
36844 : static const JSJitInfo stop_color_getterinfo = {
36845 : { (JSJitGetterOp)get_stop_color },
36846 : { prototypes::id::CSS2Properties },
36847 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36848 : JSJitInfo::Getter,
36849 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36850 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
36851 : false, /* isInfallible. False in setters. */
36852 : false, /* isMovable. Not relevant for setters. */
36853 : false, /* isEliminatable. Not relevant for setters. */
36854 : false, /* isAlwaysInSlot. Only relevant for getters. */
36855 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36856 : false, /* isTypedMethod. Only relevant for methods. */
36857 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36858 : };
36859 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36860 : static_assert(0 < 1, "There is no slot for us");
36861 : static const JSJitInfo stop_color_setterinfo = {
36862 : { (JSJitGetterOp)set_stop_color },
36863 : { prototypes::id::CSS2Properties },
36864 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36865 : JSJitInfo::Setter,
36866 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36867 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
36868 : false, /* isInfallible. False in setters. */
36869 : false, /* isMovable. Not relevant for setters. */
36870 : false, /* isEliminatable. Not relevant for setters. */
36871 : false, /* isAlwaysInSlot. Only relevant for getters. */
36872 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36873 : false, /* isTypedMethod. Only relevant for methods. */
36874 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36875 : };
36876 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36877 : static_assert(0 < 1, "There is no slot for us");
36878 :
36879 : static bool
36880 0 : get_stopOpacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
36881 : {
36882 0 : binding_detail::FastErrorResult rv;
36883 0 : DOMString result;
36884 0 : self->GetStopOpacity(result, rv);
36885 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36886 0 : return false;
36887 : }
36888 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36889 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
36890 0 : return false;
36891 : }
36892 0 : return true;
36893 : }
36894 :
36895 : static bool
36896 0 : set_stopOpacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
36897 : {
36898 0 : binding_detail::FakeString arg0;
36899 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
36900 0 : return false;
36901 : }
36902 0 : binding_detail::FastErrorResult rv;
36903 0 : self->SetStopOpacity(NonNullHelper(Constify(arg0)), rv);
36904 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36905 0 : return false;
36906 : }
36907 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36908 :
36909 0 : return true;
36910 : }
36911 :
36912 : static const JSJitInfo stopOpacity_getterinfo = {
36913 : { (JSJitGetterOp)get_stopOpacity },
36914 : { prototypes::id::CSS2Properties },
36915 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36916 : JSJitInfo::Getter,
36917 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36918 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
36919 : false, /* isInfallible. False in setters. */
36920 : false, /* isMovable. Not relevant for setters. */
36921 : false, /* isEliminatable. Not relevant for setters. */
36922 : false, /* isAlwaysInSlot. Only relevant for getters. */
36923 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36924 : false, /* isTypedMethod. Only relevant for methods. */
36925 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36926 : };
36927 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36928 : static_assert(0 < 1, "There is no slot for us");
36929 : static const JSJitInfo stopOpacity_setterinfo = {
36930 : { (JSJitGetterOp)set_stopOpacity },
36931 : { prototypes::id::CSS2Properties },
36932 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36933 : JSJitInfo::Setter,
36934 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36935 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
36936 : false, /* isInfallible. False in setters. */
36937 : false, /* isMovable. Not relevant for setters. */
36938 : false, /* isEliminatable. Not relevant for setters. */
36939 : false, /* isAlwaysInSlot. Only relevant for getters. */
36940 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36941 : false, /* isTypedMethod. Only relevant for methods. */
36942 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36943 : };
36944 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36945 : static_assert(0 < 1, "There is no slot for us");
36946 :
36947 : static bool
36948 0 : get_stop_opacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
36949 : {
36950 0 : binding_detail::FastErrorResult rv;
36951 0 : DOMString result;
36952 0 : self->GetStopOpacity(result, rv);
36953 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36954 0 : return false;
36955 : }
36956 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36957 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
36958 0 : return false;
36959 : }
36960 0 : return true;
36961 : }
36962 :
36963 : static bool
36964 0 : set_stop_opacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
36965 : {
36966 0 : binding_detail::FakeString arg0;
36967 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
36968 0 : return false;
36969 : }
36970 0 : binding_detail::FastErrorResult rv;
36971 0 : self->SetStopOpacity(NonNullHelper(Constify(arg0)), rv);
36972 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
36973 0 : return false;
36974 : }
36975 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
36976 :
36977 0 : return true;
36978 : }
36979 :
36980 : static const JSJitInfo stop_opacity_getterinfo = {
36981 : { (JSJitGetterOp)get_stop_opacity },
36982 : { prototypes::id::CSS2Properties },
36983 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
36984 : JSJitInfo::Getter,
36985 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
36986 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
36987 : false, /* isInfallible. False in setters. */
36988 : false, /* isMovable. Not relevant for setters. */
36989 : false, /* isEliminatable. Not relevant for setters. */
36990 : false, /* isAlwaysInSlot. Only relevant for getters. */
36991 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
36992 : false, /* isTypedMethod. Only relevant for methods. */
36993 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
36994 : };
36995 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
36996 : static_assert(0 < 1, "There is no slot for us");
36997 : static const JSJitInfo stop_opacity_setterinfo = {
36998 : { (JSJitGetterOp)set_stop_opacity },
36999 : { prototypes::id::CSS2Properties },
37000 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37001 : JSJitInfo::Setter,
37002 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37003 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
37004 : false, /* isInfallible. False in setters. */
37005 : false, /* isMovable. Not relevant for setters. */
37006 : false, /* isEliminatable. Not relevant for setters. */
37007 : false, /* isAlwaysInSlot. Only relevant for getters. */
37008 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37009 : false, /* isTypedMethod. Only relevant for methods. */
37010 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37011 : };
37012 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37013 : static_assert(0 < 1, "There is no slot for us");
37014 :
37015 : static bool
37016 0 : get_stroke(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
37017 : {
37018 0 : binding_detail::FastErrorResult rv;
37019 0 : DOMString result;
37020 0 : self->GetStroke(result, rv);
37021 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37022 0 : return false;
37023 : }
37024 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37025 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
37026 0 : return false;
37027 : }
37028 0 : return true;
37029 : }
37030 :
37031 : static bool
37032 0 : set_stroke(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
37033 : {
37034 0 : binding_detail::FakeString arg0;
37035 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
37036 0 : return false;
37037 : }
37038 0 : binding_detail::FastErrorResult rv;
37039 0 : self->SetStroke(NonNullHelper(Constify(arg0)), rv);
37040 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37041 0 : return false;
37042 : }
37043 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37044 :
37045 0 : return true;
37046 : }
37047 :
37048 : static const JSJitInfo stroke_getterinfo = {
37049 : { (JSJitGetterOp)get_stroke },
37050 : { prototypes::id::CSS2Properties },
37051 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37052 : JSJitInfo::Getter,
37053 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37054 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
37055 : false, /* isInfallible. False in setters. */
37056 : false, /* isMovable. Not relevant for setters. */
37057 : false, /* isEliminatable. Not relevant for setters. */
37058 : false, /* isAlwaysInSlot. Only relevant for getters. */
37059 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37060 : false, /* isTypedMethod. Only relevant for methods. */
37061 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37062 : };
37063 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37064 : static_assert(0 < 1, "There is no slot for us");
37065 : static const JSJitInfo stroke_setterinfo = {
37066 : { (JSJitGetterOp)set_stroke },
37067 : { prototypes::id::CSS2Properties },
37068 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37069 : JSJitInfo::Setter,
37070 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37071 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
37072 : false, /* isInfallible. False in setters. */
37073 : false, /* isMovable. Not relevant for setters. */
37074 : false, /* isEliminatable. Not relevant for setters. */
37075 : false, /* isAlwaysInSlot. Only relevant for getters. */
37076 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37077 : false, /* isTypedMethod. Only relevant for methods. */
37078 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37079 : };
37080 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37081 : static_assert(0 < 1, "There is no slot for us");
37082 :
37083 : static bool
37084 0 : get_strokeDasharray(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
37085 : {
37086 0 : binding_detail::FastErrorResult rv;
37087 0 : DOMString result;
37088 0 : self->GetStrokeDasharray(result, rv);
37089 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37090 0 : return false;
37091 : }
37092 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37093 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
37094 0 : return false;
37095 : }
37096 0 : return true;
37097 : }
37098 :
37099 : static bool
37100 0 : set_strokeDasharray(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
37101 : {
37102 0 : binding_detail::FakeString arg0;
37103 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
37104 0 : return false;
37105 : }
37106 0 : binding_detail::FastErrorResult rv;
37107 0 : self->SetStrokeDasharray(NonNullHelper(Constify(arg0)), rv);
37108 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37109 0 : return false;
37110 : }
37111 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37112 :
37113 0 : return true;
37114 : }
37115 :
37116 : static const JSJitInfo strokeDasharray_getterinfo = {
37117 : { (JSJitGetterOp)get_strokeDasharray },
37118 : { prototypes::id::CSS2Properties },
37119 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37120 : JSJitInfo::Getter,
37121 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37122 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
37123 : false, /* isInfallible. False in setters. */
37124 : false, /* isMovable. Not relevant for setters. */
37125 : false, /* isEliminatable. Not relevant for setters. */
37126 : false, /* isAlwaysInSlot. Only relevant for getters. */
37127 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37128 : false, /* isTypedMethod. Only relevant for methods. */
37129 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37130 : };
37131 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37132 : static_assert(0 < 1, "There is no slot for us");
37133 : static const JSJitInfo strokeDasharray_setterinfo = {
37134 : { (JSJitGetterOp)set_strokeDasharray },
37135 : { prototypes::id::CSS2Properties },
37136 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37137 : JSJitInfo::Setter,
37138 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37139 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
37140 : false, /* isInfallible. False in setters. */
37141 : false, /* isMovable. Not relevant for setters. */
37142 : false, /* isEliminatable. Not relevant for setters. */
37143 : false, /* isAlwaysInSlot. Only relevant for getters. */
37144 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37145 : false, /* isTypedMethod. Only relevant for methods. */
37146 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37147 : };
37148 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37149 : static_assert(0 < 1, "There is no slot for us");
37150 :
37151 : static bool
37152 0 : get_stroke_dasharray(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
37153 : {
37154 0 : binding_detail::FastErrorResult rv;
37155 0 : DOMString result;
37156 0 : self->GetStrokeDasharray(result, rv);
37157 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37158 0 : return false;
37159 : }
37160 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37161 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
37162 0 : return false;
37163 : }
37164 0 : return true;
37165 : }
37166 :
37167 : static bool
37168 0 : set_stroke_dasharray(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
37169 : {
37170 0 : binding_detail::FakeString arg0;
37171 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
37172 0 : return false;
37173 : }
37174 0 : binding_detail::FastErrorResult rv;
37175 0 : self->SetStrokeDasharray(NonNullHelper(Constify(arg0)), rv);
37176 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37177 0 : return false;
37178 : }
37179 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37180 :
37181 0 : return true;
37182 : }
37183 :
37184 : static const JSJitInfo stroke_dasharray_getterinfo = {
37185 : { (JSJitGetterOp)get_stroke_dasharray },
37186 : { prototypes::id::CSS2Properties },
37187 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37188 : JSJitInfo::Getter,
37189 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37190 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
37191 : false, /* isInfallible. False in setters. */
37192 : false, /* isMovable. Not relevant for setters. */
37193 : false, /* isEliminatable. Not relevant for setters. */
37194 : false, /* isAlwaysInSlot. Only relevant for getters. */
37195 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37196 : false, /* isTypedMethod. Only relevant for methods. */
37197 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37198 : };
37199 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37200 : static_assert(0 < 1, "There is no slot for us");
37201 : static const JSJitInfo stroke_dasharray_setterinfo = {
37202 : { (JSJitGetterOp)set_stroke_dasharray },
37203 : { prototypes::id::CSS2Properties },
37204 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37205 : JSJitInfo::Setter,
37206 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37207 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
37208 : false, /* isInfallible. False in setters. */
37209 : false, /* isMovable. Not relevant for setters. */
37210 : false, /* isEliminatable. Not relevant for setters. */
37211 : false, /* isAlwaysInSlot. Only relevant for getters. */
37212 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37213 : false, /* isTypedMethod. Only relevant for methods. */
37214 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37215 : };
37216 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37217 : static_assert(0 < 1, "There is no slot for us");
37218 :
37219 : static bool
37220 0 : get_strokeDashoffset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
37221 : {
37222 0 : binding_detail::FastErrorResult rv;
37223 0 : DOMString result;
37224 0 : self->GetStrokeDashoffset(result, rv);
37225 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37226 0 : return false;
37227 : }
37228 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37229 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
37230 0 : return false;
37231 : }
37232 0 : return true;
37233 : }
37234 :
37235 : static bool
37236 0 : set_strokeDashoffset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
37237 : {
37238 0 : binding_detail::FakeString arg0;
37239 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
37240 0 : return false;
37241 : }
37242 0 : binding_detail::FastErrorResult rv;
37243 0 : self->SetStrokeDashoffset(NonNullHelper(Constify(arg0)), rv);
37244 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37245 0 : return false;
37246 : }
37247 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37248 :
37249 0 : return true;
37250 : }
37251 :
37252 : static const JSJitInfo strokeDashoffset_getterinfo = {
37253 : { (JSJitGetterOp)get_strokeDashoffset },
37254 : { prototypes::id::CSS2Properties },
37255 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37256 : JSJitInfo::Getter,
37257 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37258 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
37259 : false, /* isInfallible. False in setters. */
37260 : false, /* isMovable. Not relevant for setters. */
37261 : false, /* isEliminatable. Not relevant for setters. */
37262 : false, /* isAlwaysInSlot. Only relevant for getters. */
37263 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37264 : false, /* isTypedMethod. Only relevant for methods. */
37265 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37266 : };
37267 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37268 : static_assert(0 < 1, "There is no slot for us");
37269 : static const JSJitInfo strokeDashoffset_setterinfo = {
37270 : { (JSJitGetterOp)set_strokeDashoffset },
37271 : { prototypes::id::CSS2Properties },
37272 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37273 : JSJitInfo::Setter,
37274 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37275 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
37276 : false, /* isInfallible. False in setters. */
37277 : false, /* isMovable. Not relevant for setters. */
37278 : false, /* isEliminatable. Not relevant for setters. */
37279 : false, /* isAlwaysInSlot. Only relevant for getters. */
37280 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37281 : false, /* isTypedMethod. Only relevant for methods. */
37282 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37283 : };
37284 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37285 : static_assert(0 < 1, "There is no slot for us");
37286 :
37287 : static bool
37288 0 : get_stroke_dashoffset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
37289 : {
37290 0 : binding_detail::FastErrorResult rv;
37291 0 : DOMString result;
37292 0 : self->GetStrokeDashoffset(result, rv);
37293 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37294 0 : return false;
37295 : }
37296 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37297 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
37298 0 : return false;
37299 : }
37300 0 : return true;
37301 : }
37302 :
37303 : static bool
37304 0 : set_stroke_dashoffset(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
37305 : {
37306 0 : binding_detail::FakeString arg0;
37307 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
37308 0 : return false;
37309 : }
37310 0 : binding_detail::FastErrorResult rv;
37311 0 : self->SetStrokeDashoffset(NonNullHelper(Constify(arg0)), rv);
37312 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37313 0 : return false;
37314 : }
37315 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37316 :
37317 0 : return true;
37318 : }
37319 :
37320 : static const JSJitInfo stroke_dashoffset_getterinfo = {
37321 : { (JSJitGetterOp)get_stroke_dashoffset },
37322 : { prototypes::id::CSS2Properties },
37323 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37324 : JSJitInfo::Getter,
37325 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37326 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
37327 : false, /* isInfallible. False in setters. */
37328 : false, /* isMovable. Not relevant for setters. */
37329 : false, /* isEliminatable. Not relevant for setters. */
37330 : false, /* isAlwaysInSlot. Only relevant for getters. */
37331 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37332 : false, /* isTypedMethod. Only relevant for methods. */
37333 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37334 : };
37335 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37336 : static_assert(0 < 1, "There is no slot for us");
37337 : static const JSJitInfo stroke_dashoffset_setterinfo = {
37338 : { (JSJitGetterOp)set_stroke_dashoffset },
37339 : { prototypes::id::CSS2Properties },
37340 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37341 : JSJitInfo::Setter,
37342 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37343 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
37344 : false, /* isInfallible. False in setters. */
37345 : false, /* isMovable. Not relevant for setters. */
37346 : false, /* isEliminatable. Not relevant for setters. */
37347 : false, /* isAlwaysInSlot. Only relevant for getters. */
37348 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37349 : false, /* isTypedMethod. Only relevant for methods. */
37350 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37351 : };
37352 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37353 : static_assert(0 < 1, "There is no slot for us");
37354 :
37355 : static bool
37356 0 : get_strokeLinecap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
37357 : {
37358 0 : binding_detail::FastErrorResult rv;
37359 0 : DOMString result;
37360 0 : self->GetStrokeLinecap(result, rv);
37361 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37362 0 : return false;
37363 : }
37364 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37365 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
37366 0 : return false;
37367 : }
37368 0 : return true;
37369 : }
37370 :
37371 : static bool
37372 0 : set_strokeLinecap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
37373 : {
37374 0 : binding_detail::FakeString arg0;
37375 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
37376 0 : return false;
37377 : }
37378 0 : binding_detail::FastErrorResult rv;
37379 0 : self->SetStrokeLinecap(NonNullHelper(Constify(arg0)), rv);
37380 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37381 0 : return false;
37382 : }
37383 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37384 :
37385 0 : return true;
37386 : }
37387 :
37388 : static const JSJitInfo strokeLinecap_getterinfo = {
37389 : { (JSJitGetterOp)get_strokeLinecap },
37390 : { prototypes::id::CSS2Properties },
37391 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37392 : JSJitInfo::Getter,
37393 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37394 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
37395 : false, /* isInfallible. False in setters. */
37396 : false, /* isMovable. Not relevant for setters. */
37397 : false, /* isEliminatable. Not relevant for setters. */
37398 : false, /* isAlwaysInSlot. Only relevant for getters. */
37399 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37400 : false, /* isTypedMethod. Only relevant for methods. */
37401 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37402 : };
37403 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37404 : static_assert(0 < 1, "There is no slot for us");
37405 : static const JSJitInfo strokeLinecap_setterinfo = {
37406 : { (JSJitGetterOp)set_strokeLinecap },
37407 : { prototypes::id::CSS2Properties },
37408 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37409 : JSJitInfo::Setter,
37410 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37411 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
37412 : false, /* isInfallible. False in setters. */
37413 : false, /* isMovable. Not relevant for setters. */
37414 : false, /* isEliminatable. Not relevant for setters. */
37415 : false, /* isAlwaysInSlot. Only relevant for getters. */
37416 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37417 : false, /* isTypedMethod. Only relevant for methods. */
37418 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37419 : };
37420 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37421 : static_assert(0 < 1, "There is no slot for us");
37422 :
37423 : static bool
37424 0 : get_stroke_linecap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
37425 : {
37426 0 : binding_detail::FastErrorResult rv;
37427 0 : DOMString result;
37428 0 : self->GetStrokeLinecap(result, rv);
37429 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37430 0 : return false;
37431 : }
37432 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37433 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
37434 0 : return false;
37435 : }
37436 0 : return true;
37437 : }
37438 :
37439 : static bool
37440 0 : set_stroke_linecap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
37441 : {
37442 0 : binding_detail::FakeString arg0;
37443 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
37444 0 : return false;
37445 : }
37446 0 : binding_detail::FastErrorResult rv;
37447 0 : self->SetStrokeLinecap(NonNullHelper(Constify(arg0)), rv);
37448 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37449 0 : return false;
37450 : }
37451 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37452 :
37453 0 : return true;
37454 : }
37455 :
37456 : static const JSJitInfo stroke_linecap_getterinfo = {
37457 : { (JSJitGetterOp)get_stroke_linecap },
37458 : { prototypes::id::CSS2Properties },
37459 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37460 : JSJitInfo::Getter,
37461 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37462 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
37463 : false, /* isInfallible. False in setters. */
37464 : false, /* isMovable. Not relevant for setters. */
37465 : false, /* isEliminatable. Not relevant for setters. */
37466 : false, /* isAlwaysInSlot. Only relevant for getters. */
37467 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37468 : false, /* isTypedMethod. Only relevant for methods. */
37469 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37470 : };
37471 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37472 : static_assert(0 < 1, "There is no slot for us");
37473 : static const JSJitInfo stroke_linecap_setterinfo = {
37474 : { (JSJitGetterOp)set_stroke_linecap },
37475 : { prototypes::id::CSS2Properties },
37476 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37477 : JSJitInfo::Setter,
37478 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37479 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
37480 : false, /* isInfallible. False in setters. */
37481 : false, /* isMovable. Not relevant for setters. */
37482 : false, /* isEliminatable. Not relevant for setters. */
37483 : false, /* isAlwaysInSlot. Only relevant for getters. */
37484 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37485 : false, /* isTypedMethod. Only relevant for methods. */
37486 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37487 : };
37488 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37489 : static_assert(0 < 1, "There is no slot for us");
37490 :
37491 : static bool
37492 0 : get_strokeLinejoin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
37493 : {
37494 0 : binding_detail::FastErrorResult rv;
37495 0 : DOMString result;
37496 0 : self->GetStrokeLinejoin(result, rv);
37497 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37498 0 : return false;
37499 : }
37500 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37501 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
37502 0 : return false;
37503 : }
37504 0 : return true;
37505 : }
37506 :
37507 : static bool
37508 0 : set_strokeLinejoin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
37509 : {
37510 0 : binding_detail::FakeString arg0;
37511 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
37512 0 : return false;
37513 : }
37514 0 : binding_detail::FastErrorResult rv;
37515 0 : self->SetStrokeLinejoin(NonNullHelper(Constify(arg0)), rv);
37516 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37517 0 : return false;
37518 : }
37519 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37520 :
37521 0 : return true;
37522 : }
37523 :
37524 : static const JSJitInfo strokeLinejoin_getterinfo = {
37525 : { (JSJitGetterOp)get_strokeLinejoin },
37526 : { prototypes::id::CSS2Properties },
37527 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37528 : JSJitInfo::Getter,
37529 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37530 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
37531 : false, /* isInfallible. False in setters. */
37532 : false, /* isMovable. Not relevant for setters. */
37533 : false, /* isEliminatable. Not relevant for setters. */
37534 : false, /* isAlwaysInSlot. Only relevant for getters. */
37535 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37536 : false, /* isTypedMethod. Only relevant for methods. */
37537 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37538 : };
37539 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37540 : static_assert(0 < 1, "There is no slot for us");
37541 : static const JSJitInfo strokeLinejoin_setterinfo = {
37542 : { (JSJitGetterOp)set_strokeLinejoin },
37543 : { prototypes::id::CSS2Properties },
37544 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37545 : JSJitInfo::Setter,
37546 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37547 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
37548 : false, /* isInfallible. False in setters. */
37549 : false, /* isMovable. Not relevant for setters. */
37550 : false, /* isEliminatable. Not relevant for setters. */
37551 : false, /* isAlwaysInSlot. Only relevant for getters. */
37552 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37553 : false, /* isTypedMethod. Only relevant for methods. */
37554 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37555 : };
37556 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37557 : static_assert(0 < 1, "There is no slot for us");
37558 :
37559 : static bool
37560 0 : get_stroke_linejoin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
37561 : {
37562 0 : binding_detail::FastErrorResult rv;
37563 0 : DOMString result;
37564 0 : self->GetStrokeLinejoin(result, rv);
37565 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37566 0 : return false;
37567 : }
37568 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37569 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
37570 0 : return false;
37571 : }
37572 0 : return true;
37573 : }
37574 :
37575 : static bool
37576 0 : set_stroke_linejoin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
37577 : {
37578 0 : binding_detail::FakeString arg0;
37579 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
37580 0 : return false;
37581 : }
37582 0 : binding_detail::FastErrorResult rv;
37583 0 : self->SetStrokeLinejoin(NonNullHelper(Constify(arg0)), rv);
37584 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37585 0 : return false;
37586 : }
37587 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37588 :
37589 0 : return true;
37590 : }
37591 :
37592 : static const JSJitInfo stroke_linejoin_getterinfo = {
37593 : { (JSJitGetterOp)get_stroke_linejoin },
37594 : { prototypes::id::CSS2Properties },
37595 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37596 : JSJitInfo::Getter,
37597 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37598 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
37599 : false, /* isInfallible. False in setters. */
37600 : false, /* isMovable. Not relevant for setters. */
37601 : false, /* isEliminatable. Not relevant for setters. */
37602 : false, /* isAlwaysInSlot. Only relevant for getters. */
37603 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37604 : false, /* isTypedMethod. Only relevant for methods. */
37605 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37606 : };
37607 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37608 : static_assert(0 < 1, "There is no slot for us");
37609 : static const JSJitInfo stroke_linejoin_setterinfo = {
37610 : { (JSJitGetterOp)set_stroke_linejoin },
37611 : { prototypes::id::CSS2Properties },
37612 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37613 : JSJitInfo::Setter,
37614 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37615 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
37616 : false, /* isInfallible. False in setters. */
37617 : false, /* isMovable. Not relevant for setters. */
37618 : false, /* isEliminatable. Not relevant for setters. */
37619 : false, /* isAlwaysInSlot. Only relevant for getters. */
37620 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37621 : false, /* isTypedMethod. Only relevant for methods. */
37622 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37623 : };
37624 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37625 : static_assert(0 < 1, "There is no slot for us");
37626 :
37627 : static bool
37628 0 : get_strokeMiterlimit(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
37629 : {
37630 0 : binding_detail::FastErrorResult rv;
37631 0 : DOMString result;
37632 0 : self->GetStrokeMiterlimit(result, rv);
37633 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37634 0 : return false;
37635 : }
37636 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37637 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
37638 0 : return false;
37639 : }
37640 0 : return true;
37641 : }
37642 :
37643 : static bool
37644 0 : set_strokeMiterlimit(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
37645 : {
37646 0 : binding_detail::FakeString arg0;
37647 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
37648 0 : return false;
37649 : }
37650 0 : binding_detail::FastErrorResult rv;
37651 0 : self->SetStrokeMiterlimit(NonNullHelper(Constify(arg0)), rv);
37652 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37653 0 : return false;
37654 : }
37655 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37656 :
37657 0 : return true;
37658 : }
37659 :
37660 : static const JSJitInfo strokeMiterlimit_getterinfo = {
37661 : { (JSJitGetterOp)get_strokeMiterlimit },
37662 : { prototypes::id::CSS2Properties },
37663 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37664 : JSJitInfo::Getter,
37665 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37666 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
37667 : false, /* isInfallible. False in setters. */
37668 : false, /* isMovable. Not relevant for setters. */
37669 : false, /* isEliminatable. Not relevant for setters. */
37670 : false, /* isAlwaysInSlot. Only relevant for getters. */
37671 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37672 : false, /* isTypedMethod. Only relevant for methods. */
37673 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37674 : };
37675 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37676 : static_assert(0 < 1, "There is no slot for us");
37677 : static const JSJitInfo strokeMiterlimit_setterinfo = {
37678 : { (JSJitGetterOp)set_strokeMiterlimit },
37679 : { prototypes::id::CSS2Properties },
37680 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37681 : JSJitInfo::Setter,
37682 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37683 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
37684 : false, /* isInfallible. False in setters. */
37685 : false, /* isMovable. Not relevant for setters. */
37686 : false, /* isEliminatable. Not relevant for setters. */
37687 : false, /* isAlwaysInSlot. Only relevant for getters. */
37688 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37689 : false, /* isTypedMethod. Only relevant for methods. */
37690 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37691 : };
37692 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37693 : static_assert(0 < 1, "There is no slot for us");
37694 :
37695 : static bool
37696 0 : get_stroke_miterlimit(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
37697 : {
37698 0 : binding_detail::FastErrorResult rv;
37699 0 : DOMString result;
37700 0 : self->GetStrokeMiterlimit(result, rv);
37701 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37702 0 : return false;
37703 : }
37704 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37705 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
37706 0 : return false;
37707 : }
37708 0 : return true;
37709 : }
37710 :
37711 : static bool
37712 0 : set_stroke_miterlimit(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
37713 : {
37714 0 : binding_detail::FakeString arg0;
37715 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
37716 0 : return false;
37717 : }
37718 0 : binding_detail::FastErrorResult rv;
37719 0 : self->SetStrokeMiterlimit(NonNullHelper(Constify(arg0)), rv);
37720 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37721 0 : return false;
37722 : }
37723 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37724 :
37725 0 : return true;
37726 : }
37727 :
37728 : static const JSJitInfo stroke_miterlimit_getterinfo = {
37729 : { (JSJitGetterOp)get_stroke_miterlimit },
37730 : { prototypes::id::CSS2Properties },
37731 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37732 : JSJitInfo::Getter,
37733 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37734 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
37735 : false, /* isInfallible. False in setters. */
37736 : false, /* isMovable. Not relevant for setters. */
37737 : false, /* isEliminatable. Not relevant for setters. */
37738 : false, /* isAlwaysInSlot. Only relevant for getters. */
37739 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37740 : false, /* isTypedMethod. Only relevant for methods. */
37741 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37742 : };
37743 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37744 : static_assert(0 < 1, "There is no slot for us");
37745 : static const JSJitInfo stroke_miterlimit_setterinfo = {
37746 : { (JSJitGetterOp)set_stroke_miterlimit },
37747 : { prototypes::id::CSS2Properties },
37748 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37749 : JSJitInfo::Setter,
37750 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37751 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
37752 : false, /* isInfallible. False in setters. */
37753 : false, /* isMovable. Not relevant for setters. */
37754 : false, /* isEliminatable. Not relevant for setters. */
37755 : false, /* isAlwaysInSlot. Only relevant for getters. */
37756 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37757 : false, /* isTypedMethod. Only relevant for methods. */
37758 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37759 : };
37760 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37761 : static_assert(0 < 1, "There is no slot for us");
37762 :
37763 : static bool
37764 0 : get_strokeOpacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
37765 : {
37766 0 : binding_detail::FastErrorResult rv;
37767 0 : DOMString result;
37768 0 : self->GetStrokeOpacity(result, rv);
37769 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37770 0 : return false;
37771 : }
37772 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37773 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
37774 0 : return false;
37775 : }
37776 0 : return true;
37777 : }
37778 :
37779 : static bool
37780 0 : set_strokeOpacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
37781 : {
37782 0 : binding_detail::FakeString arg0;
37783 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
37784 0 : return false;
37785 : }
37786 0 : binding_detail::FastErrorResult rv;
37787 0 : self->SetStrokeOpacity(NonNullHelper(Constify(arg0)), rv);
37788 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37789 0 : return false;
37790 : }
37791 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37792 :
37793 0 : return true;
37794 : }
37795 :
37796 : static const JSJitInfo strokeOpacity_getterinfo = {
37797 : { (JSJitGetterOp)get_strokeOpacity },
37798 : { prototypes::id::CSS2Properties },
37799 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37800 : JSJitInfo::Getter,
37801 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37802 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
37803 : false, /* isInfallible. False in setters. */
37804 : false, /* isMovable. Not relevant for setters. */
37805 : false, /* isEliminatable. Not relevant for setters. */
37806 : false, /* isAlwaysInSlot. Only relevant for getters. */
37807 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37808 : false, /* isTypedMethod. Only relevant for methods. */
37809 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37810 : };
37811 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37812 : static_assert(0 < 1, "There is no slot for us");
37813 : static const JSJitInfo strokeOpacity_setterinfo = {
37814 : { (JSJitGetterOp)set_strokeOpacity },
37815 : { prototypes::id::CSS2Properties },
37816 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37817 : JSJitInfo::Setter,
37818 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37819 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
37820 : false, /* isInfallible. False in setters. */
37821 : false, /* isMovable. Not relevant for setters. */
37822 : false, /* isEliminatable. Not relevant for setters. */
37823 : false, /* isAlwaysInSlot. Only relevant for getters. */
37824 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37825 : false, /* isTypedMethod. Only relevant for methods. */
37826 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37827 : };
37828 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37829 : static_assert(0 < 1, "There is no slot for us");
37830 :
37831 : static bool
37832 0 : get_stroke_opacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
37833 : {
37834 0 : binding_detail::FastErrorResult rv;
37835 0 : DOMString result;
37836 0 : self->GetStrokeOpacity(result, rv);
37837 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37838 0 : return false;
37839 : }
37840 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37841 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
37842 0 : return false;
37843 : }
37844 0 : return true;
37845 : }
37846 :
37847 : static bool
37848 0 : set_stroke_opacity(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
37849 : {
37850 0 : binding_detail::FakeString arg0;
37851 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
37852 0 : return false;
37853 : }
37854 0 : binding_detail::FastErrorResult rv;
37855 0 : self->SetStrokeOpacity(NonNullHelper(Constify(arg0)), rv);
37856 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37857 0 : return false;
37858 : }
37859 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37860 :
37861 0 : return true;
37862 : }
37863 :
37864 : static const JSJitInfo stroke_opacity_getterinfo = {
37865 : { (JSJitGetterOp)get_stroke_opacity },
37866 : { prototypes::id::CSS2Properties },
37867 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37868 : JSJitInfo::Getter,
37869 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37870 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
37871 : false, /* isInfallible. False in setters. */
37872 : false, /* isMovable. Not relevant for setters. */
37873 : false, /* isEliminatable. Not relevant for setters. */
37874 : false, /* isAlwaysInSlot. Only relevant for getters. */
37875 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37876 : false, /* isTypedMethod. Only relevant for methods. */
37877 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37878 : };
37879 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37880 : static_assert(0 < 1, "There is no slot for us");
37881 : static const JSJitInfo stroke_opacity_setterinfo = {
37882 : { (JSJitGetterOp)set_stroke_opacity },
37883 : { prototypes::id::CSS2Properties },
37884 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37885 : JSJitInfo::Setter,
37886 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37887 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
37888 : false, /* isInfallible. False in setters. */
37889 : false, /* isMovable. Not relevant for setters. */
37890 : false, /* isEliminatable. Not relevant for setters. */
37891 : false, /* isAlwaysInSlot. Only relevant for getters. */
37892 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37893 : false, /* isTypedMethod. Only relevant for methods. */
37894 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37895 : };
37896 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37897 : static_assert(0 < 1, "There is no slot for us");
37898 :
37899 : static bool
37900 0 : get_strokeWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
37901 : {
37902 0 : binding_detail::FastErrorResult rv;
37903 0 : DOMString result;
37904 0 : self->GetStrokeWidth(result, rv);
37905 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37906 0 : return false;
37907 : }
37908 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37909 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
37910 0 : return false;
37911 : }
37912 0 : return true;
37913 : }
37914 :
37915 : static bool
37916 0 : set_strokeWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
37917 : {
37918 0 : binding_detail::FakeString arg0;
37919 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
37920 0 : return false;
37921 : }
37922 0 : binding_detail::FastErrorResult rv;
37923 0 : self->SetStrokeWidth(NonNullHelper(Constify(arg0)), rv);
37924 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37925 0 : return false;
37926 : }
37927 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37928 :
37929 0 : return true;
37930 : }
37931 :
37932 : static const JSJitInfo strokeWidth_getterinfo = {
37933 : { (JSJitGetterOp)get_strokeWidth },
37934 : { prototypes::id::CSS2Properties },
37935 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37936 : JSJitInfo::Getter,
37937 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37938 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
37939 : false, /* isInfallible. False in setters. */
37940 : false, /* isMovable. Not relevant for setters. */
37941 : false, /* isEliminatable. Not relevant for setters. */
37942 : false, /* isAlwaysInSlot. Only relevant for getters. */
37943 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37944 : false, /* isTypedMethod. Only relevant for methods. */
37945 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37946 : };
37947 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37948 : static_assert(0 < 1, "There is no slot for us");
37949 : static const JSJitInfo strokeWidth_setterinfo = {
37950 : { (JSJitGetterOp)set_strokeWidth },
37951 : { prototypes::id::CSS2Properties },
37952 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
37953 : JSJitInfo::Setter,
37954 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
37955 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
37956 : false, /* isInfallible. False in setters. */
37957 : false, /* isMovable. Not relevant for setters. */
37958 : false, /* isEliminatable. Not relevant for setters. */
37959 : false, /* isAlwaysInSlot. Only relevant for getters. */
37960 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
37961 : false, /* isTypedMethod. Only relevant for methods. */
37962 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
37963 : };
37964 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
37965 : static_assert(0 < 1, "There is no slot for us");
37966 :
37967 : static bool
37968 0 : get_stroke_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
37969 : {
37970 0 : binding_detail::FastErrorResult rv;
37971 0 : DOMString result;
37972 0 : self->GetStrokeWidth(result, rv);
37973 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37974 0 : return false;
37975 : }
37976 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37977 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
37978 0 : return false;
37979 : }
37980 0 : return true;
37981 : }
37982 :
37983 : static bool
37984 0 : set_stroke_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
37985 : {
37986 0 : binding_detail::FakeString arg0;
37987 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
37988 0 : return false;
37989 : }
37990 0 : binding_detail::FastErrorResult rv;
37991 0 : self->SetStrokeWidth(NonNullHelper(Constify(arg0)), rv);
37992 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
37993 0 : return false;
37994 : }
37995 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
37996 :
37997 0 : return true;
37998 : }
37999 :
38000 : static const JSJitInfo stroke_width_getterinfo = {
38001 : { (JSJitGetterOp)get_stroke_width },
38002 : { prototypes::id::CSS2Properties },
38003 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38004 : JSJitInfo::Getter,
38005 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38006 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
38007 : false, /* isInfallible. False in setters. */
38008 : false, /* isMovable. Not relevant for setters. */
38009 : false, /* isEliminatable. Not relevant for setters. */
38010 : false, /* isAlwaysInSlot. Only relevant for getters. */
38011 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38012 : false, /* isTypedMethod. Only relevant for methods. */
38013 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38014 : };
38015 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38016 : static_assert(0 < 1, "There is no slot for us");
38017 : static const JSJitInfo stroke_width_setterinfo = {
38018 : { (JSJitGetterOp)set_stroke_width },
38019 : { prototypes::id::CSS2Properties },
38020 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38021 : JSJitInfo::Setter,
38022 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38023 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
38024 : false, /* isInfallible. False in setters. */
38025 : false, /* isMovable. Not relevant for setters. */
38026 : false, /* isEliminatable. Not relevant for setters. */
38027 : false, /* isAlwaysInSlot. Only relevant for getters. */
38028 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38029 : false, /* isTypedMethod. Only relevant for methods. */
38030 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38031 : };
38032 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38033 : static_assert(0 < 1, "There is no slot for us");
38034 :
38035 : static bool
38036 0 : get_MozTabSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
38037 : {
38038 0 : binding_detail::FastErrorResult rv;
38039 0 : DOMString result;
38040 0 : self->GetMozTabSize(result, rv);
38041 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38042 0 : return false;
38043 : }
38044 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38045 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
38046 0 : return false;
38047 : }
38048 0 : return true;
38049 : }
38050 :
38051 : static bool
38052 0 : set_MozTabSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
38053 : {
38054 0 : binding_detail::FakeString arg0;
38055 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
38056 0 : return false;
38057 : }
38058 0 : binding_detail::FastErrorResult rv;
38059 0 : self->SetMozTabSize(NonNullHelper(Constify(arg0)), rv);
38060 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38061 0 : return false;
38062 : }
38063 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38064 :
38065 0 : return true;
38066 : }
38067 :
38068 : static const JSJitInfo MozTabSize_getterinfo = {
38069 : { (JSJitGetterOp)get_MozTabSize },
38070 : { prototypes::id::CSS2Properties },
38071 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38072 : JSJitInfo::Getter,
38073 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38074 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
38075 : false, /* isInfallible. False in setters. */
38076 : false, /* isMovable. Not relevant for setters. */
38077 : false, /* isEliminatable. Not relevant for setters. */
38078 : false, /* isAlwaysInSlot. Only relevant for getters. */
38079 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38080 : false, /* isTypedMethod. Only relevant for methods. */
38081 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38082 : };
38083 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38084 : static_assert(0 < 1, "There is no slot for us");
38085 : static const JSJitInfo MozTabSize_setterinfo = {
38086 : { (JSJitGetterOp)set_MozTabSize },
38087 : { prototypes::id::CSS2Properties },
38088 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38089 : JSJitInfo::Setter,
38090 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38091 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
38092 : false, /* isInfallible. False in setters. */
38093 : false, /* isMovable. Not relevant for setters. */
38094 : false, /* isEliminatable. Not relevant for setters. */
38095 : false, /* isAlwaysInSlot. Only relevant for getters. */
38096 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38097 : false, /* isTypedMethod. Only relevant for methods. */
38098 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38099 : };
38100 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38101 : static_assert(0 < 1, "There is no slot for us");
38102 :
38103 : static bool
38104 0 : get__moz_tab_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
38105 : {
38106 0 : binding_detail::FastErrorResult rv;
38107 0 : DOMString result;
38108 0 : self->GetMozTabSize(result, rv);
38109 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38110 0 : return false;
38111 : }
38112 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38113 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
38114 0 : return false;
38115 : }
38116 0 : return true;
38117 : }
38118 :
38119 : static bool
38120 0 : set__moz_tab_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
38121 : {
38122 0 : binding_detail::FakeString arg0;
38123 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
38124 0 : return false;
38125 : }
38126 0 : binding_detail::FastErrorResult rv;
38127 0 : self->SetMozTabSize(NonNullHelper(Constify(arg0)), rv);
38128 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38129 0 : return false;
38130 : }
38131 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38132 :
38133 0 : return true;
38134 : }
38135 :
38136 : static const JSJitInfo _moz_tab_size_getterinfo = {
38137 : { (JSJitGetterOp)get__moz_tab_size },
38138 : { prototypes::id::CSS2Properties },
38139 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38140 : JSJitInfo::Getter,
38141 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38142 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
38143 : false, /* isInfallible. False in setters. */
38144 : false, /* isMovable. Not relevant for setters. */
38145 : false, /* isEliminatable. Not relevant for setters. */
38146 : false, /* isAlwaysInSlot. Only relevant for getters. */
38147 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38148 : false, /* isTypedMethod. Only relevant for methods. */
38149 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38150 : };
38151 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38152 : static_assert(0 < 1, "There is no slot for us");
38153 : static const JSJitInfo _moz_tab_size_setterinfo = {
38154 : { (JSJitGetterOp)set__moz_tab_size },
38155 : { prototypes::id::CSS2Properties },
38156 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38157 : JSJitInfo::Setter,
38158 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38159 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
38160 : false, /* isInfallible. False in setters. */
38161 : false, /* isMovable. Not relevant for setters. */
38162 : false, /* isEliminatable. Not relevant for setters. */
38163 : false, /* isAlwaysInSlot. Only relevant for getters. */
38164 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38165 : false, /* isTypedMethod. Only relevant for methods. */
38166 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38167 : };
38168 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38169 : static_assert(0 < 1, "There is no slot for us");
38170 :
38171 : static bool
38172 0 : get_tableLayout(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
38173 : {
38174 0 : binding_detail::FastErrorResult rv;
38175 0 : DOMString result;
38176 0 : self->GetTableLayout(result, rv);
38177 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38178 0 : return false;
38179 : }
38180 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38181 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
38182 0 : return false;
38183 : }
38184 0 : return true;
38185 : }
38186 :
38187 : static bool
38188 0 : set_tableLayout(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
38189 : {
38190 0 : binding_detail::FakeString arg0;
38191 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
38192 0 : return false;
38193 : }
38194 0 : binding_detail::FastErrorResult rv;
38195 0 : self->SetTableLayout(NonNullHelper(Constify(arg0)), rv);
38196 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38197 0 : return false;
38198 : }
38199 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38200 :
38201 0 : return true;
38202 : }
38203 :
38204 : static const JSJitInfo tableLayout_getterinfo = {
38205 : { (JSJitGetterOp)get_tableLayout },
38206 : { prototypes::id::CSS2Properties },
38207 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38208 : JSJitInfo::Getter,
38209 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38210 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
38211 : false, /* isInfallible. False in setters. */
38212 : false, /* isMovable. Not relevant for setters. */
38213 : false, /* isEliminatable. Not relevant for setters. */
38214 : false, /* isAlwaysInSlot. Only relevant for getters. */
38215 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38216 : false, /* isTypedMethod. Only relevant for methods. */
38217 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38218 : };
38219 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38220 : static_assert(0 < 1, "There is no slot for us");
38221 : static const JSJitInfo tableLayout_setterinfo = {
38222 : { (JSJitGetterOp)set_tableLayout },
38223 : { prototypes::id::CSS2Properties },
38224 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38225 : JSJitInfo::Setter,
38226 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38227 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
38228 : false, /* isInfallible. False in setters. */
38229 : false, /* isMovable. Not relevant for setters. */
38230 : false, /* isEliminatable. Not relevant for setters. */
38231 : false, /* isAlwaysInSlot. Only relevant for getters. */
38232 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38233 : false, /* isTypedMethod. Only relevant for methods. */
38234 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38235 : };
38236 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38237 : static_assert(0 < 1, "There is no slot for us");
38238 :
38239 : static bool
38240 0 : get_table_layout(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
38241 : {
38242 0 : binding_detail::FastErrorResult rv;
38243 0 : DOMString result;
38244 0 : self->GetTableLayout(result, rv);
38245 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38246 0 : return false;
38247 : }
38248 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38249 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
38250 0 : return false;
38251 : }
38252 0 : return true;
38253 : }
38254 :
38255 : static bool
38256 0 : set_table_layout(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
38257 : {
38258 0 : binding_detail::FakeString arg0;
38259 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
38260 0 : return false;
38261 : }
38262 0 : binding_detail::FastErrorResult rv;
38263 0 : self->SetTableLayout(NonNullHelper(Constify(arg0)), rv);
38264 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38265 0 : return false;
38266 : }
38267 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38268 :
38269 0 : return true;
38270 : }
38271 :
38272 : static const JSJitInfo table_layout_getterinfo = {
38273 : { (JSJitGetterOp)get_table_layout },
38274 : { prototypes::id::CSS2Properties },
38275 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38276 : JSJitInfo::Getter,
38277 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38278 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
38279 : false, /* isInfallible. False in setters. */
38280 : false, /* isMovable. Not relevant for setters. */
38281 : false, /* isEliminatable. Not relevant for setters. */
38282 : false, /* isAlwaysInSlot. Only relevant for getters. */
38283 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38284 : false, /* isTypedMethod. Only relevant for methods. */
38285 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38286 : };
38287 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38288 : static_assert(0 < 1, "There is no slot for us");
38289 : static const JSJitInfo table_layout_setterinfo = {
38290 : { (JSJitGetterOp)set_table_layout },
38291 : { prototypes::id::CSS2Properties },
38292 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38293 : JSJitInfo::Setter,
38294 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38295 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
38296 : false, /* isInfallible. False in setters. */
38297 : false, /* isMovable. Not relevant for setters. */
38298 : false, /* isEliminatable. Not relevant for setters. */
38299 : false, /* isAlwaysInSlot. Only relevant for getters. */
38300 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38301 : false, /* isTypedMethod. Only relevant for methods. */
38302 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38303 : };
38304 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38305 : static_assert(0 < 1, "There is no slot for us");
38306 :
38307 : static bool
38308 0 : get_textAlign(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
38309 : {
38310 0 : binding_detail::FastErrorResult rv;
38311 0 : DOMString result;
38312 0 : self->GetTextAlign(result, rv);
38313 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38314 0 : return false;
38315 : }
38316 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38317 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
38318 0 : return false;
38319 : }
38320 0 : return true;
38321 : }
38322 :
38323 : static bool
38324 0 : set_textAlign(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
38325 : {
38326 0 : binding_detail::FakeString arg0;
38327 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
38328 0 : return false;
38329 : }
38330 0 : binding_detail::FastErrorResult rv;
38331 0 : self->SetTextAlign(NonNullHelper(Constify(arg0)), rv);
38332 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38333 0 : return false;
38334 : }
38335 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38336 :
38337 0 : return true;
38338 : }
38339 :
38340 : static const JSJitInfo textAlign_getterinfo = {
38341 : { (JSJitGetterOp)get_textAlign },
38342 : { prototypes::id::CSS2Properties },
38343 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38344 : JSJitInfo::Getter,
38345 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38346 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
38347 : false, /* isInfallible. False in setters. */
38348 : false, /* isMovable. Not relevant for setters. */
38349 : false, /* isEliminatable. Not relevant for setters. */
38350 : false, /* isAlwaysInSlot. Only relevant for getters. */
38351 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38352 : false, /* isTypedMethod. Only relevant for methods. */
38353 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38354 : };
38355 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38356 : static_assert(0 < 1, "There is no slot for us");
38357 : static const JSJitInfo textAlign_setterinfo = {
38358 : { (JSJitGetterOp)set_textAlign },
38359 : { prototypes::id::CSS2Properties },
38360 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38361 : JSJitInfo::Setter,
38362 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38363 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
38364 : false, /* isInfallible. False in setters. */
38365 : false, /* isMovable. Not relevant for setters. */
38366 : false, /* isEliminatable. Not relevant for setters. */
38367 : false, /* isAlwaysInSlot. Only relevant for getters. */
38368 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38369 : false, /* isTypedMethod. Only relevant for methods. */
38370 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38371 : };
38372 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38373 : static_assert(0 < 1, "There is no slot for us");
38374 :
38375 : static bool
38376 0 : get_text_align(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
38377 : {
38378 0 : binding_detail::FastErrorResult rv;
38379 0 : DOMString result;
38380 0 : self->GetTextAlign(result, rv);
38381 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38382 0 : return false;
38383 : }
38384 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38385 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
38386 0 : return false;
38387 : }
38388 0 : return true;
38389 : }
38390 :
38391 : static bool
38392 0 : set_text_align(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
38393 : {
38394 0 : binding_detail::FakeString arg0;
38395 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
38396 0 : return false;
38397 : }
38398 0 : binding_detail::FastErrorResult rv;
38399 0 : self->SetTextAlign(NonNullHelper(Constify(arg0)), rv);
38400 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38401 0 : return false;
38402 : }
38403 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38404 :
38405 0 : return true;
38406 : }
38407 :
38408 : static const JSJitInfo text_align_getterinfo = {
38409 : { (JSJitGetterOp)get_text_align },
38410 : { prototypes::id::CSS2Properties },
38411 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38412 : JSJitInfo::Getter,
38413 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38414 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
38415 : false, /* isInfallible. False in setters. */
38416 : false, /* isMovable. Not relevant for setters. */
38417 : false, /* isEliminatable. Not relevant for setters. */
38418 : false, /* isAlwaysInSlot. Only relevant for getters. */
38419 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38420 : false, /* isTypedMethod. Only relevant for methods. */
38421 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38422 : };
38423 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38424 : static_assert(0 < 1, "There is no slot for us");
38425 : static const JSJitInfo text_align_setterinfo = {
38426 : { (JSJitGetterOp)set_text_align },
38427 : { prototypes::id::CSS2Properties },
38428 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38429 : JSJitInfo::Setter,
38430 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38431 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
38432 : false, /* isInfallible. False in setters. */
38433 : false, /* isMovable. Not relevant for setters. */
38434 : false, /* isEliminatable. Not relevant for setters. */
38435 : false, /* isAlwaysInSlot. Only relevant for getters. */
38436 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38437 : false, /* isTypedMethod. Only relevant for methods. */
38438 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38439 : };
38440 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38441 : static_assert(0 < 1, "There is no slot for us");
38442 :
38443 : static bool
38444 0 : get_textAlignLast(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
38445 : {
38446 0 : binding_detail::FastErrorResult rv;
38447 0 : DOMString result;
38448 0 : self->GetTextAlignLast(result, rv);
38449 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38450 0 : return false;
38451 : }
38452 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38453 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
38454 0 : return false;
38455 : }
38456 0 : return true;
38457 : }
38458 :
38459 : static bool
38460 0 : set_textAlignLast(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
38461 : {
38462 0 : binding_detail::FakeString arg0;
38463 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
38464 0 : return false;
38465 : }
38466 0 : binding_detail::FastErrorResult rv;
38467 0 : self->SetTextAlignLast(NonNullHelper(Constify(arg0)), rv);
38468 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38469 0 : return false;
38470 : }
38471 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38472 :
38473 0 : return true;
38474 : }
38475 :
38476 : static const JSJitInfo textAlignLast_getterinfo = {
38477 : { (JSJitGetterOp)get_textAlignLast },
38478 : { prototypes::id::CSS2Properties },
38479 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38480 : JSJitInfo::Getter,
38481 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38482 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
38483 : false, /* isInfallible. False in setters. */
38484 : false, /* isMovable. Not relevant for setters. */
38485 : false, /* isEliminatable. Not relevant for setters. */
38486 : false, /* isAlwaysInSlot. Only relevant for getters. */
38487 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38488 : false, /* isTypedMethod. Only relevant for methods. */
38489 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38490 : };
38491 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38492 : static_assert(0 < 1, "There is no slot for us");
38493 : static const JSJitInfo textAlignLast_setterinfo = {
38494 : { (JSJitGetterOp)set_textAlignLast },
38495 : { prototypes::id::CSS2Properties },
38496 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38497 : JSJitInfo::Setter,
38498 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38499 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
38500 : false, /* isInfallible. False in setters. */
38501 : false, /* isMovable. Not relevant for setters. */
38502 : false, /* isEliminatable. Not relevant for setters. */
38503 : false, /* isAlwaysInSlot. Only relevant for getters. */
38504 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38505 : false, /* isTypedMethod. Only relevant for methods. */
38506 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38507 : };
38508 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38509 : static_assert(0 < 1, "There is no slot for us");
38510 :
38511 : static bool
38512 0 : get_text_align_last(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
38513 : {
38514 0 : binding_detail::FastErrorResult rv;
38515 0 : DOMString result;
38516 0 : self->GetTextAlignLast(result, rv);
38517 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38518 0 : return false;
38519 : }
38520 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38521 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
38522 0 : return false;
38523 : }
38524 0 : return true;
38525 : }
38526 :
38527 : static bool
38528 0 : set_text_align_last(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
38529 : {
38530 0 : binding_detail::FakeString arg0;
38531 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
38532 0 : return false;
38533 : }
38534 0 : binding_detail::FastErrorResult rv;
38535 0 : self->SetTextAlignLast(NonNullHelper(Constify(arg0)), rv);
38536 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38537 0 : return false;
38538 : }
38539 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38540 :
38541 0 : return true;
38542 : }
38543 :
38544 : static const JSJitInfo text_align_last_getterinfo = {
38545 : { (JSJitGetterOp)get_text_align_last },
38546 : { prototypes::id::CSS2Properties },
38547 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38548 : JSJitInfo::Getter,
38549 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38550 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
38551 : false, /* isInfallible. False in setters. */
38552 : false, /* isMovable. Not relevant for setters. */
38553 : false, /* isEliminatable. Not relevant for setters. */
38554 : false, /* isAlwaysInSlot. Only relevant for getters. */
38555 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38556 : false, /* isTypedMethod. Only relevant for methods. */
38557 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38558 : };
38559 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38560 : static_assert(0 < 1, "There is no slot for us");
38561 : static const JSJitInfo text_align_last_setterinfo = {
38562 : { (JSJitGetterOp)set_text_align_last },
38563 : { prototypes::id::CSS2Properties },
38564 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38565 : JSJitInfo::Setter,
38566 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38567 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
38568 : false, /* isInfallible. False in setters. */
38569 : false, /* isMovable. Not relevant for setters. */
38570 : false, /* isEliminatable. Not relevant for setters. */
38571 : false, /* isAlwaysInSlot. Only relevant for getters. */
38572 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38573 : false, /* isTypedMethod. Only relevant for methods. */
38574 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38575 : };
38576 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38577 : static_assert(0 < 1, "There is no slot for us");
38578 :
38579 : static bool
38580 0 : get_textAnchor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
38581 : {
38582 0 : binding_detail::FastErrorResult rv;
38583 0 : DOMString result;
38584 0 : self->GetTextAnchor(result, rv);
38585 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38586 0 : return false;
38587 : }
38588 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38589 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
38590 0 : return false;
38591 : }
38592 0 : return true;
38593 : }
38594 :
38595 : static bool
38596 0 : set_textAnchor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
38597 : {
38598 0 : binding_detail::FakeString arg0;
38599 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
38600 0 : return false;
38601 : }
38602 0 : binding_detail::FastErrorResult rv;
38603 0 : self->SetTextAnchor(NonNullHelper(Constify(arg0)), rv);
38604 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38605 0 : return false;
38606 : }
38607 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38608 :
38609 0 : return true;
38610 : }
38611 :
38612 : static const JSJitInfo textAnchor_getterinfo = {
38613 : { (JSJitGetterOp)get_textAnchor },
38614 : { prototypes::id::CSS2Properties },
38615 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38616 : JSJitInfo::Getter,
38617 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38618 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
38619 : false, /* isInfallible. False in setters. */
38620 : false, /* isMovable. Not relevant for setters. */
38621 : false, /* isEliminatable. Not relevant for setters. */
38622 : false, /* isAlwaysInSlot. Only relevant for getters. */
38623 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38624 : false, /* isTypedMethod. Only relevant for methods. */
38625 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38626 : };
38627 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38628 : static_assert(0 < 1, "There is no slot for us");
38629 : static const JSJitInfo textAnchor_setterinfo = {
38630 : { (JSJitGetterOp)set_textAnchor },
38631 : { prototypes::id::CSS2Properties },
38632 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38633 : JSJitInfo::Setter,
38634 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38635 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
38636 : false, /* isInfallible. False in setters. */
38637 : false, /* isMovable. Not relevant for setters. */
38638 : false, /* isEliminatable. Not relevant for setters. */
38639 : false, /* isAlwaysInSlot. Only relevant for getters. */
38640 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38641 : false, /* isTypedMethod. Only relevant for methods. */
38642 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38643 : };
38644 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38645 : static_assert(0 < 1, "There is no slot for us");
38646 :
38647 : static bool
38648 0 : get_text_anchor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
38649 : {
38650 0 : binding_detail::FastErrorResult rv;
38651 0 : DOMString result;
38652 0 : self->GetTextAnchor(result, rv);
38653 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38654 0 : return false;
38655 : }
38656 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38657 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
38658 0 : return false;
38659 : }
38660 0 : return true;
38661 : }
38662 :
38663 : static bool
38664 0 : set_text_anchor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
38665 : {
38666 0 : binding_detail::FakeString arg0;
38667 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
38668 0 : return false;
38669 : }
38670 0 : binding_detail::FastErrorResult rv;
38671 0 : self->SetTextAnchor(NonNullHelper(Constify(arg0)), rv);
38672 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38673 0 : return false;
38674 : }
38675 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38676 :
38677 0 : return true;
38678 : }
38679 :
38680 : static const JSJitInfo text_anchor_getterinfo = {
38681 : { (JSJitGetterOp)get_text_anchor },
38682 : { prototypes::id::CSS2Properties },
38683 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38684 : JSJitInfo::Getter,
38685 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38686 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
38687 : false, /* isInfallible. False in setters. */
38688 : false, /* isMovable. Not relevant for setters. */
38689 : false, /* isEliminatable. Not relevant for setters. */
38690 : false, /* isAlwaysInSlot. Only relevant for getters. */
38691 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38692 : false, /* isTypedMethod. Only relevant for methods. */
38693 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38694 : };
38695 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38696 : static_assert(0 < 1, "There is no slot for us");
38697 : static const JSJitInfo text_anchor_setterinfo = {
38698 : { (JSJitGetterOp)set_text_anchor },
38699 : { prototypes::id::CSS2Properties },
38700 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38701 : JSJitInfo::Setter,
38702 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38703 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
38704 : false, /* isInfallible. False in setters. */
38705 : false, /* isMovable. Not relevant for setters. */
38706 : false, /* isEliminatable. Not relevant for setters. */
38707 : false, /* isAlwaysInSlot. Only relevant for getters. */
38708 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38709 : false, /* isTypedMethod. Only relevant for methods. */
38710 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38711 : };
38712 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38713 : static_assert(0 < 1, "There is no slot for us");
38714 :
38715 : static bool
38716 0 : get_textCombineUpright(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
38717 : {
38718 0 : binding_detail::FastErrorResult rv;
38719 0 : DOMString result;
38720 0 : self->GetTextCombineUpright(result, rv);
38721 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38722 0 : return false;
38723 : }
38724 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38725 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
38726 0 : return false;
38727 : }
38728 0 : return true;
38729 : }
38730 :
38731 : static bool
38732 0 : set_textCombineUpright(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
38733 : {
38734 0 : binding_detail::FakeString arg0;
38735 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
38736 0 : return false;
38737 : }
38738 0 : binding_detail::FastErrorResult rv;
38739 0 : self->SetTextCombineUpright(NonNullHelper(Constify(arg0)), rv);
38740 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38741 0 : return false;
38742 : }
38743 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38744 :
38745 0 : return true;
38746 : }
38747 :
38748 : static const JSJitInfo textCombineUpright_getterinfo = {
38749 : { (JSJitGetterOp)get_textCombineUpright },
38750 : { prototypes::id::CSS2Properties },
38751 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38752 : JSJitInfo::Getter,
38753 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38754 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
38755 : false, /* isInfallible. False in setters. */
38756 : false, /* isMovable. Not relevant for setters. */
38757 : false, /* isEliminatable. Not relevant for setters. */
38758 : false, /* isAlwaysInSlot. Only relevant for getters. */
38759 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38760 : false, /* isTypedMethod. Only relevant for methods. */
38761 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38762 : };
38763 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38764 : static_assert(0 < 1, "There is no slot for us");
38765 : static const JSJitInfo textCombineUpright_setterinfo = {
38766 : { (JSJitGetterOp)set_textCombineUpright },
38767 : { prototypes::id::CSS2Properties },
38768 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38769 : JSJitInfo::Setter,
38770 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38771 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
38772 : false, /* isInfallible. False in setters. */
38773 : false, /* isMovable. Not relevant for setters. */
38774 : false, /* isEliminatable. Not relevant for setters. */
38775 : false, /* isAlwaysInSlot. Only relevant for getters. */
38776 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38777 : false, /* isTypedMethod. Only relevant for methods. */
38778 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38779 : };
38780 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38781 : static_assert(0 < 1, "There is no slot for us");
38782 :
38783 : static bool
38784 0 : get_text_combine_upright(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
38785 : {
38786 0 : binding_detail::FastErrorResult rv;
38787 0 : DOMString result;
38788 0 : self->GetTextCombineUpright(result, rv);
38789 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38790 0 : return false;
38791 : }
38792 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38793 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
38794 0 : return false;
38795 : }
38796 0 : return true;
38797 : }
38798 :
38799 : static bool
38800 0 : set_text_combine_upright(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
38801 : {
38802 0 : binding_detail::FakeString arg0;
38803 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
38804 0 : return false;
38805 : }
38806 0 : binding_detail::FastErrorResult rv;
38807 0 : self->SetTextCombineUpright(NonNullHelper(Constify(arg0)), rv);
38808 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38809 0 : return false;
38810 : }
38811 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38812 :
38813 0 : return true;
38814 : }
38815 :
38816 : static const JSJitInfo text_combine_upright_getterinfo = {
38817 : { (JSJitGetterOp)get_text_combine_upright },
38818 : { prototypes::id::CSS2Properties },
38819 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38820 : JSJitInfo::Getter,
38821 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38822 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
38823 : false, /* isInfallible. False in setters. */
38824 : false, /* isMovable. Not relevant for setters. */
38825 : false, /* isEliminatable. Not relevant for setters. */
38826 : false, /* isAlwaysInSlot. Only relevant for getters. */
38827 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38828 : false, /* isTypedMethod. Only relevant for methods. */
38829 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38830 : };
38831 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38832 : static_assert(0 < 1, "There is no slot for us");
38833 : static const JSJitInfo text_combine_upright_setterinfo = {
38834 : { (JSJitGetterOp)set_text_combine_upright },
38835 : { prototypes::id::CSS2Properties },
38836 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38837 : JSJitInfo::Setter,
38838 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38839 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
38840 : false, /* isInfallible. False in setters. */
38841 : false, /* isMovable. Not relevant for setters. */
38842 : false, /* isEliminatable. Not relevant for setters. */
38843 : false, /* isAlwaysInSlot. Only relevant for getters. */
38844 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38845 : false, /* isTypedMethod. Only relevant for methods. */
38846 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38847 : };
38848 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38849 : static_assert(0 < 1, "There is no slot for us");
38850 :
38851 : static bool
38852 0 : get_textDecoration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
38853 : {
38854 0 : binding_detail::FastErrorResult rv;
38855 0 : DOMString result;
38856 0 : self->GetTextDecoration(result, rv);
38857 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38858 0 : return false;
38859 : }
38860 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38861 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
38862 0 : return false;
38863 : }
38864 0 : return true;
38865 : }
38866 :
38867 : static bool
38868 0 : set_textDecoration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
38869 : {
38870 0 : binding_detail::FakeString arg0;
38871 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
38872 0 : return false;
38873 : }
38874 0 : binding_detail::FastErrorResult rv;
38875 0 : self->SetTextDecoration(NonNullHelper(Constify(arg0)), rv);
38876 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38877 0 : return false;
38878 : }
38879 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38880 :
38881 0 : return true;
38882 : }
38883 :
38884 : static const JSJitInfo textDecoration_getterinfo = {
38885 : { (JSJitGetterOp)get_textDecoration },
38886 : { prototypes::id::CSS2Properties },
38887 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38888 : JSJitInfo::Getter,
38889 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38890 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
38891 : false, /* isInfallible. False in setters. */
38892 : false, /* isMovable. Not relevant for setters. */
38893 : false, /* isEliminatable. Not relevant for setters. */
38894 : false, /* isAlwaysInSlot. Only relevant for getters. */
38895 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38896 : false, /* isTypedMethod. Only relevant for methods. */
38897 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38898 : };
38899 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38900 : static_assert(0 < 1, "There is no slot for us");
38901 : static const JSJitInfo textDecoration_setterinfo = {
38902 : { (JSJitGetterOp)set_textDecoration },
38903 : { prototypes::id::CSS2Properties },
38904 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38905 : JSJitInfo::Setter,
38906 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38907 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
38908 : false, /* isInfallible. False in setters. */
38909 : false, /* isMovable. Not relevant for setters. */
38910 : false, /* isEliminatable. Not relevant for setters. */
38911 : false, /* isAlwaysInSlot. Only relevant for getters. */
38912 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38913 : false, /* isTypedMethod. Only relevant for methods. */
38914 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38915 : };
38916 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38917 : static_assert(0 < 1, "There is no slot for us");
38918 :
38919 : static bool
38920 0 : get_text_decoration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
38921 : {
38922 0 : binding_detail::FastErrorResult rv;
38923 0 : DOMString result;
38924 0 : self->GetTextDecoration(result, rv);
38925 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38926 0 : return false;
38927 : }
38928 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38929 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
38930 0 : return false;
38931 : }
38932 0 : return true;
38933 : }
38934 :
38935 : static bool
38936 0 : set_text_decoration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
38937 : {
38938 0 : binding_detail::FakeString arg0;
38939 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
38940 0 : return false;
38941 : }
38942 0 : binding_detail::FastErrorResult rv;
38943 0 : self->SetTextDecoration(NonNullHelper(Constify(arg0)), rv);
38944 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38945 0 : return false;
38946 : }
38947 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38948 :
38949 0 : return true;
38950 : }
38951 :
38952 : static const JSJitInfo text_decoration_getterinfo = {
38953 : { (JSJitGetterOp)get_text_decoration },
38954 : { prototypes::id::CSS2Properties },
38955 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38956 : JSJitInfo::Getter,
38957 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38958 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
38959 : false, /* isInfallible. False in setters. */
38960 : false, /* isMovable. Not relevant for setters. */
38961 : false, /* isEliminatable. Not relevant for setters. */
38962 : false, /* isAlwaysInSlot. Only relevant for getters. */
38963 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38964 : false, /* isTypedMethod. Only relevant for methods. */
38965 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38966 : };
38967 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38968 : static_assert(0 < 1, "There is no slot for us");
38969 : static const JSJitInfo text_decoration_setterinfo = {
38970 : { (JSJitGetterOp)set_text_decoration },
38971 : { prototypes::id::CSS2Properties },
38972 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
38973 : JSJitInfo::Setter,
38974 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
38975 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
38976 : false, /* isInfallible. False in setters. */
38977 : false, /* isMovable. Not relevant for setters. */
38978 : false, /* isEliminatable. Not relevant for setters. */
38979 : false, /* isAlwaysInSlot. Only relevant for getters. */
38980 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
38981 : false, /* isTypedMethod. Only relevant for methods. */
38982 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
38983 : };
38984 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
38985 : static_assert(0 < 1, "There is no slot for us");
38986 :
38987 : static bool
38988 0 : get_textDecorationColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
38989 : {
38990 0 : binding_detail::FastErrorResult rv;
38991 0 : DOMString result;
38992 0 : self->GetTextDecorationColor(result, rv);
38993 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
38994 0 : return false;
38995 : }
38996 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
38997 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
38998 0 : return false;
38999 : }
39000 0 : return true;
39001 : }
39002 :
39003 : static bool
39004 0 : set_textDecorationColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
39005 : {
39006 0 : binding_detail::FakeString arg0;
39007 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
39008 0 : return false;
39009 : }
39010 0 : binding_detail::FastErrorResult rv;
39011 0 : self->SetTextDecorationColor(NonNullHelper(Constify(arg0)), rv);
39012 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39013 0 : return false;
39014 : }
39015 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39016 :
39017 0 : return true;
39018 : }
39019 :
39020 : static const JSJitInfo textDecorationColor_getterinfo = {
39021 : { (JSJitGetterOp)get_textDecorationColor },
39022 : { prototypes::id::CSS2Properties },
39023 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39024 : JSJitInfo::Getter,
39025 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39026 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
39027 : false, /* isInfallible. False in setters. */
39028 : false, /* isMovable. Not relevant for setters. */
39029 : false, /* isEliminatable. Not relevant for setters. */
39030 : false, /* isAlwaysInSlot. Only relevant for getters. */
39031 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39032 : false, /* isTypedMethod. Only relevant for methods. */
39033 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39034 : };
39035 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39036 : static_assert(0 < 1, "There is no slot for us");
39037 : static const JSJitInfo textDecorationColor_setterinfo = {
39038 : { (JSJitGetterOp)set_textDecorationColor },
39039 : { prototypes::id::CSS2Properties },
39040 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39041 : JSJitInfo::Setter,
39042 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39043 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
39044 : false, /* isInfallible. False in setters. */
39045 : false, /* isMovable. Not relevant for setters. */
39046 : false, /* isEliminatable. Not relevant for setters. */
39047 : false, /* isAlwaysInSlot. Only relevant for getters. */
39048 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39049 : false, /* isTypedMethod. Only relevant for methods. */
39050 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39051 : };
39052 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39053 : static_assert(0 < 1, "There is no slot for us");
39054 :
39055 : static bool
39056 0 : get_text_decoration_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
39057 : {
39058 0 : binding_detail::FastErrorResult rv;
39059 0 : DOMString result;
39060 0 : self->GetTextDecorationColor(result, rv);
39061 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39062 0 : return false;
39063 : }
39064 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39065 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
39066 0 : return false;
39067 : }
39068 0 : return true;
39069 : }
39070 :
39071 : static bool
39072 0 : set_text_decoration_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
39073 : {
39074 0 : binding_detail::FakeString arg0;
39075 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
39076 0 : return false;
39077 : }
39078 0 : binding_detail::FastErrorResult rv;
39079 0 : self->SetTextDecorationColor(NonNullHelper(Constify(arg0)), rv);
39080 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39081 0 : return false;
39082 : }
39083 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39084 :
39085 0 : return true;
39086 : }
39087 :
39088 : static const JSJitInfo text_decoration_color_getterinfo = {
39089 : { (JSJitGetterOp)get_text_decoration_color },
39090 : { prototypes::id::CSS2Properties },
39091 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39092 : JSJitInfo::Getter,
39093 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39094 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
39095 : false, /* isInfallible. False in setters. */
39096 : false, /* isMovable. Not relevant for setters. */
39097 : false, /* isEliminatable. Not relevant for setters. */
39098 : false, /* isAlwaysInSlot. Only relevant for getters. */
39099 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39100 : false, /* isTypedMethod. Only relevant for methods. */
39101 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39102 : };
39103 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39104 : static_assert(0 < 1, "There is no slot for us");
39105 : static const JSJitInfo text_decoration_color_setterinfo = {
39106 : { (JSJitGetterOp)set_text_decoration_color },
39107 : { prototypes::id::CSS2Properties },
39108 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39109 : JSJitInfo::Setter,
39110 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39111 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
39112 : false, /* isInfallible. False in setters. */
39113 : false, /* isMovable. Not relevant for setters. */
39114 : false, /* isEliminatable. Not relevant for setters. */
39115 : false, /* isAlwaysInSlot. Only relevant for getters. */
39116 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39117 : false, /* isTypedMethod. Only relevant for methods. */
39118 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39119 : };
39120 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39121 : static_assert(0 < 1, "There is no slot for us");
39122 :
39123 : static bool
39124 0 : get_textDecorationLine(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
39125 : {
39126 0 : binding_detail::FastErrorResult rv;
39127 0 : DOMString result;
39128 0 : self->GetTextDecorationLine(result, rv);
39129 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39130 0 : return false;
39131 : }
39132 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39133 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
39134 0 : return false;
39135 : }
39136 0 : return true;
39137 : }
39138 :
39139 : static bool
39140 0 : set_textDecorationLine(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
39141 : {
39142 0 : binding_detail::FakeString arg0;
39143 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
39144 0 : return false;
39145 : }
39146 0 : binding_detail::FastErrorResult rv;
39147 0 : self->SetTextDecorationLine(NonNullHelper(Constify(arg0)), rv);
39148 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39149 0 : return false;
39150 : }
39151 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39152 :
39153 0 : return true;
39154 : }
39155 :
39156 : static const JSJitInfo textDecorationLine_getterinfo = {
39157 : { (JSJitGetterOp)get_textDecorationLine },
39158 : { prototypes::id::CSS2Properties },
39159 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39160 : JSJitInfo::Getter,
39161 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39162 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
39163 : false, /* isInfallible. False in setters. */
39164 : false, /* isMovable. Not relevant for setters. */
39165 : false, /* isEliminatable. Not relevant for setters. */
39166 : false, /* isAlwaysInSlot. Only relevant for getters. */
39167 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39168 : false, /* isTypedMethod. Only relevant for methods. */
39169 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39170 : };
39171 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39172 : static_assert(0 < 1, "There is no slot for us");
39173 : static const JSJitInfo textDecorationLine_setterinfo = {
39174 : { (JSJitGetterOp)set_textDecorationLine },
39175 : { prototypes::id::CSS2Properties },
39176 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39177 : JSJitInfo::Setter,
39178 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39179 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
39180 : false, /* isInfallible. False in setters. */
39181 : false, /* isMovable. Not relevant for setters. */
39182 : false, /* isEliminatable. Not relevant for setters. */
39183 : false, /* isAlwaysInSlot. Only relevant for getters. */
39184 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39185 : false, /* isTypedMethod. Only relevant for methods. */
39186 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39187 : };
39188 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39189 : static_assert(0 < 1, "There is no slot for us");
39190 :
39191 : static bool
39192 0 : get_text_decoration_line(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
39193 : {
39194 0 : binding_detail::FastErrorResult rv;
39195 0 : DOMString result;
39196 0 : self->GetTextDecorationLine(result, rv);
39197 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39198 0 : return false;
39199 : }
39200 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39201 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
39202 0 : return false;
39203 : }
39204 0 : return true;
39205 : }
39206 :
39207 : static bool
39208 0 : set_text_decoration_line(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
39209 : {
39210 0 : binding_detail::FakeString arg0;
39211 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
39212 0 : return false;
39213 : }
39214 0 : binding_detail::FastErrorResult rv;
39215 0 : self->SetTextDecorationLine(NonNullHelper(Constify(arg0)), rv);
39216 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39217 0 : return false;
39218 : }
39219 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39220 :
39221 0 : return true;
39222 : }
39223 :
39224 : static const JSJitInfo text_decoration_line_getterinfo = {
39225 : { (JSJitGetterOp)get_text_decoration_line },
39226 : { prototypes::id::CSS2Properties },
39227 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39228 : JSJitInfo::Getter,
39229 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39230 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
39231 : false, /* isInfallible. False in setters. */
39232 : false, /* isMovable. Not relevant for setters. */
39233 : false, /* isEliminatable. Not relevant for setters. */
39234 : false, /* isAlwaysInSlot. Only relevant for getters. */
39235 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39236 : false, /* isTypedMethod. Only relevant for methods. */
39237 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39238 : };
39239 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39240 : static_assert(0 < 1, "There is no slot for us");
39241 : static const JSJitInfo text_decoration_line_setterinfo = {
39242 : { (JSJitGetterOp)set_text_decoration_line },
39243 : { prototypes::id::CSS2Properties },
39244 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39245 : JSJitInfo::Setter,
39246 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39247 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
39248 : false, /* isInfallible. False in setters. */
39249 : false, /* isMovable. Not relevant for setters. */
39250 : false, /* isEliminatable. Not relevant for setters. */
39251 : false, /* isAlwaysInSlot. Only relevant for getters. */
39252 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39253 : false, /* isTypedMethod. Only relevant for methods. */
39254 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39255 : };
39256 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39257 : static_assert(0 < 1, "There is no slot for us");
39258 :
39259 : static bool
39260 0 : get_textDecorationStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
39261 : {
39262 0 : binding_detail::FastErrorResult rv;
39263 0 : DOMString result;
39264 0 : self->GetTextDecorationStyle(result, rv);
39265 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39266 0 : return false;
39267 : }
39268 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39269 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
39270 0 : return false;
39271 : }
39272 0 : return true;
39273 : }
39274 :
39275 : static bool
39276 0 : set_textDecorationStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
39277 : {
39278 0 : binding_detail::FakeString arg0;
39279 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
39280 0 : return false;
39281 : }
39282 0 : binding_detail::FastErrorResult rv;
39283 0 : self->SetTextDecorationStyle(NonNullHelper(Constify(arg0)), rv);
39284 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39285 0 : return false;
39286 : }
39287 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39288 :
39289 0 : return true;
39290 : }
39291 :
39292 : static const JSJitInfo textDecorationStyle_getterinfo = {
39293 : { (JSJitGetterOp)get_textDecorationStyle },
39294 : { prototypes::id::CSS2Properties },
39295 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39296 : JSJitInfo::Getter,
39297 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39298 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
39299 : false, /* isInfallible. False in setters. */
39300 : false, /* isMovable. Not relevant for setters. */
39301 : false, /* isEliminatable. Not relevant for setters. */
39302 : false, /* isAlwaysInSlot. Only relevant for getters. */
39303 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39304 : false, /* isTypedMethod. Only relevant for methods. */
39305 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39306 : };
39307 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39308 : static_assert(0 < 1, "There is no slot for us");
39309 : static const JSJitInfo textDecorationStyle_setterinfo = {
39310 : { (JSJitGetterOp)set_textDecorationStyle },
39311 : { prototypes::id::CSS2Properties },
39312 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39313 : JSJitInfo::Setter,
39314 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39315 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
39316 : false, /* isInfallible. False in setters. */
39317 : false, /* isMovable. Not relevant for setters. */
39318 : false, /* isEliminatable. Not relevant for setters. */
39319 : false, /* isAlwaysInSlot. Only relevant for getters. */
39320 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39321 : false, /* isTypedMethod. Only relevant for methods. */
39322 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39323 : };
39324 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39325 : static_assert(0 < 1, "There is no slot for us");
39326 :
39327 : static bool
39328 0 : get_text_decoration_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
39329 : {
39330 0 : binding_detail::FastErrorResult rv;
39331 0 : DOMString result;
39332 0 : self->GetTextDecorationStyle(result, rv);
39333 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39334 0 : return false;
39335 : }
39336 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39337 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
39338 0 : return false;
39339 : }
39340 0 : return true;
39341 : }
39342 :
39343 : static bool
39344 0 : set_text_decoration_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
39345 : {
39346 0 : binding_detail::FakeString arg0;
39347 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
39348 0 : return false;
39349 : }
39350 0 : binding_detail::FastErrorResult rv;
39351 0 : self->SetTextDecorationStyle(NonNullHelper(Constify(arg0)), rv);
39352 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39353 0 : return false;
39354 : }
39355 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39356 :
39357 0 : return true;
39358 : }
39359 :
39360 : static const JSJitInfo text_decoration_style_getterinfo = {
39361 : { (JSJitGetterOp)get_text_decoration_style },
39362 : { prototypes::id::CSS2Properties },
39363 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39364 : JSJitInfo::Getter,
39365 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39366 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
39367 : false, /* isInfallible. False in setters. */
39368 : false, /* isMovable. Not relevant for setters. */
39369 : false, /* isEliminatable. Not relevant for setters. */
39370 : false, /* isAlwaysInSlot. Only relevant for getters. */
39371 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39372 : false, /* isTypedMethod. Only relevant for methods. */
39373 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39374 : };
39375 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39376 : static_assert(0 < 1, "There is no slot for us");
39377 : static const JSJitInfo text_decoration_style_setterinfo = {
39378 : { (JSJitGetterOp)set_text_decoration_style },
39379 : { prototypes::id::CSS2Properties },
39380 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39381 : JSJitInfo::Setter,
39382 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39383 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
39384 : false, /* isInfallible. False in setters. */
39385 : false, /* isMovable. Not relevant for setters. */
39386 : false, /* isEliminatable. Not relevant for setters. */
39387 : false, /* isAlwaysInSlot. Only relevant for getters. */
39388 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39389 : false, /* isTypedMethod. Only relevant for methods. */
39390 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39391 : };
39392 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39393 : static_assert(0 < 1, "There is no slot for us");
39394 :
39395 : static bool
39396 0 : get_textEmphasis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
39397 : {
39398 0 : binding_detail::FastErrorResult rv;
39399 0 : DOMString result;
39400 0 : self->GetTextEmphasis(result, rv);
39401 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39402 0 : return false;
39403 : }
39404 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39405 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
39406 0 : return false;
39407 : }
39408 0 : return true;
39409 : }
39410 :
39411 : static bool
39412 0 : set_textEmphasis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
39413 : {
39414 0 : binding_detail::FakeString arg0;
39415 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
39416 0 : return false;
39417 : }
39418 0 : binding_detail::FastErrorResult rv;
39419 0 : self->SetTextEmphasis(NonNullHelper(Constify(arg0)), rv);
39420 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39421 0 : return false;
39422 : }
39423 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39424 :
39425 0 : return true;
39426 : }
39427 :
39428 : static const JSJitInfo textEmphasis_getterinfo = {
39429 : { (JSJitGetterOp)get_textEmphasis },
39430 : { prototypes::id::CSS2Properties },
39431 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39432 : JSJitInfo::Getter,
39433 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39434 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
39435 : false, /* isInfallible. False in setters. */
39436 : false, /* isMovable. Not relevant for setters. */
39437 : false, /* isEliminatable. Not relevant for setters. */
39438 : false, /* isAlwaysInSlot. Only relevant for getters. */
39439 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39440 : false, /* isTypedMethod. Only relevant for methods. */
39441 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39442 : };
39443 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39444 : static_assert(0 < 1, "There is no slot for us");
39445 : static const JSJitInfo textEmphasis_setterinfo = {
39446 : { (JSJitGetterOp)set_textEmphasis },
39447 : { prototypes::id::CSS2Properties },
39448 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39449 : JSJitInfo::Setter,
39450 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39451 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
39452 : false, /* isInfallible. False in setters. */
39453 : false, /* isMovable. Not relevant for setters. */
39454 : false, /* isEliminatable. Not relevant for setters. */
39455 : false, /* isAlwaysInSlot. Only relevant for getters. */
39456 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39457 : false, /* isTypedMethod. Only relevant for methods. */
39458 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39459 : };
39460 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39461 : static_assert(0 < 1, "There is no slot for us");
39462 :
39463 : static bool
39464 0 : get_text_emphasis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
39465 : {
39466 0 : binding_detail::FastErrorResult rv;
39467 0 : DOMString result;
39468 0 : self->GetTextEmphasis(result, rv);
39469 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39470 0 : return false;
39471 : }
39472 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39473 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
39474 0 : return false;
39475 : }
39476 0 : return true;
39477 : }
39478 :
39479 : static bool
39480 0 : set_text_emphasis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
39481 : {
39482 0 : binding_detail::FakeString arg0;
39483 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
39484 0 : return false;
39485 : }
39486 0 : binding_detail::FastErrorResult rv;
39487 0 : self->SetTextEmphasis(NonNullHelper(Constify(arg0)), rv);
39488 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39489 0 : return false;
39490 : }
39491 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39492 :
39493 0 : return true;
39494 : }
39495 :
39496 : static const JSJitInfo text_emphasis_getterinfo = {
39497 : { (JSJitGetterOp)get_text_emphasis },
39498 : { prototypes::id::CSS2Properties },
39499 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39500 : JSJitInfo::Getter,
39501 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39502 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
39503 : false, /* isInfallible. False in setters. */
39504 : false, /* isMovable. Not relevant for setters. */
39505 : false, /* isEliminatable. Not relevant for setters. */
39506 : false, /* isAlwaysInSlot. Only relevant for getters. */
39507 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39508 : false, /* isTypedMethod. Only relevant for methods. */
39509 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39510 : };
39511 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39512 : static_assert(0 < 1, "There is no slot for us");
39513 : static const JSJitInfo text_emphasis_setterinfo = {
39514 : { (JSJitGetterOp)set_text_emphasis },
39515 : { prototypes::id::CSS2Properties },
39516 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39517 : JSJitInfo::Setter,
39518 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39519 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
39520 : false, /* isInfallible. False in setters. */
39521 : false, /* isMovable. Not relevant for setters. */
39522 : false, /* isEliminatable. Not relevant for setters. */
39523 : false, /* isAlwaysInSlot. Only relevant for getters. */
39524 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39525 : false, /* isTypedMethod. Only relevant for methods. */
39526 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39527 : };
39528 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39529 : static_assert(0 < 1, "There is no slot for us");
39530 :
39531 : static bool
39532 0 : get_textEmphasisColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
39533 : {
39534 0 : binding_detail::FastErrorResult rv;
39535 0 : DOMString result;
39536 0 : self->GetTextEmphasisColor(result, rv);
39537 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39538 0 : return false;
39539 : }
39540 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39541 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
39542 0 : return false;
39543 : }
39544 0 : return true;
39545 : }
39546 :
39547 : static bool
39548 0 : set_textEmphasisColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
39549 : {
39550 0 : binding_detail::FakeString arg0;
39551 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
39552 0 : return false;
39553 : }
39554 0 : binding_detail::FastErrorResult rv;
39555 0 : self->SetTextEmphasisColor(NonNullHelper(Constify(arg0)), rv);
39556 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39557 0 : return false;
39558 : }
39559 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39560 :
39561 0 : return true;
39562 : }
39563 :
39564 : static const JSJitInfo textEmphasisColor_getterinfo = {
39565 : { (JSJitGetterOp)get_textEmphasisColor },
39566 : { prototypes::id::CSS2Properties },
39567 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39568 : JSJitInfo::Getter,
39569 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39570 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
39571 : false, /* isInfallible. False in setters. */
39572 : false, /* isMovable. Not relevant for setters. */
39573 : false, /* isEliminatable. Not relevant for setters. */
39574 : false, /* isAlwaysInSlot. Only relevant for getters. */
39575 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39576 : false, /* isTypedMethod. Only relevant for methods. */
39577 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39578 : };
39579 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39580 : static_assert(0 < 1, "There is no slot for us");
39581 : static const JSJitInfo textEmphasisColor_setterinfo = {
39582 : { (JSJitGetterOp)set_textEmphasisColor },
39583 : { prototypes::id::CSS2Properties },
39584 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39585 : JSJitInfo::Setter,
39586 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39587 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
39588 : false, /* isInfallible. False in setters. */
39589 : false, /* isMovable. Not relevant for setters. */
39590 : false, /* isEliminatable. Not relevant for setters. */
39591 : false, /* isAlwaysInSlot. Only relevant for getters. */
39592 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39593 : false, /* isTypedMethod. Only relevant for methods. */
39594 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39595 : };
39596 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39597 : static_assert(0 < 1, "There is no slot for us");
39598 :
39599 : static bool
39600 0 : get_text_emphasis_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
39601 : {
39602 0 : binding_detail::FastErrorResult rv;
39603 0 : DOMString result;
39604 0 : self->GetTextEmphasisColor(result, rv);
39605 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39606 0 : return false;
39607 : }
39608 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39609 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
39610 0 : return false;
39611 : }
39612 0 : return true;
39613 : }
39614 :
39615 : static bool
39616 0 : set_text_emphasis_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
39617 : {
39618 0 : binding_detail::FakeString arg0;
39619 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
39620 0 : return false;
39621 : }
39622 0 : binding_detail::FastErrorResult rv;
39623 0 : self->SetTextEmphasisColor(NonNullHelper(Constify(arg0)), rv);
39624 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39625 0 : return false;
39626 : }
39627 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39628 :
39629 0 : return true;
39630 : }
39631 :
39632 : static const JSJitInfo text_emphasis_color_getterinfo = {
39633 : { (JSJitGetterOp)get_text_emphasis_color },
39634 : { prototypes::id::CSS2Properties },
39635 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39636 : JSJitInfo::Getter,
39637 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39638 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
39639 : false, /* isInfallible. False in setters. */
39640 : false, /* isMovable. Not relevant for setters. */
39641 : false, /* isEliminatable. Not relevant for setters. */
39642 : false, /* isAlwaysInSlot. Only relevant for getters. */
39643 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39644 : false, /* isTypedMethod. Only relevant for methods. */
39645 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39646 : };
39647 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39648 : static_assert(0 < 1, "There is no slot for us");
39649 : static const JSJitInfo text_emphasis_color_setterinfo = {
39650 : { (JSJitGetterOp)set_text_emphasis_color },
39651 : { prototypes::id::CSS2Properties },
39652 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39653 : JSJitInfo::Setter,
39654 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39655 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
39656 : false, /* isInfallible. False in setters. */
39657 : false, /* isMovable. Not relevant for setters. */
39658 : false, /* isEliminatable. Not relevant for setters. */
39659 : false, /* isAlwaysInSlot. Only relevant for getters. */
39660 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39661 : false, /* isTypedMethod. Only relevant for methods. */
39662 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39663 : };
39664 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39665 : static_assert(0 < 1, "There is no slot for us");
39666 :
39667 : static bool
39668 0 : get_textEmphasisPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
39669 : {
39670 0 : binding_detail::FastErrorResult rv;
39671 0 : DOMString result;
39672 0 : self->GetTextEmphasisPosition(result, rv);
39673 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39674 0 : return false;
39675 : }
39676 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39677 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
39678 0 : return false;
39679 : }
39680 0 : return true;
39681 : }
39682 :
39683 : static bool
39684 0 : set_textEmphasisPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
39685 : {
39686 0 : binding_detail::FakeString arg0;
39687 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
39688 0 : return false;
39689 : }
39690 0 : binding_detail::FastErrorResult rv;
39691 0 : self->SetTextEmphasisPosition(NonNullHelper(Constify(arg0)), rv);
39692 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39693 0 : return false;
39694 : }
39695 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39696 :
39697 0 : return true;
39698 : }
39699 :
39700 : static const JSJitInfo textEmphasisPosition_getterinfo = {
39701 : { (JSJitGetterOp)get_textEmphasisPosition },
39702 : { prototypes::id::CSS2Properties },
39703 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39704 : JSJitInfo::Getter,
39705 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39706 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
39707 : false, /* isInfallible. False in setters. */
39708 : false, /* isMovable. Not relevant for setters. */
39709 : false, /* isEliminatable. Not relevant for setters. */
39710 : false, /* isAlwaysInSlot. Only relevant for getters. */
39711 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39712 : false, /* isTypedMethod. Only relevant for methods. */
39713 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39714 : };
39715 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39716 : static_assert(0 < 1, "There is no slot for us");
39717 : static const JSJitInfo textEmphasisPosition_setterinfo = {
39718 : { (JSJitGetterOp)set_textEmphasisPosition },
39719 : { prototypes::id::CSS2Properties },
39720 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39721 : JSJitInfo::Setter,
39722 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39723 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
39724 : false, /* isInfallible. False in setters. */
39725 : false, /* isMovable. Not relevant for setters. */
39726 : false, /* isEliminatable. Not relevant for setters. */
39727 : false, /* isAlwaysInSlot. Only relevant for getters. */
39728 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39729 : false, /* isTypedMethod. Only relevant for methods. */
39730 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39731 : };
39732 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39733 : static_assert(0 < 1, "There is no slot for us");
39734 :
39735 : static bool
39736 0 : get_text_emphasis_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
39737 : {
39738 0 : binding_detail::FastErrorResult rv;
39739 0 : DOMString result;
39740 0 : self->GetTextEmphasisPosition(result, rv);
39741 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39742 0 : return false;
39743 : }
39744 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39745 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
39746 0 : return false;
39747 : }
39748 0 : return true;
39749 : }
39750 :
39751 : static bool
39752 0 : set_text_emphasis_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
39753 : {
39754 0 : binding_detail::FakeString arg0;
39755 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
39756 0 : return false;
39757 : }
39758 0 : binding_detail::FastErrorResult rv;
39759 0 : self->SetTextEmphasisPosition(NonNullHelper(Constify(arg0)), rv);
39760 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39761 0 : return false;
39762 : }
39763 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39764 :
39765 0 : return true;
39766 : }
39767 :
39768 : static const JSJitInfo text_emphasis_position_getterinfo = {
39769 : { (JSJitGetterOp)get_text_emphasis_position },
39770 : { prototypes::id::CSS2Properties },
39771 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39772 : JSJitInfo::Getter,
39773 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39774 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
39775 : false, /* isInfallible. False in setters. */
39776 : false, /* isMovable. Not relevant for setters. */
39777 : false, /* isEliminatable. Not relevant for setters. */
39778 : false, /* isAlwaysInSlot. Only relevant for getters. */
39779 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39780 : false, /* isTypedMethod. Only relevant for methods. */
39781 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39782 : };
39783 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39784 : static_assert(0 < 1, "There is no slot for us");
39785 : static const JSJitInfo text_emphasis_position_setterinfo = {
39786 : { (JSJitGetterOp)set_text_emphasis_position },
39787 : { prototypes::id::CSS2Properties },
39788 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39789 : JSJitInfo::Setter,
39790 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39791 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
39792 : false, /* isInfallible. False in setters. */
39793 : false, /* isMovable. Not relevant for setters. */
39794 : false, /* isEliminatable. Not relevant for setters. */
39795 : false, /* isAlwaysInSlot. Only relevant for getters. */
39796 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39797 : false, /* isTypedMethod. Only relevant for methods. */
39798 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39799 : };
39800 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39801 : static_assert(0 < 1, "There is no slot for us");
39802 :
39803 : static bool
39804 0 : get_textEmphasisStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
39805 : {
39806 0 : binding_detail::FastErrorResult rv;
39807 0 : DOMString result;
39808 0 : self->GetTextEmphasisStyle(result, rv);
39809 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39810 0 : return false;
39811 : }
39812 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39813 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
39814 0 : return false;
39815 : }
39816 0 : return true;
39817 : }
39818 :
39819 : static bool
39820 0 : set_textEmphasisStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
39821 : {
39822 0 : binding_detail::FakeString arg0;
39823 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
39824 0 : return false;
39825 : }
39826 0 : binding_detail::FastErrorResult rv;
39827 0 : self->SetTextEmphasisStyle(NonNullHelper(Constify(arg0)), rv);
39828 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39829 0 : return false;
39830 : }
39831 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39832 :
39833 0 : return true;
39834 : }
39835 :
39836 : static const JSJitInfo textEmphasisStyle_getterinfo = {
39837 : { (JSJitGetterOp)get_textEmphasisStyle },
39838 : { prototypes::id::CSS2Properties },
39839 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39840 : JSJitInfo::Getter,
39841 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39842 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
39843 : false, /* isInfallible. False in setters. */
39844 : false, /* isMovable. Not relevant for setters. */
39845 : false, /* isEliminatable. Not relevant for setters. */
39846 : false, /* isAlwaysInSlot. Only relevant for getters. */
39847 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39848 : false, /* isTypedMethod. Only relevant for methods. */
39849 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39850 : };
39851 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39852 : static_assert(0 < 1, "There is no slot for us");
39853 : static const JSJitInfo textEmphasisStyle_setterinfo = {
39854 : { (JSJitGetterOp)set_textEmphasisStyle },
39855 : { prototypes::id::CSS2Properties },
39856 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39857 : JSJitInfo::Setter,
39858 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39859 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
39860 : false, /* isInfallible. False in setters. */
39861 : false, /* isMovable. Not relevant for setters. */
39862 : false, /* isEliminatable. Not relevant for setters. */
39863 : false, /* isAlwaysInSlot. Only relevant for getters. */
39864 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39865 : false, /* isTypedMethod. Only relevant for methods. */
39866 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39867 : };
39868 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39869 : static_assert(0 < 1, "There is no slot for us");
39870 :
39871 : static bool
39872 0 : get_text_emphasis_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
39873 : {
39874 0 : binding_detail::FastErrorResult rv;
39875 0 : DOMString result;
39876 0 : self->GetTextEmphasisStyle(result, rv);
39877 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39878 0 : return false;
39879 : }
39880 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39881 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
39882 0 : return false;
39883 : }
39884 0 : return true;
39885 : }
39886 :
39887 : static bool
39888 0 : set_text_emphasis_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
39889 : {
39890 0 : binding_detail::FakeString arg0;
39891 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
39892 0 : return false;
39893 : }
39894 0 : binding_detail::FastErrorResult rv;
39895 0 : self->SetTextEmphasisStyle(NonNullHelper(Constify(arg0)), rv);
39896 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39897 0 : return false;
39898 : }
39899 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39900 :
39901 0 : return true;
39902 : }
39903 :
39904 : static const JSJitInfo text_emphasis_style_getterinfo = {
39905 : { (JSJitGetterOp)get_text_emphasis_style },
39906 : { prototypes::id::CSS2Properties },
39907 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39908 : JSJitInfo::Getter,
39909 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39910 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
39911 : false, /* isInfallible. False in setters. */
39912 : false, /* isMovable. Not relevant for setters. */
39913 : false, /* isEliminatable. Not relevant for setters. */
39914 : false, /* isAlwaysInSlot. Only relevant for getters. */
39915 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39916 : false, /* isTypedMethod. Only relevant for methods. */
39917 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39918 : };
39919 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39920 : static_assert(0 < 1, "There is no slot for us");
39921 : static const JSJitInfo text_emphasis_style_setterinfo = {
39922 : { (JSJitGetterOp)set_text_emphasis_style },
39923 : { prototypes::id::CSS2Properties },
39924 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39925 : JSJitInfo::Setter,
39926 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39927 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
39928 : false, /* isInfallible. False in setters. */
39929 : false, /* isMovable. Not relevant for setters. */
39930 : false, /* isEliminatable. Not relevant for setters. */
39931 : false, /* isAlwaysInSlot. Only relevant for getters. */
39932 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39933 : false, /* isTypedMethod. Only relevant for methods. */
39934 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39935 : };
39936 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39937 : static_assert(0 < 1, "There is no slot for us");
39938 :
39939 : static bool
39940 0 : get_WebkitTextFillColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
39941 : {
39942 0 : binding_detail::FastErrorResult rv;
39943 0 : DOMString result;
39944 0 : self->GetWebkitTextFillColor(result, rv);
39945 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39946 0 : return false;
39947 : }
39948 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39949 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
39950 0 : return false;
39951 : }
39952 0 : return true;
39953 : }
39954 :
39955 : static bool
39956 0 : set_WebkitTextFillColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
39957 : {
39958 0 : binding_detail::FakeString arg0;
39959 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
39960 0 : return false;
39961 : }
39962 0 : binding_detail::FastErrorResult rv;
39963 0 : self->SetWebkitTextFillColor(NonNullHelper(Constify(arg0)), rv);
39964 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
39965 0 : return false;
39966 : }
39967 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
39968 :
39969 0 : return true;
39970 : }
39971 :
39972 : static const JSJitInfo WebkitTextFillColor_getterinfo = {
39973 : { (JSJitGetterOp)get_WebkitTextFillColor },
39974 : { prototypes::id::CSS2Properties },
39975 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39976 : JSJitInfo::Getter,
39977 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39978 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
39979 : false, /* isInfallible. False in setters. */
39980 : false, /* isMovable. Not relevant for setters. */
39981 : false, /* isEliminatable. Not relevant for setters. */
39982 : false, /* isAlwaysInSlot. Only relevant for getters. */
39983 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
39984 : false, /* isTypedMethod. Only relevant for methods. */
39985 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
39986 : };
39987 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
39988 : static_assert(0 < 1, "There is no slot for us");
39989 : static const JSJitInfo WebkitTextFillColor_setterinfo = {
39990 : { (JSJitGetterOp)set_WebkitTextFillColor },
39991 : { prototypes::id::CSS2Properties },
39992 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
39993 : JSJitInfo::Setter,
39994 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
39995 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
39996 : false, /* isInfallible. False in setters. */
39997 : false, /* isMovable. Not relevant for setters. */
39998 : false, /* isEliminatable. Not relevant for setters. */
39999 : false, /* isAlwaysInSlot. Only relevant for getters. */
40000 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40001 : false, /* isTypedMethod. Only relevant for methods. */
40002 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40003 : };
40004 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40005 : static_assert(0 < 1, "There is no slot for us");
40006 :
40007 : static bool
40008 0 : get_webkitTextFillColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
40009 : {
40010 0 : binding_detail::FastErrorResult rv;
40011 0 : DOMString result;
40012 0 : self->GetWebkitTextFillColor(result, rv);
40013 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40014 0 : return false;
40015 : }
40016 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40017 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
40018 0 : return false;
40019 : }
40020 0 : return true;
40021 : }
40022 :
40023 : static bool
40024 0 : set_webkitTextFillColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
40025 : {
40026 0 : binding_detail::FakeString arg0;
40027 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
40028 0 : return false;
40029 : }
40030 0 : binding_detail::FastErrorResult rv;
40031 0 : self->SetWebkitTextFillColor(NonNullHelper(Constify(arg0)), rv);
40032 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40033 0 : return false;
40034 : }
40035 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40036 :
40037 0 : return true;
40038 : }
40039 :
40040 : static const JSJitInfo webkitTextFillColor_getterinfo = {
40041 : { (JSJitGetterOp)get_webkitTextFillColor },
40042 : { prototypes::id::CSS2Properties },
40043 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40044 : JSJitInfo::Getter,
40045 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40046 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
40047 : false, /* isInfallible. False in setters. */
40048 : false, /* isMovable. Not relevant for setters. */
40049 : false, /* isEliminatable. Not relevant for setters. */
40050 : false, /* isAlwaysInSlot. Only relevant for getters. */
40051 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40052 : false, /* isTypedMethod. Only relevant for methods. */
40053 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40054 : };
40055 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40056 : static_assert(0 < 1, "There is no slot for us");
40057 : static const JSJitInfo webkitTextFillColor_setterinfo = {
40058 : { (JSJitGetterOp)set_webkitTextFillColor },
40059 : { prototypes::id::CSS2Properties },
40060 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40061 : JSJitInfo::Setter,
40062 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40063 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
40064 : false, /* isInfallible. False in setters. */
40065 : false, /* isMovable. Not relevant for setters. */
40066 : false, /* isEliminatable. Not relevant for setters. */
40067 : false, /* isAlwaysInSlot. Only relevant for getters. */
40068 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40069 : false, /* isTypedMethod. Only relevant for methods. */
40070 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40071 : };
40072 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40073 : static_assert(0 < 1, "There is no slot for us");
40074 :
40075 : static bool
40076 0 : get__webkit_text_fill_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
40077 : {
40078 0 : binding_detail::FastErrorResult rv;
40079 0 : DOMString result;
40080 0 : self->GetWebkitTextFillColor(result, rv);
40081 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40082 0 : return false;
40083 : }
40084 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40085 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
40086 0 : return false;
40087 : }
40088 0 : return true;
40089 : }
40090 :
40091 : static bool
40092 0 : set__webkit_text_fill_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
40093 : {
40094 0 : binding_detail::FakeString arg0;
40095 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
40096 0 : return false;
40097 : }
40098 0 : binding_detail::FastErrorResult rv;
40099 0 : self->SetWebkitTextFillColor(NonNullHelper(Constify(arg0)), rv);
40100 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40101 0 : return false;
40102 : }
40103 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40104 :
40105 0 : return true;
40106 : }
40107 :
40108 : static const JSJitInfo _webkit_text_fill_color_getterinfo = {
40109 : { (JSJitGetterOp)get__webkit_text_fill_color },
40110 : { prototypes::id::CSS2Properties },
40111 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40112 : JSJitInfo::Getter,
40113 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40114 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
40115 : false, /* isInfallible. False in setters. */
40116 : false, /* isMovable. Not relevant for setters. */
40117 : false, /* isEliminatable. Not relevant for setters. */
40118 : false, /* isAlwaysInSlot. Only relevant for getters. */
40119 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40120 : false, /* isTypedMethod. Only relevant for methods. */
40121 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40122 : };
40123 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40124 : static_assert(0 < 1, "There is no slot for us");
40125 : static const JSJitInfo _webkit_text_fill_color_setterinfo = {
40126 : { (JSJitGetterOp)set__webkit_text_fill_color },
40127 : { prototypes::id::CSS2Properties },
40128 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40129 : JSJitInfo::Setter,
40130 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40131 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
40132 : false, /* isInfallible. False in setters. */
40133 : false, /* isMovable. Not relevant for setters. */
40134 : false, /* isEliminatable. Not relevant for setters. */
40135 : false, /* isAlwaysInSlot. Only relevant for getters. */
40136 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40137 : false, /* isTypedMethod. Only relevant for methods. */
40138 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40139 : };
40140 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40141 : static_assert(0 < 1, "There is no slot for us");
40142 :
40143 : static bool
40144 0 : get_textIndent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
40145 : {
40146 0 : binding_detail::FastErrorResult rv;
40147 0 : DOMString result;
40148 0 : self->GetTextIndent(result, rv);
40149 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40150 0 : return false;
40151 : }
40152 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40153 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
40154 0 : return false;
40155 : }
40156 0 : return true;
40157 : }
40158 :
40159 : static bool
40160 0 : set_textIndent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
40161 : {
40162 0 : binding_detail::FakeString arg0;
40163 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
40164 0 : return false;
40165 : }
40166 0 : binding_detail::FastErrorResult rv;
40167 0 : self->SetTextIndent(NonNullHelper(Constify(arg0)), rv);
40168 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40169 0 : return false;
40170 : }
40171 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40172 :
40173 0 : return true;
40174 : }
40175 :
40176 : static const JSJitInfo textIndent_getterinfo = {
40177 : { (JSJitGetterOp)get_textIndent },
40178 : { prototypes::id::CSS2Properties },
40179 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40180 : JSJitInfo::Getter,
40181 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40182 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
40183 : false, /* isInfallible. False in setters. */
40184 : false, /* isMovable. Not relevant for setters. */
40185 : false, /* isEliminatable. Not relevant for setters. */
40186 : false, /* isAlwaysInSlot. Only relevant for getters. */
40187 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40188 : false, /* isTypedMethod. Only relevant for methods. */
40189 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40190 : };
40191 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40192 : static_assert(0 < 1, "There is no slot for us");
40193 : static const JSJitInfo textIndent_setterinfo = {
40194 : { (JSJitGetterOp)set_textIndent },
40195 : { prototypes::id::CSS2Properties },
40196 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40197 : JSJitInfo::Setter,
40198 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40199 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
40200 : false, /* isInfallible. False in setters. */
40201 : false, /* isMovable. Not relevant for setters. */
40202 : false, /* isEliminatable. Not relevant for setters. */
40203 : false, /* isAlwaysInSlot. Only relevant for getters. */
40204 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40205 : false, /* isTypedMethod. Only relevant for methods. */
40206 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40207 : };
40208 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40209 : static_assert(0 < 1, "There is no slot for us");
40210 :
40211 : static bool
40212 0 : get_text_indent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
40213 : {
40214 0 : binding_detail::FastErrorResult rv;
40215 0 : DOMString result;
40216 0 : self->GetTextIndent(result, rv);
40217 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40218 0 : return false;
40219 : }
40220 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40221 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
40222 0 : return false;
40223 : }
40224 0 : return true;
40225 : }
40226 :
40227 : static bool
40228 0 : set_text_indent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
40229 : {
40230 0 : binding_detail::FakeString arg0;
40231 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
40232 0 : return false;
40233 : }
40234 0 : binding_detail::FastErrorResult rv;
40235 0 : self->SetTextIndent(NonNullHelper(Constify(arg0)), rv);
40236 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40237 0 : return false;
40238 : }
40239 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40240 :
40241 0 : return true;
40242 : }
40243 :
40244 : static const JSJitInfo text_indent_getterinfo = {
40245 : { (JSJitGetterOp)get_text_indent },
40246 : { prototypes::id::CSS2Properties },
40247 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40248 : JSJitInfo::Getter,
40249 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40250 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
40251 : false, /* isInfallible. False in setters. */
40252 : false, /* isMovable. Not relevant for setters. */
40253 : false, /* isEliminatable. Not relevant for setters. */
40254 : false, /* isAlwaysInSlot. Only relevant for getters. */
40255 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40256 : false, /* isTypedMethod. Only relevant for methods. */
40257 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40258 : };
40259 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40260 : static_assert(0 < 1, "There is no slot for us");
40261 : static const JSJitInfo text_indent_setterinfo = {
40262 : { (JSJitGetterOp)set_text_indent },
40263 : { prototypes::id::CSS2Properties },
40264 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40265 : JSJitInfo::Setter,
40266 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40267 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
40268 : false, /* isInfallible. False in setters. */
40269 : false, /* isMovable. Not relevant for setters. */
40270 : false, /* isEliminatable. Not relevant for setters. */
40271 : false, /* isAlwaysInSlot. Only relevant for getters. */
40272 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40273 : false, /* isTypedMethod. Only relevant for methods. */
40274 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40275 : };
40276 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40277 : static_assert(0 < 1, "There is no slot for us");
40278 :
40279 : static bool
40280 0 : get_textJustify(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
40281 : {
40282 0 : binding_detail::FastErrorResult rv;
40283 0 : DOMString result;
40284 0 : self->GetTextJustify(result, rv);
40285 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40286 0 : return false;
40287 : }
40288 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40289 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
40290 0 : return false;
40291 : }
40292 0 : return true;
40293 : }
40294 :
40295 : static bool
40296 0 : set_textJustify(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
40297 : {
40298 0 : binding_detail::FakeString arg0;
40299 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
40300 0 : return false;
40301 : }
40302 0 : binding_detail::FastErrorResult rv;
40303 0 : self->SetTextJustify(NonNullHelper(Constify(arg0)), rv);
40304 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40305 0 : return false;
40306 : }
40307 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40308 :
40309 0 : return true;
40310 : }
40311 :
40312 : static const JSJitInfo textJustify_getterinfo = {
40313 : { (JSJitGetterOp)get_textJustify },
40314 : { prototypes::id::CSS2Properties },
40315 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40316 : JSJitInfo::Getter,
40317 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40318 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
40319 : false, /* isInfallible. False in setters. */
40320 : false, /* isMovable. Not relevant for setters. */
40321 : false, /* isEliminatable. Not relevant for setters. */
40322 : false, /* isAlwaysInSlot. Only relevant for getters. */
40323 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40324 : false, /* isTypedMethod. Only relevant for methods. */
40325 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40326 : };
40327 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40328 : static_assert(0 < 1, "There is no slot for us");
40329 : static const JSJitInfo textJustify_setterinfo = {
40330 : { (JSJitGetterOp)set_textJustify },
40331 : { prototypes::id::CSS2Properties },
40332 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40333 : JSJitInfo::Setter,
40334 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40335 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
40336 : false, /* isInfallible. False in setters. */
40337 : false, /* isMovable. Not relevant for setters. */
40338 : false, /* isEliminatable. Not relevant for setters. */
40339 : false, /* isAlwaysInSlot. Only relevant for getters. */
40340 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40341 : false, /* isTypedMethod. Only relevant for methods. */
40342 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40343 : };
40344 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40345 : static_assert(0 < 1, "There is no slot for us");
40346 :
40347 : static bool
40348 0 : get_text_justify(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
40349 : {
40350 0 : binding_detail::FastErrorResult rv;
40351 0 : DOMString result;
40352 0 : self->GetTextJustify(result, rv);
40353 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40354 0 : return false;
40355 : }
40356 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40357 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
40358 0 : return false;
40359 : }
40360 0 : return true;
40361 : }
40362 :
40363 : static bool
40364 0 : set_text_justify(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
40365 : {
40366 0 : binding_detail::FakeString arg0;
40367 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
40368 0 : return false;
40369 : }
40370 0 : binding_detail::FastErrorResult rv;
40371 0 : self->SetTextJustify(NonNullHelper(Constify(arg0)), rv);
40372 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40373 0 : return false;
40374 : }
40375 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40376 :
40377 0 : return true;
40378 : }
40379 :
40380 : static const JSJitInfo text_justify_getterinfo = {
40381 : { (JSJitGetterOp)get_text_justify },
40382 : { prototypes::id::CSS2Properties },
40383 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40384 : JSJitInfo::Getter,
40385 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40386 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
40387 : false, /* isInfallible. False in setters. */
40388 : false, /* isMovable. Not relevant for setters. */
40389 : false, /* isEliminatable. Not relevant for setters. */
40390 : false, /* isAlwaysInSlot. Only relevant for getters. */
40391 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40392 : false, /* isTypedMethod. Only relevant for methods. */
40393 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40394 : };
40395 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40396 : static_assert(0 < 1, "There is no slot for us");
40397 : static const JSJitInfo text_justify_setterinfo = {
40398 : { (JSJitGetterOp)set_text_justify },
40399 : { prototypes::id::CSS2Properties },
40400 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40401 : JSJitInfo::Setter,
40402 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40403 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
40404 : false, /* isInfallible. False in setters. */
40405 : false, /* isMovable. Not relevant for setters. */
40406 : false, /* isEliminatable. Not relevant for setters. */
40407 : false, /* isAlwaysInSlot. Only relevant for getters. */
40408 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40409 : false, /* isTypedMethod. Only relevant for methods. */
40410 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40411 : };
40412 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40413 : static_assert(0 < 1, "There is no slot for us");
40414 :
40415 : static bool
40416 0 : get_textOrientation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
40417 : {
40418 0 : binding_detail::FastErrorResult rv;
40419 0 : DOMString result;
40420 0 : self->GetTextOrientation(result, rv);
40421 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40422 0 : return false;
40423 : }
40424 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40425 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
40426 0 : return false;
40427 : }
40428 0 : return true;
40429 : }
40430 :
40431 : static bool
40432 0 : set_textOrientation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
40433 : {
40434 0 : binding_detail::FakeString arg0;
40435 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
40436 0 : return false;
40437 : }
40438 0 : binding_detail::FastErrorResult rv;
40439 0 : self->SetTextOrientation(NonNullHelper(Constify(arg0)), rv);
40440 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40441 0 : return false;
40442 : }
40443 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40444 :
40445 0 : return true;
40446 : }
40447 :
40448 : static const JSJitInfo textOrientation_getterinfo = {
40449 : { (JSJitGetterOp)get_textOrientation },
40450 : { prototypes::id::CSS2Properties },
40451 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40452 : JSJitInfo::Getter,
40453 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40454 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
40455 : false, /* isInfallible. False in setters. */
40456 : false, /* isMovable. Not relevant for setters. */
40457 : false, /* isEliminatable. Not relevant for setters. */
40458 : false, /* isAlwaysInSlot. Only relevant for getters. */
40459 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40460 : false, /* isTypedMethod. Only relevant for methods. */
40461 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40462 : };
40463 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40464 : static_assert(0 < 1, "There is no slot for us");
40465 : static const JSJitInfo textOrientation_setterinfo = {
40466 : { (JSJitGetterOp)set_textOrientation },
40467 : { prototypes::id::CSS2Properties },
40468 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40469 : JSJitInfo::Setter,
40470 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40471 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
40472 : false, /* isInfallible. False in setters. */
40473 : false, /* isMovable. Not relevant for setters. */
40474 : false, /* isEliminatable. Not relevant for setters. */
40475 : false, /* isAlwaysInSlot. Only relevant for getters. */
40476 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40477 : false, /* isTypedMethod. Only relevant for methods. */
40478 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40479 : };
40480 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40481 : static_assert(0 < 1, "There is no slot for us");
40482 :
40483 : static bool
40484 0 : get_text_orientation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
40485 : {
40486 0 : binding_detail::FastErrorResult rv;
40487 0 : DOMString result;
40488 0 : self->GetTextOrientation(result, rv);
40489 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40490 0 : return false;
40491 : }
40492 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40493 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
40494 0 : return false;
40495 : }
40496 0 : return true;
40497 : }
40498 :
40499 : static bool
40500 0 : set_text_orientation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
40501 : {
40502 0 : binding_detail::FakeString arg0;
40503 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
40504 0 : return false;
40505 : }
40506 0 : binding_detail::FastErrorResult rv;
40507 0 : self->SetTextOrientation(NonNullHelper(Constify(arg0)), rv);
40508 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40509 0 : return false;
40510 : }
40511 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40512 :
40513 0 : return true;
40514 : }
40515 :
40516 : static const JSJitInfo text_orientation_getterinfo = {
40517 : { (JSJitGetterOp)get_text_orientation },
40518 : { prototypes::id::CSS2Properties },
40519 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40520 : JSJitInfo::Getter,
40521 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40522 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
40523 : false, /* isInfallible. False in setters. */
40524 : false, /* isMovable. Not relevant for setters. */
40525 : false, /* isEliminatable. Not relevant for setters. */
40526 : false, /* isAlwaysInSlot. Only relevant for getters. */
40527 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40528 : false, /* isTypedMethod. Only relevant for methods. */
40529 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40530 : };
40531 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40532 : static_assert(0 < 1, "There is no slot for us");
40533 : static const JSJitInfo text_orientation_setterinfo = {
40534 : { (JSJitGetterOp)set_text_orientation },
40535 : { prototypes::id::CSS2Properties },
40536 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40537 : JSJitInfo::Setter,
40538 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40539 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
40540 : false, /* isInfallible. False in setters. */
40541 : false, /* isMovable. Not relevant for setters. */
40542 : false, /* isEliminatable. Not relevant for setters. */
40543 : false, /* isAlwaysInSlot. Only relevant for getters. */
40544 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40545 : false, /* isTypedMethod. Only relevant for methods. */
40546 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40547 : };
40548 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40549 : static_assert(0 < 1, "There is no slot for us");
40550 :
40551 : static bool
40552 0 : get_textOverflow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
40553 : {
40554 0 : binding_detail::FastErrorResult rv;
40555 0 : DOMString result;
40556 0 : self->GetTextOverflow(result, rv);
40557 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40558 0 : return false;
40559 : }
40560 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40561 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
40562 0 : return false;
40563 : }
40564 0 : return true;
40565 : }
40566 :
40567 : static bool
40568 0 : set_textOverflow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
40569 : {
40570 0 : binding_detail::FakeString arg0;
40571 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
40572 0 : return false;
40573 : }
40574 0 : binding_detail::FastErrorResult rv;
40575 0 : self->SetTextOverflow(NonNullHelper(Constify(arg0)), rv);
40576 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40577 0 : return false;
40578 : }
40579 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40580 :
40581 0 : return true;
40582 : }
40583 :
40584 : static const JSJitInfo textOverflow_getterinfo = {
40585 : { (JSJitGetterOp)get_textOverflow },
40586 : { prototypes::id::CSS2Properties },
40587 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40588 : JSJitInfo::Getter,
40589 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40590 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
40591 : false, /* isInfallible. False in setters. */
40592 : false, /* isMovable. Not relevant for setters. */
40593 : false, /* isEliminatable. Not relevant for setters. */
40594 : false, /* isAlwaysInSlot. Only relevant for getters. */
40595 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40596 : false, /* isTypedMethod. Only relevant for methods. */
40597 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40598 : };
40599 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40600 : static_assert(0 < 1, "There is no slot for us");
40601 : static const JSJitInfo textOverflow_setterinfo = {
40602 : { (JSJitGetterOp)set_textOverflow },
40603 : { prototypes::id::CSS2Properties },
40604 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40605 : JSJitInfo::Setter,
40606 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40607 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
40608 : false, /* isInfallible. False in setters. */
40609 : false, /* isMovable. Not relevant for setters. */
40610 : false, /* isEliminatable. Not relevant for setters. */
40611 : false, /* isAlwaysInSlot. Only relevant for getters. */
40612 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40613 : false, /* isTypedMethod. Only relevant for methods. */
40614 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40615 : };
40616 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40617 : static_assert(0 < 1, "There is no slot for us");
40618 :
40619 : static bool
40620 0 : get_text_overflow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
40621 : {
40622 0 : binding_detail::FastErrorResult rv;
40623 0 : DOMString result;
40624 0 : self->GetTextOverflow(result, rv);
40625 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40626 0 : return false;
40627 : }
40628 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40629 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
40630 0 : return false;
40631 : }
40632 0 : return true;
40633 : }
40634 :
40635 : static bool
40636 0 : set_text_overflow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
40637 : {
40638 0 : binding_detail::FakeString arg0;
40639 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
40640 0 : return false;
40641 : }
40642 0 : binding_detail::FastErrorResult rv;
40643 0 : self->SetTextOverflow(NonNullHelper(Constify(arg0)), rv);
40644 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40645 0 : return false;
40646 : }
40647 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40648 :
40649 0 : return true;
40650 : }
40651 :
40652 : static const JSJitInfo text_overflow_getterinfo = {
40653 : { (JSJitGetterOp)get_text_overflow },
40654 : { prototypes::id::CSS2Properties },
40655 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40656 : JSJitInfo::Getter,
40657 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40658 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
40659 : false, /* isInfallible. False in setters. */
40660 : false, /* isMovable. Not relevant for setters. */
40661 : false, /* isEliminatable. Not relevant for setters. */
40662 : false, /* isAlwaysInSlot. Only relevant for getters. */
40663 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40664 : false, /* isTypedMethod. Only relevant for methods. */
40665 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40666 : };
40667 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40668 : static_assert(0 < 1, "There is no slot for us");
40669 : static const JSJitInfo text_overflow_setterinfo = {
40670 : { (JSJitGetterOp)set_text_overflow },
40671 : { prototypes::id::CSS2Properties },
40672 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40673 : JSJitInfo::Setter,
40674 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40675 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
40676 : false, /* isInfallible. False in setters. */
40677 : false, /* isMovable. Not relevant for setters. */
40678 : false, /* isEliminatable. Not relevant for setters. */
40679 : false, /* isAlwaysInSlot. Only relevant for getters. */
40680 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40681 : false, /* isTypedMethod. Only relevant for methods. */
40682 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40683 : };
40684 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40685 : static_assert(0 < 1, "There is no slot for us");
40686 :
40687 : static bool
40688 0 : get_textRendering(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
40689 : {
40690 0 : binding_detail::FastErrorResult rv;
40691 0 : DOMString result;
40692 0 : self->GetTextRendering(result, rv);
40693 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40694 0 : return false;
40695 : }
40696 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40697 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
40698 0 : return false;
40699 : }
40700 0 : return true;
40701 : }
40702 :
40703 : static bool
40704 0 : set_textRendering(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
40705 : {
40706 0 : binding_detail::FakeString arg0;
40707 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
40708 0 : return false;
40709 : }
40710 0 : binding_detail::FastErrorResult rv;
40711 0 : self->SetTextRendering(NonNullHelper(Constify(arg0)), rv);
40712 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40713 0 : return false;
40714 : }
40715 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40716 :
40717 0 : return true;
40718 : }
40719 :
40720 : static const JSJitInfo textRendering_getterinfo = {
40721 : { (JSJitGetterOp)get_textRendering },
40722 : { prototypes::id::CSS2Properties },
40723 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40724 : JSJitInfo::Getter,
40725 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40726 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
40727 : false, /* isInfallible. False in setters. */
40728 : false, /* isMovable. Not relevant for setters. */
40729 : false, /* isEliminatable. Not relevant for setters. */
40730 : false, /* isAlwaysInSlot. Only relevant for getters. */
40731 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40732 : false, /* isTypedMethod. Only relevant for methods. */
40733 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40734 : };
40735 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40736 : static_assert(0 < 1, "There is no slot for us");
40737 : static const JSJitInfo textRendering_setterinfo = {
40738 : { (JSJitGetterOp)set_textRendering },
40739 : { prototypes::id::CSS2Properties },
40740 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40741 : JSJitInfo::Setter,
40742 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40743 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
40744 : false, /* isInfallible. False in setters. */
40745 : false, /* isMovable. Not relevant for setters. */
40746 : false, /* isEliminatable. Not relevant for setters. */
40747 : false, /* isAlwaysInSlot. Only relevant for getters. */
40748 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40749 : false, /* isTypedMethod. Only relevant for methods. */
40750 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40751 : };
40752 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40753 : static_assert(0 < 1, "There is no slot for us");
40754 :
40755 : static bool
40756 0 : get_text_rendering(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
40757 : {
40758 0 : binding_detail::FastErrorResult rv;
40759 0 : DOMString result;
40760 0 : self->GetTextRendering(result, rv);
40761 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40762 0 : return false;
40763 : }
40764 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40765 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
40766 0 : return false;
40767 : }
40768 0 : return true;
40769 : }
40770 :
40771 : static bool
40772 0 : set_text_rendering(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
40773 : {
40774 0 : binding_detail::FakeString arg0;
40775 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
40776 0 : return false;
40777 : }
40778 0 : binding_detail::FastErrorResult rv;
40779 0 : self->SetTextRendering(NonNullHelper(Constify(arg0)), rv);
40780 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40781 0 : return false;
40782 : }
40783 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40784 :
40785 0 : return true;
40786 : }
40787 :
40788 : static const JSJitInfo text_rendering_getterinfo = {
40789 : { (JSJitGetterOp)get_text_rendering },
40790 : { prototypes::id::CSS2Properties },
40791 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40792 : JSJitInfo::Getter,
40793 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40794 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
40795 : false, /* isInfallible. False in setters. */
40796 : false, /* isMovable. Not relevant for setters. */
40797 : false, /* isEliminatable. Not relevant for setters. */
40798 : false, /* isAlwaysInSlot. Only relevant for getters. */
40799 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40800 : false, /* isTypedMethod. Only relevant for methods. */
40801 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40802 : };
40803 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40804 : static_assert(0 < 1, "There is no slot for us");
40805 : static const JSJitInfo text_rendering_setterinfo = {
40806 : { (JSJitGetterOp)set_text_rendering },
40807 : { prototypes::id::CSS2Properties },
40808 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40809 : JSJitInfo::Setter,
40810 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40811 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
40812 : false, /* isInfallible. False in setters. */
40813 : false, /* isMovable. Not relevant for setters. */
40814 : false, /* isEliminatable. Not relevant for setters. */
40815 : false, /* isAlwaysInSlot. Only relevant for getters. */
40816 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40817 : false, /* isTypedMethod. Only relevant for methods. */
40818 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40819 : };
40820 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40821 : static_assert(0 < 1, "There is no slot for us");
40822 :
40823 : static bool
40824 0 : get_textShadow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
40825 : {
40826 0 : binding_detail::FastErrorResult rv;
40827 0 : DOMString result;
40828 0 : self->GetTextShadow(result, rv);
40829 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40830 0 : return false;
40831 : }
40832 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40833 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
40834 0 : return false;
40835 : }
40836 0 : return true;
40837 : }
40838 :
40839 : static bool
40840 0 : set_textShadow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
40841 : {
40842 0 : binding_detail::FakeString arg0;
40843 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
40844 0 : return false;
40845 : }
40846 0 : binding_detail::FastErrorResult rv;
40847 0 : self->SetTextShadow(NonNullHelper(Constify(arg0)), rv);
40848 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40849 0 : return false;
40850 : }
40851 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40852 :
40853 0 : return true;
40854 : }
40855 :
40856 : static const JSJitInfo textShadow_getterinfo = {
40857 : { (JSJitGetterOp)get_textShadow },
40858 : { prototypes::id::CSS2Properties },
40859 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40860 : JSJitInfo::Getter,
40861 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40862 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
40863 : false, /* isInfallible. False in setters. */
40864 : false, /* isMovable. Not relevant for setters. */
40865 : false, /* isEliminatable. Not relevant for setters. */
40866 : false, /* isAlwaysInSlot. Only relevant for getters. */
40867 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40868 : false, /* isTypedMethod. Only relevant for methods. */
40869 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40870 : };
40871 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40872 : static_assert(0 < 1, "There is no slot for us");
40873 : static const JSJitInfo textShadow_setterinfo = {
40874 : { (JSJitGetterOp)set_textShadow },
40875 : { prototypes::id::CSS2Properties },
40876 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40877 : JSJitInfo::Setter,
40878 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40879 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
40880 : false, /* isInfallible. False in setters. */
40881 : false, /* isMovable. Not relevant for setters. */
40882 : false, /* isEliminatable. Not relevant for setters. */
40883 : false, /* isAlwaysInSlot. Only relevant for getters. */
40884 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40885 : false, /* isTypedMethod. Only relevant for methods. */
40886 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40887 : };
40888 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40889 : static_assert(0 < 1, "There is no slot for us");
40890 :
40891 : static bool
40892 0 : get_text_shadow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
40893 : {
40894 0 : binding_detail::FastErrorResult rv;
40895 0 : DOMString result;
40896 0 : self->GetTextShadow(result, rv);
40897 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40898 0 : return false;
40899 : }
40900 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40901 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
40902 0 : return false;
40903 : }
40904 0 : return true;
40905 : }
40906 :
40907 : static bool
40908 0 : set_text_shadow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
40909 : {
40910 0 : binding_detail::FakeString arg0;
40911 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
40912 0 : return false;
40913 : }
40914 0 : binding_detail::FastErrorResult rv;
40915 0 : self->SetTextShadow(NonNullHelper(Constify(arg0)), rv);
40916 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40917 0 : return false;
40918 : }
40919 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40920 :
40921 0 : return true;
40922 : }
40923 :
40924 : static const JSJitInfo text_shadow_getterinfo = {
40925 : { (JSJitGetterOp)get_text_shadow },
40926 : { prototypes::id::CSS2Properties },
40927 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40928 : JSJitInfo::Getter,
40929 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40930 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
40931 : false, /* isInfallible. False in setters. */
40932 : false, /* isMovable. Not relevant for setters. */
40933 : false, /* isEliminatable. Not relevant for setters. */
40934 : false, /* isAlwaysInSlot. Only relevant for getters. */
40935 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40936 : false, /* isTypedMethod. Only relevant for methods. */
40937 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40938 : };
40939 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40940 : static_assert(0 < 1, "There is no slot for us");
40941 : static const JSJitInfo text_shadow_setterinfo = {
40942 : { (JSJitGetterOp)set_text_shadow },
40943 : { prototypes::id::CSS2Properties },
40944 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40945 : JSJitInfo::Setter,
40946 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40947 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
40948 : false, /* isInfallible. False in setters. */
40949 : false, /* isMovable. Not relevant for setters. */
40950 : false, /* isEliminatable. Not relevant for setters. */
40951 : false, /* isAlwaysInSlot. Only relevant for getters. */
40952 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
40953 : false, /* isTypedMethod. Only relevant for methods. */
40954 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
40955 : };
40956 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
40957 : static_assert(0 < 1, "There is no slot for us");
40958 :
40959 : static bool
40960 0 : get_MozTextSizeAdjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
40961 : {
40962 0 : binding_detail::FastErrorResult rv;
40963 0 : DOMString result;
40964 0 : self->GetMozTextSizeAdjust(result, rv);
40965 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40966 0 : return false;
40967 : }
40968 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40969 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
40970 0 : return false;
40971 : }
40972 0 : return true;
40973 : }
40974 :
40975 : static bool
40976 0 : set_MozTextSizeAdjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
40977 : {
40978 0 : binding_detail::FakeString arg0;
40979 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
40980 0 : return false;
40981 : }
40982 0 : binding_detail::FastErrorResult rv;
40983 0 : self->SetMozTextSizeAdjust(NonNullHelper(Constify(arg0)), rv);
40984 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
40985 0 : return false;
40986 : }
40987 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
40988 :
40989 0 : return true;
40990 : }
40991 :
40992 : static const JSJitInfo MozTextSizeAdjust_getterinfo = {
40993 : { (JSJitGetterOp)get_MozTextSizeAdjust },
40994 : { prototypes::id::CSS2Properties },
40995 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
40996 : JSJitInfo::Getter,
40997 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
40998 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
40999 : false, /* isInfallible. False in setters. */
41000 : false, /* isMovable. Not relevant for setters. */
41001 : false, /* isEliminatable. Not relevant for setters. */
41002 : false, /* isAlwaysInSlot. Only relevant for getters. */
41003 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41004 : false, /* isTypedMethod. Only relevant for methods. */
41005 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41006 : };
41007 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41008 : static_assert(0 < 1, "There is no slot for us");
41009 : static const JSJitInfo MozTextSizeAdjust_setterinfo = {
41010 : { (JSJitGetterOp)set_MozTextSizeAdjust },
41011 : { prototypes::id::CSS2Properties },
41012 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41013 : JSJitInfo::Setter,
41014 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41015 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
41016 : false, /* isInfallible. False in setters. */
41017 : false, /* isMovable. Not relevant for setters. */
41018 : false, /* isEliminatable. Not relevant for setters. */
41019 : false, /* isAlwaysInSlot. Only relevant for getters. */
41020 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41021 : false, /* isTypedMethod. Only relevant for methods. */
41022 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41023 : };
41024 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41025 : static_assert(0 < 1, "There is no slot for us");
41026 :
41027 : static bool
41028 0 : get__moz_text_size_adjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
41029 : {
41030 0 : binding_detail::FastErrorResult rv;
41031 0 : DOMString result;
41032 0 : self->GetMozTextSizeAdjust(result, rv);
41033 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41034 0 : return false;
41035 : }
41036 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41037 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
41038 0 : return false;
41039 : }
41040 0 : return true;
41041 : }
41042 :
41043 : static bool
41044 0 : set__moz_text_size_adjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41045 : {
41046 0 : binding_detail::FakeString arg0;
41047 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
41048 0 : return false;
41049 : }
41050 0 : binding_detail::FastErrorResult rv;
41051 0 : self->SetMozTextSizeAdjust(NonNullHelper(Constify(arg0)), rv);
41052 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41053 0 : return false;
41054 : }
41055 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41056 :
41057 0 : return true;
41058 : }
41059 :
41060 : static const JSJitInfo _moz_text_size_adjust_getterinfo = {
41061 : { (JSJitGetterOp)get__moz_text_size_adjust },
41062 : { prototypes::id::CSS2Properties },
41063 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41064 : JSJitInfo::Getter,
41065 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41066 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
41067 : false, /* isInfallible. False in setters. */
41068 : false, /* isMovable. Not relevant for setters. */
41069 : false, /* isEliminatable. Not relevant for setters. */
41070 : false, /* isAlwaysInSlot. Only relevant for getters. */
41071 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41072 : false, /* isTypedMethod. Only relevant for methods. */
41073 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41074 : };
41075 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41076 : static_assert(0 < 1, "There is no slot for us");
41077 : static const JSJitInfo _moz_text_size_adjust_setterinfo = {
41078 : { (JSJitGetterOp)set__moz_text_size_adjust },
41079 : { prototypes::id::CSS2Properties },
41080 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41081 : JSJitInfo::Setter,
41082 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41083 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
41084 : false, /* isInfallible. False in setters. */
41085 : false, /* isMovable. Not relevant for setters. */
41086 : false, /* isEliminatable. Not relevant for setters. */
41087 : false, /* isAlwaysInSlot. Only relevant for getters. */
41088 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41089 : false, /* isTypedMethod. Only relevant for methods. */
41090 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41091 : };
41092 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41093 : static_assert(0 < 1, "There is no slot for us");
41094 :
41095 : static bool
41096 0 : get_WebkitTextStroke(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
41097 : {
41098 0 : binding_detail::FastErrorResult rv;
41099 0 : DOMString result;
41100 0 : self->GetWebkitTextStroke(result, rv);
41101 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41102 0 : return false;
41103 : }
41104 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41105 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
41106 0 : return false;
41107 : }
41108 0 : return true;
41109 : }
41110 :
41111 : static bool
41112 0 : set_WebkitTextStroke(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41113 : {
41114 0 : binding_detail::FakeString arg0;
41115 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
41116 0 : return false;
41117 : }
41118 0 : binding_detail::FastErrorResult rv;
41119 0 : self->SetWebkitTextStroke(NonNullHelper(Constify(arg0)), rv);
41120 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41121 0 : return false;
41122 : }
41123 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41124 :
41125 0 : return true;
41126 : }
41127 :
41128 : static const JSJitInfo WebkitTextStroke_getterinfo = {
41129 : { (JSJitGetterOp)get_WebkitTextStroke },
41130 : { prototypes::id::CSS2Properties },
41131 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41132 : JSJitInfo::Getter,
41133 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41134 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
41135 : false, /* isInfallible. False in setters. */
41136 : false, /* isMovable. Not relevant for setters. */
41137 : false, /* isEliminatable. Not relevant for setters. */
41138 : false, /* isAlwaysInSlot. Only relevant for getters. */
41139 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41140 : false, /* isTypedMethod. Only relevant for methods. */
41141 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41142 : };
41143 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41144 : static_assert(0 < 1, "There is no slot for us");
41145 : static const JSJitInfo WebkitTextStroke_setterinfo = {
41146 : { (JSJitGetterOp)set_WebkitTextStroke },
41147 : { prototypes::id::CSS2Properties },
41148 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41149 : JSJitInfo::Setter,
41150 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41151 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
41152 : false, /* isInfallible. False in setters. */
41153 : false, /* isMovable. Not relevant for setters. */
41154 : false, /* isEliminatable. Not relevant for setters. */
41155 : false, /* isAlwaysInSlot. Only relevant for getters. */
41156 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41157 : false, /* isTypedMethod. Only relevant for methods. */
41158 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41159 : };
41160 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41161 : static_assert(0 < 1, "There is no slot for us");
41162 :
41163 : static bool
41164 0 : get_webkitTextStroke(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
41165 : {
41166 0 : binding_detail::FastErrorResult rv;
41167 0 : DOMString result;
41168 0 : self->GetWebkitTextStroke(result, rv);
41169 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41170 0 : return false;
41171 : }
41172 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41173 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
41174 0 : return false;
41175 : }
41176 0 : return true;
41177 : }
41178 :
41179 : static bool
41180 0 : set_webkitTextStroke(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41181 : {
41182 0 : binding_detail::FakeString arg0;
41183 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
41184 0 : return false;
41185 : }
41186 0 : binding_detail::FastErrorResult rv;
41187 0 : self->SetWebkitTextStroke(NonNullHelper(Constify(arg0)), rv);
41188 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41189 0 : return false;
41190 : }
41191 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41192 :
41193 0 : return true;
41194 : }
41195 :
41196 : static const JSJitInfo webkitTextStroke_getterinfo = {
41197 : { (JSJitGetterOp)get_webkitTextStroke },
41198 : { prototypes::id::CSS2Properties },
41199 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41200 : JSJitInfo::Getter,
41201 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41202 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
41203 : false, /* isInfallible. False in setters. */
41204 : false, /* isMovable. Not relevant for setters. */
41205 : false, /* isEliminatable. Not relevant for setters. */
41206 : false, /* isAlwaysInSlot. Only relevant for getters. */
41207 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41208 : false, /* isTypedMethod. Only relevant for methods. */
41209 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41210 : };
41211 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41212 : static_assert(0 < 1, "There is no slot for us");
41213 : static const JSJitInfo webkitTextStroke_setterinfo = {
41214 : { (JSJitGetterOp)set_webkitTextStroke },
41215 : { prototypes::id::CSS2Properties },
41216 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41217 : JSJitInfo::Setter,
41218 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41219 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
41220 : false, /* isInfallible. False in setters. */
41221 : false, /* isMovable. Not relevant for setters. */
41222 : false, /* isEliminatable. Not relevant for setters. */
41223 : false, /* isAlwaysInSlot. Only relevant for getters. */
41224 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41225 : false, /* isTypedMethod. Only relevant for methods. */
41226 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41227 : };
41228 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41229 : static_assert(0 < 1, "There is no slot for us");
41230 :
41231 : static bool
41232 0 : get__webkit_text_stroke(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
41233 : {
41234 0 : binding_detail::FastErrorResult rv;
41235 0 : DOMString result;
41236 0 : self->GetWebkitTextStroke(result, rv);
41237 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41238 0 : return false;
41239 : }
41240 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41241 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
41242 0 : return false;
41243 : }
41244 0 : return true;
41245 : }
41246 :
41247 : static bool
41248 0 : set__webkit_text_stroke(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41249 : {
41250 0 : binding_detail::FakeString arg0;
41251 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
41252 0 : return false;
41253 : }
41254 0 : binding_detail::FastErrorResult rv;
41255 0 : self->SetWebkitTextStroke(NonNullHelper(Constify(arg0)), rv);
41256 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41257 0 : return false;
41258 : }
41259 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41260 :
41261 0 : return true;
41262 : }
41263 :
41264 : static const JSJitInfo _webkit_text_stroke_getterinfo = {
41265 : { (JSJitGetterOp)get__webkit_text_stroke },
41266 : { prototypes::id::CSS2Properties },
41267 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41268 : JSJitInfo::Getter,
41269 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41270 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
41271 : false, /* isInfallible. False in setters. */
41272 : false, /* isMovable. Not relevant for setters. */
41273 : false, /* isEliminatable. Not relevant for setters. */
41274 : false, /* isAlwaysInSlot. Only relevant for getters. */
41275 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41276 : false, /* isTypedMethod. Only relevant for methods. */
41277 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41278 : };
41279 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41280 : static_assert(0 < 1, "There is no slot for us");
41281 : static const JSJitInfo _webkit_text_stroke_setterinfo = {
41282 : { (JSJitGetterOp)set__webkit_text_stroke },
41283 : { prototypes::id::CSS2Properties },
41284 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41285 : JSJitInfo::Setter,
41286 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41287 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
41288 : false, /* isInfallible. False in setters. */
41289 : false, /* isMovable. Not relevant for setters. */
41290 : false, /* isEliminatable. Not relevant for setters. */
41291 : false, /* isAlwaysInSlot. Only relevant for getters. */
41292 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41293 : false, /* isTypedMethod. Only relevant for methods. */
41294 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41295 : };
41296 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41297 : static_assert(0 < 1, "There is no slot for us");
41298 :
41299 : static bool
41300 0 : get_WebkitTextStrokeColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
41301 : {
41302 0 : binding_detail::FastErrorResult rv;
41303 0 : DOMString result;
41304 0 : self->GetWebkitTextStrokeColor(result, rv);
41305 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41306 0 : return false;
41307 : }
41308 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41309 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
41310 0 : return false;
41311 : }
41312 0 : return true;
41313 : }
41314 :
41315 : static bool
41316 0 : set_WebkitTextStrokeColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41317 : {
41318 0 : binding_detail::FakeString arg0;
41319 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
41320 0 : return false;
41321 : }
41322 0 : binding_detail::FastErrorResult rv;
41323 0 : self->SetWebkitTextStrokeColor(NonNullHelper(Constify(arg0)), rv);
41324 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41325 0 : return false;
41326 : }
41327 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41328 :
41329 0 : return true;
41330 : }
41331 :
41332 : static const JSJitInfo WebkitTextStrokeColor_getterinfo = {
41333 : { (JSJitGetterOp)get_WebkitTextStrokeColor },
41334 : { prototypes::id::CSS2Properties },
41335 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41336 : JSJitInfo::Getter,
41337 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41338 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
41339 : false, /* isInfallible. False in setters. */
41340 : false, /* isMovable. Not relevant for setters. */
41341 : false, /* isEliminatable. Not relevant for setters. */
41342 : false, /* isAlwaysInSlot. Only relevant for getters. */
41343 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41344 : false, /* isTypedMethod. Only relevant for methods. */
41345 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41346 : };
41347 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41348 : static_assert(0 < 1, "There is no slot for us");
41349 : static const JSJitInfo WebkitTextStrokeColor_setterinfo = {
41350 : { (JSJitGetterOp)set_WebkitTextStrokeColor },
41351 : { prototypes::id::CSS2Properties },
41352 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41353 : JSJitInfo::Setter,
41354 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41355 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
41356 : false, /* isInfallible. False in setters. */
41357 : false, /* isMovable. Not relevant for setters. */
41358 : false, /* isEliminatable. Not relevant for setters. */
41359 : false, /* isAlwaysInSlot. Only relevant for getters. */
41360 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41361 : false, /* isTypedMethod. Only relevant for methods. */
41362 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41363 : };
41364 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41365 : static_assert(0 < 1, "There is no slot for us");
41366 :
41367 : static bool
41368 0 : get_webkitTextStrokeColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
41369 : {
41370 0 : binding_detail::FastErrorResult rv;
41371 0 : DOMString result;
41372 0 : self->GetWebkitTextStrokeColor(result, rv);
41373 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41374 0 : return false;
41375 : }
41376 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41377 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
41378 0 : return false;
41379 : }
41380 0 : return true;
41381 : }
41382 :
41383 : static bool
41384 0 : set_webkitTextStrokeColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41385 : {
41386 0 : binding_detail::FakeString arg0;
41387 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
41388 0 : return false;
41389 : }
41390 0 : binding_detail::FastErrorResult rv;
41391 0 : self->SetWebkitTextStrokeColor(NonNullHelper(Constify(arg0)), rv);
41392 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41393 0 : return false;
41394 : }
41395 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41396 :
41397 0 : return true;
41398 : }
41399 :
41400 : static const JSJitInfo webkitTextStrokeColor_getterinfo = {
41401 : { (JSJitGetterOp)get_webkitTextStrokeColor },
41402 : { prototypes::id::CSS2Properties },
41403 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41404 : JSJitInfo::Getter,
41405 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41406 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
41407 : false, /* isInfallible. False in setters. */
41408 : false, /* isMovable. Not relevant for setters. */
41409 : false, /* isEliminatable. Not relevant for setters. */
41410 : false, /* isAlwaysInSlot. Only relevant for getters. */
41411 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41412 : false, /* isTypedMethod. Only relevant for methods. */
41413 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41414 : };
41415 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41416 : static_assert(0 < 1, "There is no slot for us");
41417 : static const JSJitInfo webkitTextStrokeColor_setterinfo = {
41418 : { (JSJitGetterOp)set_webkitTextStrokeColor },
41419 : { prototypes::id::CSS2Properties },
41420 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41421 : JSJitInfo::Setter,
41422 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41423 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
41424 : false, /* isInfallible. False in setters. */
41425 : false, /* isMovable. Not relevant for setters. */
41426 : false, /* isEliminatable. Not relevant for setters. */
41427 : false, /* isAlwaysInSlot. Only relevant for getters. */
41428 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41429 : false, /* isTypedMethod. Only relevant for methods. */
41430 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41431 : };
41432 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41433 : static_assert(0 < 1, "There is no slot for us");
41434 :
41435 : static bool
41436 0 : get__webkit_text_stroke_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
41437 : {
41438 0 : binding_detail::FastErrorResult rv;
41439 0 : DOMString result;
41440 0 : self->GetWebkitTextStrokeColor(result, rv);
41441 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41442 0 : return false;
41443 : }
41444 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41445 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
41446 0 : return false;
41447 : }
41448 0 : return true;
41449 : }
41450 :
41451 : static bool
41452 0 : set__webkit_text_stroke_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41453 : {
41454 0 : binding_detail::FakeString arg0;
41455 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
41456 0 : return false;
41457 : }
41458 0 : binding_detail::FastErrorResult rv;
41459 0 : self->SetWebkitTextStrokeColor(NonNullHelper(Constify(arg0)), rv);
41460 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41461 0 : return false;
41462 : }
41463 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41464 :
41465 0 : return true;
41466 : }
41467 :
41468 : static const JSJitInfo _webkit_text_stroke_color_getterinfo = {
41469 : { (JSJitGetterOp)get__webkit_text_stroke_color },
41470 : { prototypes::id::CSS2Properties },
41471 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41472 : JSJitInfo::Getter,
41473 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41474 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
41475 : false, /* isInfallible. False in setters. */
41476 : false, /* isMovable. Not relevant for setters. */
41477 : false, /* isEliminatable. Not relevant for setters. */
41478 : false, /* isAlwaysInSlot. Only relevant for getters. */
41479 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41480 : false, /* isTypedMethod. Only relevant for methods. */
41481 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41482 : };
41483 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41484 : static_assert(0 < 1, "There is no slot for us");
41485 : static const JSJitInfo _webkit_text_stroke_color_setterinfo = {
41486 : { (JSJitGetterOp)set__webkit_text_stroke_color },
41487 : { prototypes::id::CSS2Properties },
41488 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41489 : JSJitInfo::Setter,
41490 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41491 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
41492 : false, /* isInfallible. False in setters. */
41493 : false, /* isMovable. Not relevant for setters. */
41494 : false, /* isEliminatable. Not relevant for setters. */
41495 : false, /* isAlwaysInSlot. Only relevant for getters. */
41496 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41497 : false, /* isTypedMethod. Only relevant for methods. */
41498 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41499 : };
41500 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41501 : static_assert(0 < 1, "There is no slot for us");
41502 :
41503 : static bool
41504 0 : get_WebkitTextStrokeWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
41505 : {
41506 0 : binding_detail::FastErrorResult rv;
41507 0 : DOMString result;
41508 0 : self->GetWebkitTextStrokeWidth(result, rv);
41509 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41510 0 : return false;
41511 : }
41512 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41513 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
41514 0 : return false;
41515 : }
41516 0 : return true;
41517 : }
41518 :
41519 : static bool
41520 0 : set_WebkitTextStrokeWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41521 : {
41522 0 : binding_detail::FakeString arg0;
41523 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
41524 0 : return false;
41525 : }
41526 0 : binding_detail::FastErrorResult rv;
41527 0 : self->SetWebkitTextStrokeWidth(NonNullHelper(Constify(arg0)), rv);
41528 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41529 0 : return false;
41530 : }
41531 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41532 :
41533 0 : return true;
41534 : }
41535 :
41536 : static const JSJitInfo WebkitTextStrokeWidth_getterinfo = {
41537 : { (JSJitGetterOp)get_WebkitTextStrokeWidth },
41538 : { prototypes::id::CSS2Properties },
41539 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41540 : JSJitInfo::Getter,
41541 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41542 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
41543 : false, /* isInfallible. False in setters. */
41544 : false, /* isMovable. Not relevant for setters. */
41545 : false, /* isEliminatable. Not relevant for setters. */
41546 : false, /* isAlwaysInSlot. Only relevant for getters. */
41547 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41548 : false, /* isTypedMethod. Only relevant for methods. */
41549 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41550 : };
41551 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41552 : static_assert(0 < 1, "There is no slot for us");
41553 : static const JSJitInfo WebkitTextStrokeWidth_setterinfo = {
41554 : { (JSJitGetterOp)set_WebkitTextStrokeWidth },
41555 : { prototypes::id::CSS2Properties },
41556 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41557 : JSJitInfo::Setter,
41558 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41559 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
41560 : false, /* isInfallible. False in setters. */
41561 : false, /* isMovable. Not relevant for setters. */
41562 : false, /* isEliminatable. Not relevant for setters. */
41563 : false, /* isAlwaysInSlot. Only relevant for getters. */
41564 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41565 : false, /* isTypedMethod. Only relevant for methods. */
41566 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41567 : };
41568 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41569 : static_assert(0 < 1, "There is no slot for us");
41570 :
41571 : static bool
41572 0 : get_webkitTextStrokeWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
41573 : {
41574 0 : binding_detail::FastErrorResult rv;
41575 0 : DOMString result;
41576 0 : self->GetWebkitTextStrokeWidth(result, rv);
41577 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41578 0 : return false;
41579 : }
41580 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41581 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
41582 0 : return false;
41583 : }
41584 0 : return true;
41585 : }
41586 :
41587 : static bool
41588 0 : set_webkitTextStrokeWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41589 : {
41590 0 : binding_detail::FakeString arg0;
41591 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
41592 0 : return false;
41593 : }
41594 0 : binding_detail::FastErrorResult rv;
41595 0 : self->SetWebkitTextStrokeWidth(NonNullHelper(Constify(arg0)), rv);
41596 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41597 0 : return false;
41598 : }
41599 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41600 :
41601 0 : return true;
41602 : }
41603 :
41604 : static const JSJitInfo webkitTextStrokeWidth_getterinfo = {
41605 : { (JSJitGetterOp)get_webkitTextStrokeWidth },
41606 : { prototypes::id::CSS2Properties },
41607 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41608 : JSJitInfo::Getter,
41609 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41610 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
41611 : false, /* isInfallible. False in setters. */
41612 : false, /* isMovable. Not relevant for setters. */
41613 : false, /* isEliminatable. Not relevant for setters. */
41614 : false, /* isAlwaysInSlot. Only relevant for getters. */
41615 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41616 : false, /* isTypedMethod. Only relevant for methods. */
41617 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41618 : };
41619 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41620 : static_assert(0 < 1, "There is no slot for us");
41621 : static const JSJitInfo webkitTextStrokeWidth_setterinfo = {
41622 : { (JSJitGetterOp)set_webkitTextStrokeWidth },
41623 : { prototypes::id::CSS2Properties },
41624 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41625 : JSJitInfo::Setter,
41626 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41627 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
41628 : false, /* isInfallible. False in setters. */
41629 : false, /* isMovable. Not relevant for setters. */
41630 : false, /* isEliminatable. Not relevant for setters. */
41631 : false, /* isAlwaysInSlot. Only relevant for getters. */
41632 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41633 : false, /* isTypedMethod. Only relevant for methods. */
41634 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41635 : };
41636 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41637 : static_assert(0 < 1, "There is no slot for us");
41638 :
41639 : static bool
41640 0 : get__webkit_text_stroke_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
41641 : {
41642 0 : binding_detail::FastErrorResult rv;
41643 0 : DOMString result;
41644 0 : self->GetWebkitTextStrokeWidth(result, rv);
41645 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41646 0 : return false;
41647 : }
41648 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41649 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
41650 0 : return false;
41651 : }
41652 0 : return true;
41653 : }
41654 :
41655 : static bool
41656 0 : set__webkit_text_stroke_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41657 : {
41658 0 : binding_detail::FakeString arg0;
41659 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
41660 0 : return false;
41661 : }
41662 0 : binding_detail::FastErrorResult rv;
41663 0 : self->SetWebkitTextStrokeWidth(NonNullHelper(Constify(arg0)), rv);
41664 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41665 0 : return false;
41666 : }
41667 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41668 :
41669 0 : return true;
41670 : }
41671 :
41672 : static const JSJitInfo _webkit_text_stroke_width_getterinfo = {
41673 : { (JSJitGetterOp)get__webkit_text_stroke_width },
41674 : { prototypes::id::CSS2Properties },
41675 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41676 : JSJitInfo::Getter,
41677 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41678 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
41679 : false, /* isInfallible. False in setters. */
41680 : false, /* isMovable. Not relevant for setters. */
41681 : false, /* isEliminatable. Not relevant for setters. */
41682 : false, /* isAlwaysInSlot. Only relevant for getters. */
41683 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41684 : false, /* isTypedMethod. Only relevant for methods. */
41685 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41686 : };
41687 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41688 : static_assert(0 < 1, "There is no slot for us");
41689 : static const JSJitInfo _webkit_text_stroke_width_setterinfo = {
41690 : { (JSJitGetterOp)set__webkit_text_stroke_width },
41691 : { prototypes::id::CSS2Properties },
41692 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41693 : JSJitInfo::Setter,
41694 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41695 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
41696 : false, /* isInfallible. False in setters. */
41697 : false, /* isMovable. Not relevant for setters. */
41698 : false, /* isEliminatable. Not relevant for setters. */
41699 : false, /* isAlwaysInSlot. Only relevant for getters. */
41700 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41701 : false, /* isTypedMethod. Only relevant for methods. */
41702 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41703 : };
41704 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41705 : static_assert(0 < 1, "There is no slot for us");
41706 :
41707 : static bool
41708 0 : get_textTransform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
41709 : {
41710 0 : binding_detail::FastErrorResult rv;
41711 0 : DOMString result;
41712 0 : self->GetTextTransform(result, rv);
41713 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41714 0 : return false;
41715 : }
41716 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41717 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
41718 0 : return false;
41719 : }
41720 0 : return true;
41721 : }
41722 :
41723 : static bool
41724 0 : set_textTransform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41725 : {
41726 0 : binding_detail::FakeString arg0;
41727 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
41728 0 : return false;
41729 : }
41730 0 : binding_detail::FastErrorResult rv;
41731 0 : self->SetTextTransform(NonNullHelper(Constify(arg0)), rv);
41732 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41733 0 : return false;
41734 : }
41735 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41736 :
41737 0 : return true;
41738 : }
41739 :
41740 : static const JSJitInfo textTransform_getterinfo = {
41741 : { (JSJitGetterOp)get_textTransform },
41742 : { prototypes::id::CSS2Properties },
41743 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41744 : JSJitInfo::Getter,
41745 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41746 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
41747 : false, /* isInfallible. False in setters. */
41748 : false, /* isMovable. Not relevant for setters. */
41749 : false, /* isEliminatable. Not relevant for setters. */
41750 : false, /* isAlwaysInSlot. Only relevant for getters. */
41751 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41752 : false, /* isTypedMethod. Only relevant for methods. */
41753 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41754 : };
41755 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41756 : static_assert(0 < 1, "There is no slot for us");
41757 : static const JSJitInfo textTransform_setterinfo = {
41758 : { (JSJitGetterOp)set_textTransform },
41759 : { prototypes::id::CSS2Properties },
41760 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41761 : JSJitInfo::Setter,
41762 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41763 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
41764 : false, /* isInfallible. False in setters. */
41765 : false, /* isMovable. Not relevant for setters. */
41766 : false, /* isEliminatable. Not relevant for setters. */
41767 : false, /* isAlwaysInSlot. Only relevant for getters. */
41768 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41769 : false, /* isTypedMethod. Only relevant for methods. */
41770 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41771 : };
41772 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41773 : static_assert(0 < 1, "There is no slot for us");
41774 :
41775 : static bool
41776 0 : get_text_transform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
41777 : {
41778 0 : binding_detail::FastErrorResult rv;
41779 0 : DOMString result;
41780 0 : self->GetTextTransform(result, rv);
41781 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41782 0 : return false;
41783 : }
41784 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41785 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
41786 0 : return false;
41787 : }
41788 0 : return true;
41789 : }
41790 :
41791 : static bool
41792 0 : set_text_transform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41793 : {
41794 0 : binding_detail::FakeString arg0;
41795 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
41796 0 : return false;
41797 : }
41798 0 : binding_detail::FastErrorResult rv;
41799 0 : self->SetTextTransform(NonNullHelper(Constify(arg0)), rv);
41800 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41801 0 : return false;
41802 : }
41803 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41804 :
41805 0 : return true;
41806 : }
41807 :
41808 : static const JSJitInfo text_transform_getterinfo = {
41809 : { (JSJitGetterOp)get_text_transform },
41810 : { prototypes::id::CSS2Properties },
41811 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41812 : JSJitInfo::Getter,
41813 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41814 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
41815 : false, /* isInfallible. False in setters. */
41816 : false, /* isMovable. Not relevant for setters. */
41817 : false, /* isEliminatable. Not relevant for setters. */
41818 : false, /* isAlwaysInSlot. Only relevant for getters. */
41819 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41820 : false, /* isTypedMethod. Only relevant for methods. */
41821 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41822 : };
41823 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41824 : static_assert(0 < 1, "There is no slot for us");
41825 : static const JSJitInfo text_transform_setterinfo = {
41826 : { (JSJitGetterOp)set_text_transform },
41827 : { prototypes::id::CSS2Properties },
41828 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41829 : JSJitInfo::Setter,
41830 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41831 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
41832 : false, /* isInfallible. False in setters. */
41833 : false, /* isMovable. Not relevant for setters. */
41834 : false, /* isEliminatable. Not relevant for setters. */
41835 : false, /* isAlwaysInSlot. Only relevant for getters. */
41836 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41837 : false, /* isTypedMethod. Only relevant for methods. */
41838 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41839 : };
41840 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41841 : static_assert(0 < 1, "There is no slot for us");
41842 :
41843 : static bool
41844 0 : get_top(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
41845 : {
41846 0 : binding_detail::FastErrorResult rv;
41847 0 : DOMString result;
41848 0 : self->GetTop(result, rv);
41849 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41850 0 : return false;
41851 : }
41852 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41853 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
41854 0 : return false;
41855 : }
41856 0 : return true;
41857 : }
41858 :
41859 : static bool
41860 0 : set_top(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41861 : {
41862 0 : binding_detail::FakeString arg0;
41863 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
41864 0 : return false;
41865 : }
41866 0 : binding_detail::FastErrorResult rv;
41867 0 : self->SetTop(NonNullHelper(Constify(arg0)), rv);
41868 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41869 0 : return false;
41870 : }
41871 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41872 :
41873 0 : return true;
41874 : }
41875 :
41876 : static const JSJitInfo top_getterinfo = {
41877 : { (JSJitGetterOp)get_top },
41878 : { prototypes::id::CSS2Properties },
41879 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41880 : JSJitInfo::Getter,
41881 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41882 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
41883 : false, /* isInfallible. False in setters. */
41884 : false, /* isMovable. Not relevant for setters. */
41885 : false, /* isEliminatable. Not relevant for setters. */
41886 : false, /* isAlwaysInSlot. Only relevant for getters. */
41887 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41888 : false, /* isTypedMethod. Only relevant for methods. */
41889 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41890 : };
41891 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41892 : static_assert(0 < 1, "There is no slot for us");
41893 : static const JSJitInfo top_setterinfo = {
41894 : { (JSJitGetterOp)set_top },
41895 : { prototypes::id::CSS2Properties },
41896 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41897 : JSJitInfo::Setter,
41898 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41899 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
41900 : false, /* isInfallible. False in setters. */
41901 : false, /* isMovable. Not relevant for setters. */
41902 : false, /* isEliminatable. Not relevant for setters. */
41903 : false, /* isAlwaysInSlot. Only relevant for getters. */
41904 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41905 : false, /* isTypedMethod. Only relevant for methods. */
41906 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41907 : };
41908 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41909 : static_assert(0 < 1, "There is no slot for us");
41910 :
41911 : static bool
41912 0 : get_touchAction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
41913 : {
41914 0 : binding_detail::FastErrorResult rv;
41915 0 : DOMString result;
41916 0 : self->GetTouchAction(result, rv);
41917 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41918 0 : return false;
41919 : }
41920 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41921 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
41922 0 : return false;
41923 : }
41924 0 : return true;
41925 : }
41926 :
41927 : static bool
41928 0 : set_touchAction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41929 : {
41930 0 : binding_detail::FakeString arg0;
41931 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
41932 0 : return false;
41933 : }
41934 0 : binding_detail::FastErrorResult rv;
41935 0 : self->SetTouchAction(NonNullHelper(Constify(arg0)), rv);
41936 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41937 0 : return false;
41938 : }
41939 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41940 :
41941 0 : return true;
41942 : }
41943 :
41944 : static const JSJitInfo touchAction_getterinfo = {
41945 : { (JSJitGetterOp)get_touchAction },
41946 : { prototypes::id::CSS2Properties },
41947 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41948 : JSJitInfo::Getter,
41949 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41950 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
41951 : false, /* isInfallible. False in setters. */
41952 : false, /* isMovable. Not relevant for setters. */
41953 : false, /* isEliminatable. Not relevant for setters. */
41954 : false, /* isAlwaysInSlot. Only relevant for getters. */
41955 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41956 : false, /* isTypedMethod. Only relevant for methods. */
41957 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41958 : };
41959 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41960 : static_assert(0 < 1, "There is no slot for us");
41961 : static const JSJitInfo touchAction_setterinfo = {
41962 : { (JSJitGetterOp)set_touchAction },
41963 : { prototypes::id::CSS2Properties },
41964 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
41965 : JSJitInfo::Setter,
41966 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
41967 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
41968 : false, /* isInfallible. False in setters. */
41969 : false, /* isMovable. Not relevant for setters. */
41970 : false, /* isEliminatable. Not relevant for setters. */
41971 : false, /* isAlwaysInSlot. Only relevant for getters. */
41972 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
41973 : false, /* isTypedMethod. Only relevant for methods. */
41974 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
41975 : };
41976 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
41977 : static_assert(0 < 1, "There is no slot for us");
41978 :
41979 : static bool
41980 0 : get_touch_action(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
41981 : {
41982 0 : binding_detail::FastErrorResult rv;
41983 0 : DOMString result;
41984 0 : self->GetTouchAction(result, rv);
41985 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
41986 0 : return false;
41987 : }
41988 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
41989 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
41990 0 : return false;
41991 : }
41992 0 : return true;
41993 : }
41994 :
41995 : static bool
41996 0 : set_touch_action(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
41997 : {
41998 0 : binding_detail::FakeString arg0;
41999 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
42000 0 : return false;
42001 : }
42002 0 : binding_detail::FastErrorResult rv;
42003 0 : self->SetTouchAction(NonNullHelper(Constify(arg0)), rv);
42004 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42005 0 : return false;
42006 : }
42007 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42008 :
42009 0 : return true;
42010 : }
42011 :
42012 : static const JSJitInfo touch_action_getterinfo = {
42013 : { (JSJitGetterOp)get_touch_action },
42014 : { prototypes::id::CSS2Properties },
42015 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42016 : JSJitInfo::Getter,
42017 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42018 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
42019 : false, /* isInfallible. False in setters. */
42020 : false, /* isMovable. Not relevant for setters. */
42021 : false, /* isEliminatable. Not relevant for setters. */
42022 : false, /* isAlwaysInSlot. Only relevant for getters. */
42023 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42024 : false, /* isTypedMethod. Only relevant for methods. */
42025 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42026 : };
42027 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42028 : static_assert(0 < 1, "There is no slot for us");
42029 : static const JSJitInfo touch_action_setterinfo = {
42030 : { (JSJitGetterOp)set_touch_action },
42031 : { prototypes::id::CSS2Properties },
42032 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42033 : JSJitInfo::Setter,
42034 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42035 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
42036 : false, /* isInfallible. False in setters. */
42037 : false, /* isMovable. Not relevant for setters. */
42038 : false, /* isEliminatable. Not relevant for setters. */
42039 : false, /* isAlwaysInSlot. Only relevant for getters. */
42040 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42041 : false, /* isTypedMethod. Only relevant for methods. */
42042 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42043 : };
42044 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42045 : static_assert(0 < 1, "There is no slot for us");
42046 :
42047 : static bool
42048 0 : get_transform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
42049 : {
42050 0 : binding_detail::FastErrorResult rv;
42051 0 : DOMString result;
42052 0 : self->GetTransform(result, rv);
42053 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42054 0 : return false;
42055 : }
42056 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42057 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
42058 0 : return false;
42059 : }
42060 0 : return true;
42061 : }
42062 :
42063 : static bool
42064 0 : set_transform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
42065 : {
42066 0 : binding_detail::FakeString arg0;
42067 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
42068 0 : return false;
42069 : }
42070 0 : binding_detail::FastErrorResult rv;
42071 0 : self->SetTransform(NonNullHelper(Constify(arg0)), rv);
42072 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42073 0 : return false;
42074 : }
42075 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42076 :
42077 0 : return true;
42078 : }
42079 :
42080 : static const JSJitInfo transform_getterinfo = {
42081 : { (JSJitGetterOp)get_transform },
42082 : { prototypes::id::CSS2Properties },
42083 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42084 : JSJitInfo::Getter,
42085 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42086 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
42087 : false, /* isInfallible. False in setters. */
42088 : false, /* isMovable. Not relevant for setters. */
42089 : false, /* isEliminatable. Not relevant for setters. */
42090 : false, /* isAlwaysInSlot. Only relevant for getters. */
42091 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42092 : false, /* isTypedMethod. Only relevant for methods. */
42093 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42094 : };
42095 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42096 : static_assert(0 < 1, "There is no slot for us");
42097 : static const JSJitInfo transform_setterinfo = {
42098 : { (JSJitGetterOp)set_transform },
42099 : { prototypes::id::CSS2Properties },
42100 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42101 : JSJitInfo::Setter,
42102 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42103 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
42104 : false, /* isInfallible. False in setters. */
42105 : false, /* isMovable. Not relevant for setters. */
42106 : false, /* isEliminatable. Not relevant for setters. */
42107 : false, /* isAlwaysInSlot. Only relevant for getters. */
42108 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42109 : false, /* isTypedMethod. Only relevant for methods. */
42110 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42111 : };
42112 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42113 : static_assert(0 < 1, "There is no slot for us");
42114 :
42115 : static bool
42116 0 : get_MozTransform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
42117 : {
42118 0 : binding_detail::FastErrorResult rv;
42119 0 : DOMString result;
42120 0 : self->GetMozTransform(result, rv);
42121 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42122 0 : return false;
42123 : }
42124 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42125 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
42126 0 : return false;
42127 : }
42128 0 : return true;
42129 : }
42130 :
42131 : static bool
42132 0 : set_MozTransform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
42133 : {
42134 0 : binding_detail::FakeString arg0;
42135 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
42136 0 : return false;
42137 : }
42138 0 : binding_detail::FastErrorResult rv;
42139 0 : self->SetMozTransform(NonNullHelper(Constify(arg0)), rv);
42140 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42141 0 : return false;
42142 : }
42143 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42144 :
42145 0 : return true;
42146 : }
42147 :
42148 : static const JSJitInfo MozTransform_getterinfo = {
42149 : { (JSJitGetterOp)get_MozTransform },
42150 : { prototypes::id::CSS2Properties },
42151 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42152 : JSJitInfo::Getter,
42153 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42154 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
42155 : false, /* isInfallible. False in setters. */
42156 : false, /* isMovable. Not relevant for setters. */
42157 : false, /* isEliminatable. Not relevant for setters. */
42158 : false, /* isAlwaysInSlot. Only relevant for getters. */
42159 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42160 : false, /* isTypedMethod. Only relevant for methods. */
42161 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42162 : };
42163 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42164 : static_assert(0 < 1, "There is no slot for us");
42165 : static const JSJitInfo MozTransform_setterinfo = {
42166 : { (JSJitGetterOp)set_MozTransform },
42167 : { prototypes::id::CSS2Properties },
42168 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42169 : JSJitInfo::Setter,
42170 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42171 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
42172 : false, /* isInfallible. False in setters. */
42173 : false, /* isMovable. Not relevant for setters. */
42174 : false, /* isEliminatable. Not relevant for setters. */
42175 : false, /* isAlwaysInSlot. Only relevant for getters. */
42176 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42177 : false, /* isTypedMethod. Only relevant for methods. */
42178 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42179 : };
42180 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42181 : static_assert(0 < 1, "There is no slot for us");
42182 :
42183 : static bool
42184 0 : get__moz_transform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
42185 : {
42186 0 : binding_detail::FastErrorResult rv;
42187 0 : DOMString result;
42188 0 : self->GetMozTransform(result, rv);
42189 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42190 0 : return false;
42191 : }
42192 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42193 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
42194 0 : return false;
42195 : }
42196 0 : return true;
42197 : }
42198 :
42199 : static bool
42200 0 : set__moz_transform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
42201 : {
42202 0 : binding_detail::FakeString arg0;
42203 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
42204 0 : return false;
42205 : }
42206 0 : binding_detail::FastErrorResult rv;
42207 0 : self->SetMozTransform(NonNullHelper(Constify(arg0)), rv);
42208 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42209 0 : return false;
42210 : }
42211 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42212 :
42213 0 : return true;
42214 : }
42215 :
42216 : static const JSJitInfo _moz_transform_getterinfo = {
42217 : { (JSJitGetterOp)get__moz_transform },
42218 : { prototypes::id::CSS2Properties },
42219 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42220 : JSJitInfo::Getter,
42221 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42222 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
42223 : false, /* isInfallible. False in setters. */
42224 : false, /* isMovable. Not relevant for setters. */
42225 : false, /* isEliminatable. Not relevant for setters. */
42226 : false, /* isAlwaysInSlot. Only relevant for getters. */
42227 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42228 : false, /* isTypedMethod. Only relevant for methods. */
42229 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42230 : };
42231 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42232 : static_assert(0 < 1, "There is no slot for us");
42233 : static const JSJitInfo _moz_transform_setterinfo = {
42234 : { (JSJitGetterOp)set__moz_transform },
42235 : { prototypes::id::CSS2Properties },
42236 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42237 : JSJitInfo::Setter,
42238 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42239 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
42240 : false, /* isInfallible. False in setters. */
42241 : false, /* isMovable. Not relevant for setters. */
42242 : false, /* isEliminatable. Not relevant for setters. */
42243 : false, /* isAlwaysInSlot. Only relevant for getters. */
42244 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42245 : false, /* isTypedMethod. Only relevant for methods. */
42246 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42247 : };
42248 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42249 : static_assert(0 < 1, "There is no slot for us");
42250 :
42251 : static bool
42252 0 : get_transformBox(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
42253 : {
42254 0 : binding_detail::FastErrorResult rv;
42255 0 : DOMString result;
42256 0 : self->GetTransformBox(result, rv);
42257 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42258 0 : return false;
42259 : }
42260 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42261 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
42262 0 : return false;
42263 : }
42264 0 : return true;
42265 : }
42266 :
42267 : static bool
42268 0 : set_transformBox(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
42269 : {
42270 0 : binding_detail::FakeString arg0;
42271 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
42272 0 : return false;
42273 : }
42274 0 : binding_detail::FastErrorResult rv;
42275 0 : self->SetTransformBox(NonNullHelper(Constify(arg0)), rv);
42276 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42277 0 : return false;
42278 : }
42279 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42280 :
42281 0 : return true;
42282 : }
42283 :
42284 : static const JSJitInfo transformBox_getterinfo = {
42285 : { (JSJitGetterOp)get_transformBox },
42286 : { prototypes::id::CSS2Properties },
42287 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42288 : JSJitInfo::Getter,
42289 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42290 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
42291 : false, /* isInfallible. False in setters. */
42292 : false, /* isMovable. Not relevant for setters. */
42293 : false, /* isEliminatable. Not relevant for setters. */
42294 : false, /* isAlwaysInSlot. Only relevant for getters. */
42295 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42296 : false, /* isTypedMethod. Only relevant for methods. */
42297 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42298 : };
42299 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42300 : static_assert(0 < 1, "There is no slot for us");
42301 : static const JSJitInfo transformBox_setterinfo = {
42302 : { (JSJitGetterOp)set_transformBox },
42303 : { prototypes::id::CSS2Properties },
42304 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42305 : JSJitInfo::Setter,
42306 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42307 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
42308 : false, /* isInfallible. False in setters. */
42309 : false, /* isMovable. Not relevant for setters. */
42310 : false, /* isEliminatable. Not relevant for setters. */
42311 : false, /* isAlwaysInSlot. Only relevant for getters. */
42312 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42313 : false, /* isTypedMethod. Only relevant for methods. */
42314 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42315 : };
42316 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42317 : static_assert(0 < 1, "There is no slot for us");
42318 :
42319 : static bool
42320 0 : get_transform_box(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
42321 : {
42322 0 : binding_detail::FastErrorResult rv;
42323 0 : DOMString result;
42324 0 : self->GetTransformBox(result, rv);
42325 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42326 0 : return false;
42327 : }
42328 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42329 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
42330 0 : return false;
42331 : }
42332 0 : return true;
42333 : }
42334 :
42335 : static bool
42336 0 : set_transform_box(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
42337 : {
42338 0 : binding_detail::FakeString arg0;
42339 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
42340 0 : return false;
42341 : }
42342 0 : binding_detail::FastErrorResult rv;
42343 0 : self->SetTransformBox(NonNullHelper(Constify(arg0)), rv);
42344 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42345 0 : return false;
42346 : }
42347 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42348 :
42349 0 : return true;
42350 : }
42351 :
42352 : static const JSJitInfo transform_box_getterinfo = {
42353 : { (JSJitGetterOp)get_transform_box },
42354 : { prototypes::id::CSS2Properties },
42355 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42356 : JSJitInfo::Getter,
42357 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42358 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
42359 : false, /* isInfallible. False in setters. */
42360 : false, /* isMovable. Not relevant for setters. */
42361 : false, /* isEliminatable. Not relevant for setters. */
42362 : false, /* isAlwaysInSlot. Only relevant for getters. */
42363 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42364 : false, /* isTypedMethod. Only relevant for methods. */
42365 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42366 : };
42367 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42368 : static_assert(0 < 1, "There is no slot for us");
42369 : static const JSJitInfo transform_box_setterinfo = {
42370 : { (JSJitGetterOp)set_transform_box },
42371 : { prototypes::id::CSS2Properties },
42372 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42373 : JSJitInfo::Setter,
42374 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42375 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
42376 : false, /* isInfallible. False in setters. */
42377 : false, /* isMovable. Not relevant for setters. */
42378 : false, /* isEliminatable. Not relevant for setters. */
42379 : false, /* isAlwaysInSlot. Only relevant for getters. */
42380 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42381 : false, /* isTypedMethod. Only relevant for methods. */
42382 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42383 : };
42384 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42385 : static_assert(0 < 1, "There is no slot for us");
42386 :
42387 : static bool
42388 0 : get_transformOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
42389 : {
42390 0 : binding_detail::FastErrorResult rv;
42391 0 : DOMString result;
42392 0 : self->GetTransformOrigin(result, rv);
42393 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42394 0 : return false;
42395 : }
42396 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42397 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
42398 0 : return false;
42399 : }
42400 0 : return true;
42401 : }
42402 :
42403 : static bool
42404 0 : set_transformOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
42405 : {
42406 0 : binding_detail::FakeString arg0;
42407 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
42408 0 : return false;
42409 : }
42410 0 : binding_detail::FastErrorResult rv;
42411 0 : self->SetTransformOrigin(NonNullHelper(Constify(arg0)), rv);
42412 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42413 0 : return false;
42414 : }
42415 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42416 :
42417 0 : return true;
42418 : }
42419 :
42420 : static const JSJitInfo transformOrigin_getterinfo = {
42421 : { (JSJitGetterOp)get_transformOrigin },
42422 : { prototypes::id::CSS2Properties },
42423 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42424 : JSJitInfo::Getter,
42425 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42426 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
42427 : false, /* isInfallible. False in setters. */
42428 : false, /* isMovable. Not relevant for setters. */
42429 : false, /* isEliminatable. Not relevant for setters. */
42430 : false, /* isAlwaysInSlot. Only relevant for getters. */
42431 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42432 : false, /* isTypedMethod. Only relevant for methods. */
42433 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42434 : };
42435 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42436 : static_assert(0 < 1, "There is no slot for us");
42437 : static const JSJitInfo transformOrigin_setterinfo = {
42438 : { (JSJitGetterOp)set_transformOrigin },
42439 : { prototypes::id::CSS2Properties },
42440 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42441 : JSJitInfo::Setter,
42442 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42443 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
42444 : false, /* isInfallible. False in setters. */
42445 : false, /* isMovable. Not relevant for setters. */
42446 : false, /* isEliminatable. Not relevant for setters. */
42447 : false, /* isAlwaysInSlot. Only relevant for getters. */
42448 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42449 : false, /* isTypedMethod. Only relevant for methods. */
42450 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42451 : };
42452 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42453 : static_assert(0 < 1, "There is no slot for us");
42454 :
42455 : static bool
42456 0 : get_transform_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
42457 : {
42458 0 : binding_detail::FastErrorResult rv;
42459 0 : DOMString result;
42460 0 : self->GetTransformOrigin(result, rv);
42461 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42462 0 : return false;
42463 : }
42464 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42465 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
42466 0 : return false;
42467 : }
42468 0 : return true;
42469 : }
42470 :
42471 : static bool
42472 0 : set_transform_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
42473 : {
42474 0 : binding_detail::FakeString arg0;
42475 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
42476 0 : return false;
42477 : }
42478 0 : binding_detail::FastErrorResult rv;
42479 0 : self->SetTransformOrigin(NonNullHelper(Constify(arg0)), rv);
42480 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42481 0 : return false;
42482 : }
42483 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42484 :
42485 0 : return true;
42486 : }
42487 :
42488 : static const JSJitInfo transform_origin_getterinfo = {
42489 : { (JSJitGetterOp)get_transform_origin },
42490 : { prototypes::id::CSS2Properties },
42491 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42492 : JSJitInfo::Getter,
42493 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42494 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
42495 : false, /* isInfallible. False in setters. */
42496 : false, /* isMovable. Not relevant for setters. */
42497 : false, /* isEliminatable. Not relevant for setters. */
42498 : false, /* isAlwaysInSlot. Only relevant for getters. */
42499 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42500 : false, /* isTypedMethod. Only relevant for methods. */
42501 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42502 : };
42503 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42504 : static_assert(0 < 1, "There is no slot for us");
42505 : static const JSJitInfo transform_origin_setterinfo = {
42506 : { (JSJitGetterOp)set_transform_origin },
42507 : { prototypes::id::CSS2Properties },
42508 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42509 : JSJitInfo::Setter,
42510 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42511 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
42512 : false, /* isInfallible. False in setters. */
42513 : false, /* isMovable. Not relevant for setters. */
42514 : false, /* isEliminatable. Not relevant for setters. */
42515 : false, /* isAlwaysInSlot. Only relevant for getters. */
42516 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42517 : false, /* isTypedMethod. Only relevant for methods. */
42518 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42519 : };
42520 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42521 : static_assert(0 < 1, "There is no slot for us");
42522 :
42523 : static bool
42524 0 : get_transformStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
42525 : {
42526 0 : binding_detail::FastErrorResult rv;
42527 0 : DOMString result;
42528 0 : self->GetTransformStyle(result, rv);
42529 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42530 0 : return false;
42531 : }
42532 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42533 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
42534 0 : return false;
42535 : }
42536 0 : return true;
42537 : }
42538 :
42539 : static bool
42540 0 : set_transformStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
42541 : {
42542 0 : binding_detail::FakeString arg0;
42543 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
42544 0 : return false;
42545 : }
42546 0 : binding_detail::FastErrorResult rv;
42547 0 : self->SetTransformStyle(NonNullHelper(Constify(arg0)), rv);
42548 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42549 0 : return false;
42550 : }
42551 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42552 :
42553 0 : return true;
42554 : }
42555 :
42556 : static const JSJitInfo transformStyle_getterinfo = {
42557 : { (JSJitGetterOp)get_transformStyle },
42558 : { prototypes::id::CSS2Properties },
42559 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42560 : JSJitInfo::Getter,
42561 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42562 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
42563 : false, /* isInfallible. False in setters. */
42564 : false, /* isMovable. Not relevant for setters. */
42565 : false, /* isEliminatable. Not relevant for setters. */
42566 : false, /* isAlwaysInSlot. Only relevant for getters. */
42567 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42568 : false, /* isTypedMethod. Only relevant for methods. */
42569 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42570 : };
42571 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42572 : static_assert(0 < 1, "There is no slot for us");
42573 : static const JSJitInfo transformStyle_setterinfo = {
42574 : { (JSJitGetterOp)set_transformStyle },
42575 : { prototypes::id::CSS2Properties },
42576 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42577 : JSJitInfo::Setter,
42578 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42579 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
42580 : false, /* isInfallible. False in setters. */
42581 : false, /* isMovable. Not relevant for setters. */
42582 : false, /* isEliminatable. Not relevant for setters. */
42583 : false, /* isAlwaysInSlot. Only relevant for getters. */
42584 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42585 : false, /* isTypedMethod. Only relevant for methods. */
42586 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42587 : };
42588 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42589 : static_assert(0 < 1, "There is no slot for us");
42590 :
42591 : static bool
42592 0 : get_transform_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
42593 : {
42594 0 : binding_detail::FastErrorResult rv;
42595 0 : DOMString result;
42596 0 : self->GetTransformStyle(result, rv);
42597 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42598 0 : return false;
42599 : }
42600 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42601 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
42602 0 : return false;
42603 : }
42604 0 : return true;
42605 : }
42606 :
42607 : static bool
42608 0 : set_transform_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
42609 : {
42610 0 : binding_detail::FakeString arg0;
42611 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
42612 0 : return false;
42613 : }
42614 0 : binding_detail::FastErrorResult rv;
42615 0 : self->SetTransformStyle(NonNullHelper(Constify(arg0)), rv);
42616 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42617 0 : return false;
42618 : }
42619 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42620 :
42621 0 : return true;
42622 : }
42623 :
42624 : static const JSJitInfo transform_style_getterinfo = {
42625 : { (JSJitGetterOp)get_transform_style },
42626 : { prototypes::id::CSS2Properties },
42627 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42628 : JSJitInfo::Getter,
42629 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42630 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
42631 : false, /* isInfallible. False in setters. */
42632 : false, /* isMovable. Not relevant for setters. */
42633 : false, /* isEliminatable. Not relevant for setters. */
42634 : false, /* isAlwaysInSlot. Only relevant for getters. */
42635 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42636 : false, /* isTypedMethod. Only relevant for methods. */
42637 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42638 : };
42639 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42640 : static_assert(0 < 1, "There is no slot for us");
42641 : static const JSJitInfo transform_style_setterinfo = {
42642 : { (JSJitGetterOp)set_transform_style },
42643 : { prototypes::id::CSS2Properties },
42644 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42645 : JSJitInfo::Setter,
42646 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42647 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
42648 : false, /* isInfallible. False in setters. */
42649 : false, /* isMovable. Not relevant for setters. */
42650 : false, /* isEliminatable. Not relevant for setters. */
42651 : false, /* isAlwaysInSlot. Only relevant for getters. */
42652 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42653 : false, /* isTypedMethod. Only relevant for methods. */
42654 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42655 : };
42656 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42657 : static_assert(0 < 1, "There is no slot for us");
42658 :
42659 : static bool
42660 0 : get_transition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
42661 : {
42662 0 : binding_detail::FastErrorResult rv;
42663 0 : DOMString result;
42664 0 : self->GetTransition(result, rv);
42665 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42666 0 : return false;
42667 : }
42668 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42669 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
42670 0 : return false;
42671 : }
42672 0 : return true;
42673 : }
42674 :
42675 : static bool
42676 0 : set_transition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
42677 : {
42678 0 : binding_detail::FakeString arg0;
42679 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
42680 0 : return false;
42681 : }
42682 0 : binding_detail::FastErrorResult rv;
42683 0 : self->SetTransition(NonNullHelper(Constify(arg0)), rv);
42684 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42685 0 : return false;
42686 : }
42687 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42688 :
42689 0 : return true;
42690 : }
42691 :
42692 : static const JSJitInfo transition_getterinfo = {
42693 : { (JSJitGetterOp)get_transition },
42694 : { prototypes::id::CSS2Properties },
42695 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42696 : JSJitInfo::Getter,
42697 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42698 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
42699 : false, /* isInfallible. False in setters. */
42700 : false, /* isMovable. Not relevant for setters. */
42701 : false, /* isEliminatable. Not relevant for setters. */
42702 : false, /* isAlwaysInSlot. Only relevant for getters. */
42703 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42704 : false, /* isTypedMethod. Only relevant for methods. */
42705 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42706 : };
42707 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42708 : static_assert(0 < 1, "There is no slot for us");
42709 : static const JSJitInfo transition_setterinfo = {
42710 : { (JSJitGetterOp)set_transition },
42711 : { prototypes::id::CSS2Properties },
42712 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42713 : JSJitInfo::Setter,
42714 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42715 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
42716 : false, /* isInfallible. False in setters. */
42717 : false, /* isMovable. Not relevant for setters. */
42718 : false, /* isEliminatable. Not relevant for setters. */
42719 : false, /* isAlwaysInSlot. Only relevant for getters. */
42720 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42721 : false, /* isTypedMethod. Only relevant for methods. */
42722 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42723 : };
42724 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42725 : static_assert(0 < 1, "There is no slot for us");
42726 :
42727 : static bool
42728 0 : get_transitionDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
42729 : {
42730 0 : binding_detail::FastErrorResult rv;
42731 0 : DOMString result;
42732 0 : self->GetTransitionDelay(result, rv);
42733 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42734 0 : return false;
42735 : }
42736 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42737 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
42738 0 : return false;
42739 : }
42740 0 : return true;
42741 : }
42742 :
42743 : static bool
42744 0 : set_transitionDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
42745 : {
42746 0 : binding_detail::FakeString arg0;
42747 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
42748 0 : return false;
42749 : }
42750 0 : binding_detail::FastErrorResult rv;
42751 0 : self->SetTransitionDelay(NonNullHelper(Constify(arg0)), rv);
42752 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42753 0 : return false;
42754 : }
42755 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42756 :
42757 0 : return true;
42758 : }
42759 :
42760 : static const JSJitInfo transitionDelay_getterinfo = {
42761 : { (JSJitGetterOp)get_transitionDelay },
42762 : { prototypes::id::CSS2Properties },
42763 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42764 : JSJitInfo::Getter,
42765 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42766 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
42767 : false, /* isInfallible. False in setters. */
42768 : false, /* isMovable. Not relevant for setters. */
42769 : false, /* isEliminatable. Not relevant for setters. */
42770 : false, /* isAlwaysInSlot. Only relevant for getters. */
42771 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42772 : false, /* isTypedMethod. Only relevant for methods. */
42773 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42774 : };
42775 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42776 : static_assert(0 < 1, "There is no slot for us");
42777 : static const JSJitInfo transitionDelay_setterinfo = {
42778 : { (JSJitGetterOp)set_transitionDelay },
42779 : { prototypes::id::CSS2Properties },
42780 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42781 : JSJitInfo::Setter,
42782 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42783 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
42784 : false, /* isInfallible. False in setters. */
42785 : false, /* isMovable. Not relevant for setters. */
42786 : false, /* isEliminatable. Not relevant for setters. */
42787 : false, /* isAlwaysInSlot. Only relevant for getters. */
42788 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42789 : false, /* isTypedMethod. Only relevant for methods. */
42790 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42791 : };
42792 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42793 : static_assert(0 < 1, "There is no slot for us");
42794 :
42795 : static bool
42796 0 : get_transition_delay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
42797 : {
42798 0 : binding_detail::FastErrorResult rv;
42799 0 : DOMString result;
42800 0 : self->GetTransitionDelay(result, rv);
42801 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42802 0 : return false;
42803 : }
42804 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42805 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
42806 0 : return false;
42807 : }
42808 0 : return true;
42809 : }
42810 :
42811 : static bool
42812 0 : set_transition_delay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
42813 : {
42814 0 : binding_detail::FakeString arg0;
42815 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
42816 0 : return false;
42817 : }
42818 0 : binding_detail::FastErrorResult rv;
42819 0 : self->SetTransitionDelay(NonNullHelper(Constify(arg0)), rv);
42820 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42821 0 : return false;
42822 : }
42823 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42824 :
42825 0 : return true;
42826 : }
42827 :
42828 : static const JSJitInfo transition_delay_getterinfo = {
42829 : { (JSJitGetterOp)get_transition_delay },
42830 : { prototypes::id::CSS2Properties },
42831 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42832 : JSJitInfo::Getter,
42833 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42834 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
42835 : false, /* isInfallible. False in setters. */
42836 : false, /* isMovable. Not relevant for setters. */
42837 : false, /* isEliminatable. Not relevant for setters. */
42838 : false, /* isAlwaysInSlot. Only relevant for getters. */
42839 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42840 : false, /* isTypedMethod. Only relevant for methods. */
42841 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42842 : };
42843 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42844 : static_assert(0 < 1, "There is no slot for us");
42845 : static const JSJitInfo transition_delay_setterinfo = {
42846 : { (JSJitGetterOp)set_transition_delay },
42847 : { prototypes::id::CSS2Properties },
42848 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42849 : JSJitInfo::Setter,
42850 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42851 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
42852 : false, /* isInfallible. False in setters. */
42853 : false, /* isMovable. Not relevant for setters. */
42854 : false, /* isEliminatable. Not relevant for setters. */
42855 : false, /* isAlwaysInSlot. Only relevant for getters. */
42856 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42857 : false, /* isTypedMethod. Only relevant for methods. */
42858 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42859 : };
42860 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42861 : static_assert(0 < 1, "There is no slot for us");
42862 :
42863 : static bool
42864 0 : get_transitionDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
42865 : {
42866 0 : binding_detail::FastErrorResult rv;
42867 0 : DOMString result;
42868 0 : self->GetTransitionDuration(result, rv);
42869 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42870 0 : return false;
42871 : }
42872 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42873 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
42874 0 : return false;
42875 : }
42876 0 : return true;
42877 : }
42878 :
42879 : static bool
42880 0 : set_transitionDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
42881 : {
42882 0 : binding_detail::FakeString arg0;
42883 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
42884 0 : return false;
42885 : }
42886 0 : binding_detail::FastErrorResult rv;
42887 0 : self->SetTransitionDuration(NonNullHelper(Constify(arg0)), rv);
42888 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42889 0 : return false;
42890 : }
42891 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42892 :
42893 0 : return true;
42894 : }
42895 :
42896 : static const JSJitInfo transitionDuration_getterinfo = {
42897 : { (JSJitGetterOp)get_transitionDuration },
42898 : { prototypes::id::CSS2Properties },
42899 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42900 : JSJitInfo::Getter,
42901 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42902 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
42903 : false, /* isInfallible. False in setters. */
42904 : false, /* isMovable. Not relevant for setters. */
42905 : false, /* isEliminatable. Not relevant for setters. */
42906 : false, /* isAlwaysInSlot. Only relevant for getters. */
42907 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42908 : false, /* isTypedMethod. Only relevant for methods. */
42909 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42910 : };
42911 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42912 : static_assert(0 < 1, "There is no slot for us");
42913 : static const JSJitInfo transitionDuration_setterinfo = {
42914 : { (JSJitGetterOp)set_transitionDuration },
42915 : { prototypes::id::CSS2Properties },
42916 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42917 : JSJitInfo::Setter,
42918 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42919 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
42920 : false, /* isInfallible. False in setters. */
42921 : false, /* isMovable. Not relevant for setters. */
42922 : false, /* isEliminatable. Not relevant for setters. */
42923 : false, /* isAlwaysInSlot. Only relevant for getters. */
42924 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42925 : false, /* isTypedMethod. Only relevant for methods. */
42926 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42927 : };
42928 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42929 : static_assert(0 < 1, "There is no slot for us");
42930 :
42931 : static bool
42932 0 : get_transition_duration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
42933 : {
42934 0 : binding_detail::FastErrorResult rv;
42935 0 : DOMString result;
42936 0 : self->GetTransitionDuration(result, rv);
42937 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42938 0 : return false;
42939 : }
42940 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42941 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
42942 0 : return false;
42943 : }
42944 0 : return true;
42945 : }
42946 :
42947 : static bool
42948 0 : set_transition_duration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
42949 : {
42950 0 : binding_detail::FakeString arg0;
42951 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
42952 0 : return false;
42953 : }
42954 0 : binding_detail::FastErrorResult rv;
42955 0 : self->SetTransitionDuration(NonNullHelper(Constify(arg0)), rv);
42956 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
42957 0 : return false;
42958 : }
42959 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
42960 :
42961 0 : return true;
42962 : }
42963 :
42964 : static const JSJitInfo transition_duration_getterinfo = {
42965 : { (JSJitGetterOp)get_transition_duration },
42966 : { prototypes::id::CSS2Properties },
42967 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42968 : JSJitInfo::Getter,
42969 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42970 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
42971 : false, /* isInfallible. False in setters. */
42972 : false, /* isMovable. Not relevant for setters. */
42973 : false, /* isEliminatable. Not relevant for setters. */
42974 : false, /* isAlwaysInSlot. Only relevant for getters. */
42975 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42976 : false, /* isTypedMethod. Only relevant for methods. */
42977 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42978 : };
42979 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42980 : static_assert(0 < 1, "There is no slot for us");
42981 : static const JSJitInfo transition_duration_setterinfo = {
42982 : { (JSJitGetterOp)set_transition_duration },
42983 : { prototypes::id::CSS2Properties },
42984 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
42985 : JSJitInfo::Setter,
42986 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
42987 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
42988 : false, /* isInfallible. False in setters. */
42989 : false, /* isMovable. Not relevant for setters. */
42990 : false, /* isEliminatable. Not relevant for setters. */
42991 : false, /* isAlwaysInSlot. Only relevant for getters. */
42992 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
42993 : false, /* isTypedMethod. Only relevant for methods. */
42994 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
42995 : };
42996 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
42997 : static_assert(0 < 1, "There is no slot for us");
42998 :
42999 : static bool
43000 0 : get_transitionProperty(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
43001 : {
43002 0 : binding_detail::FastErrorResult rv;
43003 0 : DOMString result;
43004 0 : self->GetTransitionProperty(result, rv);
43005 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43006 0 : return false;
43007 : }
43008 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43009 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
43010 0 : return false;
43011 : }
43012 0 : return true;
43013 : }
43014 :
43015 : static bool
43016 0 : set_transitionProperty(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
43017 : {
43018 0 : binding_detail::FakeString arg0;
43019 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
43020 0 : return false;
43021 : }
43022 0 : binding_detail::FastErrorResult rv;
43023 0 : self->SetTransitionProperty(NonNullHelper(Constify(arg0)), rv);
43024 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43025 0 : return false;
43026 : }
43027 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43028 :
43029 0 : return true;
43030 : }
43031 :
43032 : static const JSJitInfo transitionProperty_getterinfo = {
43033 : { (JSJitGetterOp)get_transitionProperty },
43034 : { prototypes::id::CSS2Properties },
43035 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43036 : JSJitInfo::Getter,
43037 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43038 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
43039 : false, /* isInfallible. False in setters. */
43040 : false, /* isMovable. Not relevant for setters. */
43041 : false, /* isEliminatable. Not relevant for setters. */
43042 : false, /* isAlwaysInSlot. Only relevant for getters. */
43043 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43044 : false, /* isTypedMethod. Only relevant for methods. */
43045 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43046 : };
43047 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43048 : static_assert(0 < 1, "There is no slot for us");
43049 : static const JSJitInfo transitionProperty_setterinfo = {
43050 : { (JSJitGetterOp)set_transitionProperty },
43051 : { prototypes::id::CSS2Properties },
43052 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43053 : JSJitInfo::Setter,
43054 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43055 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
43056 : false, /* isInfallible. False in setters. */
43057 : false, /* isMovable. Not relevant for setters. */
43058 : false, /* isEliminatable. Not relevant for setters. */
43059 : false, /* isAlwaysInSlot. Only relevant for getters. */
43060 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43061 : false, /* isTypedMethod. Only relevant for methods. */
43062 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43063 : };
43064 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43065 : static_assert(0 < 1, "There is no slot for us");
43066 :
43067 : static bool
43068 0 : get_transition_property(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
43069 : {
43070 0 : binding_detail::FastErrorResult rv;
43071 0 : DOMString result;
43072 0 : self->GetTransitionProperty(result, rv);
43073 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43074 0 : return false;
43075 : }
43076 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43077 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
43078 0 : return false;
43079 : }
43080 0 : return true;
43081 : }
43082 :
43083 : static bool
43084 0 : set_transition_property(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
43085 : {
43086 0 : binding_detail::FakeString arg0;
43087 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
43088 0 : return false;
43089 : }
43090 0 : binding_detail::FastErrorResult rv;
43091 0 : self->SetTransitionProperty(NonNullHelper(Constify(arg0)), rv);
43092 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43093 0 : return false;
43094 : }
43095 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43096 :
43097 0 : return true;
43098 : }
43099 :
43100 : static const JSJitInfo transition_property_getterinfo = {
43101 : { (JSJitGetterOp)get_transition_property },
43102 : { prototypes::id::CSS2Properties },
43103 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43104 : JSJitInfo::Getter,
43105 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43106 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
43107 : false, /* isInfallible. False in setters. */
43108 : false, /* isMovable. Not relevant for setters. */
43109 : false, /* isEliminatable. Not relevant for setters. */
43110 : false, /* isAlwaysInSlot. Only relevant for getters. */
43111 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43112 : false, /* isTypedMethod. Only relevant for methods. */
43113 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43114 : };
43115 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43116 : static_assert(0 < 1, "There is no slot for us");
43117 : static const JSJitInfo transition_property_setterinfo = {
43118 : { (JSJitGetterOp)set_transition_property },
43119 : { prototypes::id::CSS2Properties },
43120 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43121 : JSJitInfo::Setter,
43122 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43123 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
43124 : false, /* isInfallible. False in setters. */
43125 : false, /* isMovable. Not relevant for setters. */
43126 : false, /* isEliminatable. Not relevant for setters. */
43127 : false, /* isAlwaysInSlot. Only relevant for getters. */
43128 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43129 : false, /* isTypedMethod. Only relevant for methods. */
43130 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43131 : };
43132 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43133 : static_assert(0 < 1, "There is no slot for us");
43134 :
43135 : static bool
43136 0 : get_transitionTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
43137 : {
43138 0 : binding_detail::FastErrorResult rv;
43139 0 : DOMString result;
43140 0 : self->GetTransitionTimingFunction(result, rv);
43141 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43142 0 : return false;
43143 : }
43144 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43145 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
43146 0 : return false;
43147 : }
43148 0 : return true;
43149 : }
43150 :
43151 : static bool
43152 0 : set_transitionTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
43153 : {
43154 0 : binding_detail::FakeString arg0;
43155 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
43156 0 : return false;
43157 : }
43158 0 : binding_detail::FastErrorResult rv;
43159 0 : self->SetTransitionTimingFunction(NonNullHelper(Constify(arg0)), rv);
43160 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43161 0 : return false;
43162 : }
43163 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43164 :
43165 0 : return true;
43166 : }
43167 :
43168 : static const JSJitInfo transitionTimingFunction_getterinfo = {
43169 : { (JSJitGetterOp)get_transitionTimingFunction },
43170 : { prototypes::id::CSS2Properties },
43171 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43172 : JSJitInfo::Getter,
43173 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43174 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
43175 : false, /* isInfallible. False in setters. */
43176 : false, /* isMovable. Not relevant for setters. */
43177 : false, /* isEliminatable. Not relevant for setters. */
43178 : false, /* isAlwaysInSlot. Only relevant for getters. */
43179 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43180 : false, /* isTypedMethod. Only relevant for methods. */
43181 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43182 : };
43183 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43184 : static_assert(0 < 1, "There is no slot for us");
43185 : static const JSJitInfo transitionTimingFunction_setterinfo = {
43186 : { (JSJitGetterOp)set_transitionTimingFunction },
43187 : { prototypes::id::CSS2Properties },
43188 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43189 : JSJitInfo::Setter,
43190 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43191 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
43192 : false, /* isInfallible. False in setters. */
43193 : false, /* isMovable. Not relevant for setters. */
43194 : false, /* isEliminatable. Not relevant for setters. */
43195 : false, /* isAlwaysInSlot. Only relevant for getters. */
43196 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43197 : false, /* isTypedMethod. Only relevant for methods. */
43198 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43199 : };
43200 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43201 : static_assert(0 < 1, "There is no slot for us");
43202 :
43203 : static bool
43204 0 : get_transition_timing_function(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
43205 : {
43206 0 : binding_detail::FastErrorResult rv;
43207 0 : DOMString result;
43208 0 : self->GetTransitionTimingFunction(result, rv);
43209 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43210 0 : return false;
43211 : }
43212 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43213 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
43214 0 : return false;
43215 : }
43216 0 : return true;
43217 : }
43218 :
43219 : static bool
43220 0 : set_transition_timing_function(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
43221 : {
43222 0 : binding_detail::FakeString arg0;
43223 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
43224 0 : return false;
43225 : }
43226 0 : binding_detail::FastErrorResult rv;
43227 0 : self->SetTransitionTimingFunction(NonNullHelper(Constify(arg0)), rv);
43228 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43229 0 : return false;
43230 : }
43231 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43232 :
43233 0 : return true;
43234 : }
43235 :
43236 : static const JSJitInfo transition_timing_function_getterinfo = {
43237 : { (JSJitGetterOp)get_transition_timing_function },
43238 : { prototypes::id::CSS2Properties },
43239 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43240 : JSJitInfo::Getter,
43241 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43242 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
43243 : false, /* isInfallible. False in setters. */
43244 : false, /* isMovable. Not relevant for setters. */
43245 : false, /* isEliminatable. Not relevant for setters. */
43246 : false, /* isAlwaysInSlot. Only relevant for getters. */
43247 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43248 : false, /* isTypedMethod. Only relevant for methods. */
43249 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43250 : };
43251 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43252 : static_assert(0 < 1, "There is no slot for us");
43253 : static const JSJitInfo transition_timing_function_setterinfo = {
43254 : { (JSJitGetterOp)set_transition_timing_function },
43255 : { prototypes::id::CSS2Properties },
43256 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43257 : JSJitInfo::Setter,
43258 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43259 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
43260 : false, /* isInfallible. False in setters. */
43261 : false, /* isMovable. Not relevant for setters. */
43262 : false, /* isEliminatable. Not relevant for setters. */
43263 : false, /* isAlwaysInSlot. Only relevant for getters. */
43264 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43265 : false, /* isTypedMethod. Only relevant for methods. */
43266 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43267 : };
43268 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43269 : static_assert(0 < 1, "There is no slot for us");
43270 :
43271 : static bool
43272 0 : get_unicodeBidi(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
43273 : {
43274 0 : binding_detail::FastErrorResult rv;
43275 0 : DOMString result;
43276 0 : self->GetUnicodeBidi(result, rv);
43277 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43278 0 : return false;
43279 : }
43280 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43281 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
43282 0 : return false;
43283 : }
43284 0 : return true;
43285 : }
43286 :
43287 : static bool
43288 0 : set_unicodeBidi(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
43289 : {
43290 0 : binding_detail::FakeString arg0;
43291 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
43292 0 : return false;
43293 : }
43294 0 : binding_detail::FastErrorResult rv;
43295 0 : self->SetUnicodeBidi(NonNullHelper(Constify(arg0)), rv);
43296 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43297 0 : return false;
43298 : }
43299 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43300 :
43301 0 : return true;
43302 : }
43303 :
43304 : static const JSJitInfo unicodeBidi_getterinfo = {
43305 : { (JSJitGetterOp)get_unicodeBidi },
43306 : { prototypes::id::CSS2Properties },
43307 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43308 : JSJitInfo::Getter,
43309 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43310 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
43311 : false, /* isInfallible. False in setters. */
43312 : false, /* isMovable. Not relevant for setters. */
43313 : false, /* isEliminatable. Not relevant for setters. */
43314 : false, /* isAlwaysInSlot. Only relevant for getters. */
43315 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43316 : false, /* isTypedMethod. Only relevant for methods. */
43317 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43318 : };
43319 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43320 : static_assert(0 < 1, "There is no slot for us");
43321 : static const JSJitInfo unicodeBidi_setterinfo = {
43322 : { (JSJitGetterOp)set_unicodeBidi },
43323 : { prototypes::id::CSS2Properties },
43324 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43325 : JSJitInfo::Setter,
43326 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43327 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
43328 : false, /* isInfallible. False in setters. */
43329 : false, /* isMovable. Not relevant for setters. */
43330 : false, /* isEliminatable. Not relevant for setters. */
43331 : false, /* isAlwaysInSlot. Only relevant for getters. */
43332 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43333 : false, /* isTypedMethod. Only relevant for methods. */
43334 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43335 : };
43336 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43337 : static_assert(0 < 1, "There is no slot for us");
43338 :
43339 : static bool
43340 0 : get_unicode_bidi(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
43341 : {
43342 0 : binding_detail::FastErrorResult rv;
43343 0 : DOMString result;
43344 0 : self->GetUnicodeBidi(result, rv);
43345 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43346 0 : return false;
43347 : }
43348 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43349 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
43350 0 : return false;
43351 : }
43352 0 : return true;
43353 : }
43354 :
43355 : static bool
43356 0 : set_unicode_bidi(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
43357 : {
43358 0 : binding_detail::FakeString arg0;
43359 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
43360 0 : return false;
43361 : }
43362 0 : binding_detail::FastErrorResult rv;
43363 0 : self->SetUnicodeBidi(NonNullHelper(Constify(arg0)), rv);
43364 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43365 0 : return false;
43366 : }
43367 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43368 :
43369 0 : return true;
43370 : }
43371 :
43372 : static const JSJitInfo unicode_bidi_getterinfo = {
43373 : { (JSJitGetterOp)get_unicode_bidi },
43374 : { prototypes::id::CSS2Properties },
43375 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43376 : JSJitInfo::Getter,
43377 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43378 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
43379 : false, /* isInfallible. False in setters. */
43380 : false, /* isMovable. Not relevant for setters. */
43381 : false, /* isEliminatable. Not relevant for setters. */
43382 : false, /* isAlwaysInSlot. Only relevant for getters. */
43383 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43384 : false, /* isTypedMethod. Only relevant for methods. */
43385 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43386 : };
43387 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43388 : static_assert(0 < 1, "There is no slot for us");
43389 : static const JSJitInfo unicode_bidi_setterinfo = {
43390 : { (JSJitGetterOp)set_unicode_bidi },
43391 : { prototypes::id::CSS2Properties },
43392 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43393 : JSJitInfo::Setter,
43394 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43395 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
43396 : false, /* isInfallible. False in setters. */
43397 : false, /* isMovable. Not relevant for setters. */
43398 : false, /* isEliminatable. Not relevant for setters. */
43399 : false, /* isAlwaysInSlot. Only relevant for getters. */
43400 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43401 : false, /* isTypedMethod. Only relevant for methods. */
43402 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43403 : };
43404 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43405 : static_assert(0 < 1, "There is no slot for us");
43406 :
43407 : static bool
43408 0 : get_MozUserFocus(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
43409 : {
43410 0 : binding_detail::FastErrorResult rv;
43411 0 : DOMString result;
43412 0 : self->GetMozUserFocus(result, rv);
43413 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43414 0 : return false;
43415 : }
43416 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43417 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
43418 0 : return false;
43419 : }
43420 0 : return true;
43421 : }
43422 :
43423 : static bool
43424 0 : set_MozUserFocus(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
43425 : {
43426 0 : binding_detail::FakeString arg0;
43427 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
43428 0 : return false;
43429 : }
43430 0 : binding_detail::FastErrorResult rv;
43431 0 : self->SetMozUserFocus(NonNullHelper(Constify(arg0)), rv);
43432 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43433 0 : return false;
43434 : }
43435 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43436 :
43437 0 : return true;
43438 : }
43439 :
43440 : static const JSJitInfo MozUserFocus_getterinfo = {
43441 : { (JSJitGetterOp)get_MozUserFocus },
43442 : { prototypes::id::CSS2Properties },
43443 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43444 : JSJitInfo::Getter,
43445 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43446 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
43447 : false, /* isInfallible. False in setters. */
43448 : false, /* isMovable. Not relevant for setters. */
43449 : false, /* isEliminatable. Not relevant for setters. */
43450 : false, /* isAlwaysInSlot. Only relevant for getters. */
43451 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43452 : false, /* isTypedMethod. Only relevant for methods. */
43453 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43454 : };
43455 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43456 : static_assert(0 < 1, "There is no slot for us");
43457 : static const JSJitInfo MozUserFocus_setterinfo = {
43458 : { (JSJitGetterOp)set_MozUserFocus },
43459 : { prototypes::id::CSS2Properties },
43460 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43461 : JSJitInfo::Setter,
43462 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43463 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
43464 : false, /* isInfallible. False in setters. */
43465 : false, /* isMovable. Not relevant for setters. */
43466 : false, /* isEliminatable. Not relevant for setters. */
43467 : false, /* isAlwaysInSlot. Only relevant for getters. */
43468 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43469 : false, /* isTypedMethod. Only relevant for methods. */
43470 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43471 : };
43472 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43473 : static_assert(0 < 1, "There is no slot for us");
43474 :
43475 : static bool
43476 0 : get__moz_user_focus(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
43477 : {
43478 0 : binding_detail::FastErrorResult rv;
43479 0 : DOMString result;
43480 0 : self->GetMozUserFocus(result, rv);
43481 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43482 0 : return false;
43483 : }
43484 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43485 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
43486 0 : return false;
43487 : }
43488 0 : return true;
43489 : }
43490 :
43491 : static bool
43492 0 : set__moz_user_focus(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
43493 : {
43494 0 : binding_detail::FakeString arg0;
43495 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
43496 0 : return false;
43497 : }
43498 0 : binding_detail::FastErrorResult rv;
43499 0 : self->SetMozUserFocus(NonNullHelper(Constify(arg0)), rv);
43500 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43501 0 : return false;
43502 : }
43503 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43504 :
43505 0 : return true;
43506 : }
43507 :
43508 : static const JSJitInfo _moz_user_focus_getterinfo = {
43509 : { (JSJitGetterOp)get__moz_user_focus },
43510 : { prototypes::id::CSS2Properties },
43511 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43512 : JSJitInfo::Getter,
43513 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43514 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
43515 : false, /* isInfallible. False in setters. */
43516 : false, /* isMovable. Not relevant for setters. */
43517 : false, /* isEliminatable. Not relevant for setters. */
43518 : false, /* isAlwaysInSlot. Only relevant for getters. */
43519 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43520 : false, /* isTypedMethod. Only relevant for methods. */
43521 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43522 : };
43523 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43524 : static_assert(0 < 1, "There is no slot for us");
43525 : static const JSJitInfo _moz_user_focus_setterinfo = {
43526 : { (JSJitGetterOp)set__moz_user_focus },
43527 : { prototypes::id::CSS2Properties },
43528 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43529 : JSJitInfo::Setter,
43530 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43531 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
43532 : false, /* isInfallible. False in setters. */
43533 : false, /* isMovable. Not relevant for setters. */
43534 : false, /* isEliminatable. Not relevant for setters. */
43535 : false, /* isAlwaysInSlot. Only relevant for getters. */
43536 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43537 : false, /* isTypedMethod. Only relevant for methods. */
43538 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43539 : };
43540 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43541 : static_assert(0 < 1, "There is no slot for us");
43542 :
43543 : static bool
43544 0 : get_MozUserInput(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
43545 : {
43546 0 : binding_detail::FastErrorResult rv;
43547 0 : DOMString result;
43548 0 : self->GetMozUserInput(result, rv);
43549 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43550 0 : return false;
43551 : }
43552 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43553 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
43554 0 : return false;
43555 : }
43556 0 : return true;
43557 : }
43558 :
43559 : static bool
43560 0 : set_MozUserInput(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
43561 : {
43562 0 : binding_detail::FakeString arg0;
43563 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
43564 0 : return false;
43565 : }
43566 0 : binding_detail::FastErrorResult rv;
43567 0 : self->SetMozUserInput(NonNullHelper(Constify(arg0)), rv);
43568 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43569 0 : return false;
43570 : }
43571 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43572 :
43573 0 : return true;
43574 : }
43575 :
43576 : static const JSJitInfo MozUserInput_getterinfo = {
43577 : { (JSJitGetterOp)get_MozUserInput },
43578 : { prototypes::id::CSS2Properties },
43579 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43580 : JSJitInfo::Getter,
43581 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43582 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
43583 : false, /* isInfallible. False in setters. */
43584 : false, /* isMovable. Not relevant for setters. */
43585 : false, /* isEliminatable. Not relevant for setters. */
43586 : false, /* isAlwaysInSlot. Only relevant for getters. */
43587 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43588 : false, /* isTypedMethod. Only relevant for methods. */
43589 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43590 : };
43591 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43592 : static_assert(0 < 1, "There is no slot for us");
43593 : static const JSJitInfo MozUserInput_setterinfo = {
43594 : { (JSJitGetterOp)set_MozUserInput },
43595 : { prototypes::id::CSS2Properties },
43596 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43597 : JSJitInfo::Setter,
43598 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43599 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
43600 : false, /* isInfallible. False in setters. */
43601 : false, /* isMovable. Not relevant for setters. */
43602 : false, /* isEliminatable. Not relevant for setters. */
43603 : false, /* isAlwaysInSlot. Only relevant for getters. */
43604 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43605 : false, /* isTypedMethod. Only relevant for methods. */
43606 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43607 : };
43608 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43609 : static_assert(0 < 1, "There is no slot for us");
43610 :
43611 : static bool
43612 0 : get__moz_user_input(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
43613 : {
43614 0 : binding_detail::FastErrorResult rv;
43615 0 : DOMString result;
43616 0 : self->GetMozUserInput(result, rv);
43617 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43618 0 : return false;
43619 : }
43620 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43621 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
43622 0 : return false;
43623 : }
43624 0 : return true;
43625 : }
43626 :
43627 : static bool
43628 0 : set__moz_user_input(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
43629 : {
43630 0 : binding_detail::FakeString arg0;
43631 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
43632 0 : return false;
43633 : }
43634 0 : binding_detail::FastErrorResult rv;
43635 0 : self->SetMozUserInput(NonNullHelper(Constify(arg0)), rv);
43636 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43637 0 : return false;
43638 : }
43639 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43640 :
43641 0 : return true;
43642 : }
43643 :
43644 : static const JSJitInfo _moz_user_input_getterinfo = {
43645 : { (JSJitGetterOp)get__moz_user_input },
43646 : { prototypes::id::CSS2Properties },
43647 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43648 : JSJitInfo::Getter,
43649 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43650 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
43651 : false, /* isInfallible. False in setters. */
43652 : false, /* isMovable. Not relevant for setters. */
43653 : false, /* isEliminatable. Not relevant for setters. */
43654 : false, /* isAlwaysInSlot. Only relevant for getters. */
43655 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43656 : false, /* isTypedMethod. Only relevant for methods. */
43657 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43658 : };
43659 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43660 : static_assert(0 < 1, "There is no slot for us");
43661 : static const JSJitInfo _moz_user_input_setterinfo = {
43662 : { (JSJitGetterOp)set__moz_user_input },
43663 : { prototypes::id::CSS2Properties },
43664 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43665 : JSJitInfo::Setter,
43666 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43667 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
43668 : false, /* isInfallible. False in setters. */
43669 : false, /* isMovable. Not relevant for setters. */
43670 : false, /* isEliminatable. Not relevant for setters. */
43671 : false, /* isAlwaysInSlot. Only relevant for getters. */
43672 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43673 : false, /* isTypedMethod. Only relevant for methods. */
43674 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43675 : };
43676 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43677 : static_assert(0 < 1, "There is no slot for us");
43678 :
43679 : static bool
43680 0 : get_MozUserModify(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
43681 : {
43682 0 : binding_detail::FastErrorResult rv;
43683 0 : DOMString result;
43684 0 : self->GetMozUserModify(result, rv);
43685 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43686 0 : return false;
43687 : }
43688 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43689 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
43690 0 : return false;
43691 : }
43692 0 : return true;
43693 : }
43694 :
43695 : static bool
43696 0 : set_MozUserModify(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
43697 : {
43698 0 : binding_detail::FakeString arg0;
43699 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
43700 0 : return false;
43701 : }
43702 0 : binding_detail::FastErrorResult rv;
43703 0 : self->SetMozUserModify(NonNullHelper(Constify(arg0)), rv);
43704 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43705 0 : return false;
43706 : }
43707 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43708 :
43709 0 : return true;
43710 : }
43711 :
43712 : static const JSJitInfo MozUserModify_getterinfo = {
43713 : { (JSJitGetterOp)get_MozUserModify },
43714 : { prototypes::id::CSS2Properties },
43715 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43716 : JSJitInfo::Getter,
43717 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43718 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
43719 : false, /* isInfallible. False in setters. */
43720 : false, /* isMovable. Not relevant for setters. */
43721 : false, /* isEliminatable. Not relevant for setters. */
43722 : false, /* isAlwaysInSlot. Only relevant for getters. */
43723 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43724 : false, /* isTypedMethod. Only relevant for methods. */
43725 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43726 : };
43727 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43728 : static_assert(0 < 1, "There is no slot for us");
43729 : static const JSJitInfo MozUserModify_setterinfo = {
43730 : { (JSJitGetterOp)set_MozUserModify },
43731 : { prototypes::id::CSS2Properties },
43732 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43733 : JSJitInfo::Setter,
43734 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43735 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
43736 : false, /* isInfallible. False in setters. */
43737 : false, /* isMovable. Not relevant for setters. */
43738 : false, /* isEliminatable. Not relevant for setters. */
43739 : false, /* isAlwaysInSlot. Only relevant for getters. */
43740 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43741 : false, /* isTypedMethod. Only relevant for methods. */
43742 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43743 : };
43744 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43745 : static_assert(0 < 1, "There is no slot for us");
43746 :
43747 : static bool
43748 0 : get__moz_user_modify(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
43749 : {
43750 0 : binding_detail::FastErrorResult rv;
43751 0 : DOMString result;
43752 0 : self->GetMozUserModify(result, rv);
43753 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43754 0 : return false;
43755 : }
43756 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43757 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
43758 0 : return false;
43759 : }
43760 0 : return true;
43761 : }
43762 :
43763 : static bool
43764 0 : set__moz_user_modify(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
43765 : {
43766 0 : binding_detail::FakeString arg0;
43767 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
43768 0 : return false;
43769 : }
43770 0 : binding_detail::FastErrorResult rv;
43771 0 : self->SetMozUserModify(NonNullHelper(Constify(arg0)), rv);
43772 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43773 0 : return false;
43774 : }
43775 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43776 :
43777 0 : return true;
43778 : }
43779 :
43780 : static const JSJitInfo _moz_user_modify_getterinfo = {
43781 : { (JSJitGetterOp)get__moz_user_modify },
43782 : { prototypes::id::CSS2Properties },
43783 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43784 : JSJitInfo::Getter,
43785 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43786 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
43787 : false, /* isInfallible. False in setters. */
43788 : false, /* isMovable. Not relevant for setters. */
43789 : false, /* isEliminatable. Not relevant for setters. */
43790 : false, /* isAlwaysInSlot. Only relevant for getters. */
43791 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43792 : false, /* isTypedMethod. Only relevant for methods. */
43793 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43794 : };
43795 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43796 : static_assert(0 < 1, "There is no slot for us");
43797 : static const JSJitInfo _moz_user_modify_setterinfo = {
43798 : { (JSJitGetterOp)set__moz_user_modify },
43799 : { prototypes::id::CSS2Properties },
43800 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43801 : JSJitInfo::Setter,
43802 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43803 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
43804 : false, /* isInfallible. False in setters. */
43805 : false, /* isMovable. Not relevant for setters. */
43806 : false, /* isEliminatable. Not relevant for setters. */
43807 : false, /* isAlwaysInSlot. Only relevant for getters. */
43808 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43809 : false, /* isTypedMethod. Only relevant for methods. */
43810 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43811 : };
43812 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43813 : static_assert(0 < 1, "There is no slot for us");
43814 :
43815 : static bool
43816 0 : get_MozUserSelect(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
43817 : {
43818 0 : binding_detail::FastErrorResult rv;
43819 0 : DOMString result;
43820 0 : self->GetMozUserSelect(result, rv);
43821 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43822 0 : return false;
43823 : }
43824 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43825 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
43826 0 : return false;
43827 : }
43828 0 : return true;
43829 : }
43830 :
43831 : static bool
43832 0 : set_MozUserSelect(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
43833 : {
43834 0 : binding_detail::FakeString arg0;
43835 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
43836 0 : return false;
43837 : }
43838 0 : binding_detail::FastErrorResult rv;
43839 0 : self->SetMozUserSelect(NonNullHelper(Constify(arg0)), rv);
43840 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43841 0 : return false;
43842 : }
43843 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43844 :
43845 0 : return true;
43846 : }
43847 :
43848 : static const JSJitInfo MozUserSelect_getterinfo = {
43849 : { (JSJitGetterOp)get_MozUserSelect },
43850 : { prototypes::id::CSS2Properties },
43851 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43852 : JSJitInfo::Getter,
43853 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43854 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
43855 : false, /* isInfallible. False in setters. */
43856 : false, /* isMovable. Not relevant for setters. */
43857 : false, /* isEliminatable. Not relevant for setters. */
43858 : false, /* isAlwaysInSlot. Only relevant for getters. */
43859 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43860 : false, /* isTypedMethod. Only relevant for methods. */
43861 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43862 : };
43863 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43864 : static_assert(0 < 1, "There is no slot for us");
43865 : static const JSJitInfo MozUserSelect_setterinfo = {
43866 : { (JSJitGetterOp)set_MozUserSelect },
43867 : { prototypes::id::CSS2Properties },
43868 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43869 : JSJitInfo::Setter,
43870 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43871 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
43872 : false, /* isInfallible. False in setters. */
43873 : false, /* isMovable. Not relevant for setters. */
43874 : false, /* isEliminatable. Not relevant for setters. */
43875 : false, /* isAlwaysInSlot. Only relevant for getters. */
43876 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43877 : false, /* isTypedMethod. Only relevant for methods. */
43878 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43879 : };
43880 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43881 : static_assert(0 < 1, "There is no slot for us");
43882 :
43883 : static bool
43884 0 : get__moz_user_select(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
43885 : {
43886 0 : binding_detail::FastErrorResult rv;
43887 0 : DOMString result;
43888 0 : self->GetMozUserSelect(result, rv);
43889 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43890 0 : return false;
43891 : }
43892 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43893 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
43894 0 : return false;
43895 : }
43896 0 : return true;
43897 : }
43898 :
43899 : static bool
43900 0 : set__moz_user_select(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
43901 : {
43902 0 : binding_detail::FakeString arg0;
43903 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
43904 0 : return false;
43905 : }
43906 0 : binding_detail::FastErrorResult rv;
43907 0 : self->SetMozUserSelect(NonNullHelper(Constify(arg0)), rv);
43908 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43909 0 : return false;
43910 : }
43911 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43912 :
43913 0 : return true;
43914 : }
43915 :
43916 : static const JSJitInfo _moz_user_select_getterinfo = {
43917 : { (JSJitGetterOp)get__moz_user_select },
43918 : { prototypes::id::CSS2Properties },
43919 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43920 : JSJitInfo::Getter,
43921 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43922 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
43923 : false, /* isInfallible. False in setters. */
43924 : false, /* isMovable. Not relevant for setters. */
43925 : false, /* isEliminatable. Not relevant for setters. */
43926 : false, /* isAlwaysInSlot. Only relevant for getters. */
43927 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43928 : false, /* isTypedMethod. Only relevant for methods. */
43929 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43930 : };
43931 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43932 : static_assert(0 < 1, "There is no slot for us");
43933 : static const JSJitInfo _moz_user_select_setterinfo = {
43934 : { (JSJitGetterOp)set__moz_user_select },
43935 : { prototypes::id::CSS2Properties },
43936 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43937 : JSJitInfo::Setter,
43938 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43939 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
43940 : false, /* isInfallible. False in setters. */
43941 : false, /* isMovable. Not relevant for setters. */
43942 : false, /* isEliminatable. Not relevant for setters. */
43943 : false, /* isAlwaysInSlot. Only relevant for getters. */
43944 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43945 : false, /* isTypedMethod. Only relevant for methods. */
43946 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43947 : };
43948 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
43949 : static_assert(0 < 1, "There is no slot for us");
43950 :
43951 : static bool
43952 0 : get_vectorEffect(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
43953 : {
43954 0 : binding_detail::FastErrorResult rv;
43955 0 : DOMString result;
43956 0 : self->GetVectorEffect(result, rv);
43957 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43958 0 : return false;
43959 : }
43960 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43961 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
43962 0 : return false;
43963 : }
43964 0 : return true;
43965 : }
43966 :
43967 : static bool
43968 0 : set_vectorEffect(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
43969 : {
43970 0 : binding_detail::FakeString arg0;
43971 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
43972 0 : return false;
43973 : }
43974 0 : binding_detail::FastErrorResult rv;
43975 0 : self->SetVectorEffect(NonNullHelper(Constify(arg0)), rv);
43976 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
43977 0 : return false;
43978 : }
43979 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
43980 :
43981 0 : return true;
43982 : }
43983 :
43984 : static const JSJitInfo vectorEffect_getterinfo = {
43985 : { (JSJitGetterOp)get_vectorEffect },
43986 : { prototypes::id::CSS2Properties },
43987 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
43988 : JSJitInfo::Getter,
43989 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
43990 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
43991 : false, /* isInfallible. False in setters. */
43992 : false, /* isMovable. Not relevant for setters. */
43993 : false, /* isEliminatable. Not relevant for setters. */
43994 : false, /* isAlwaysInSlot. Only relevant for getters. */
43995 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
43996 : false, /* isTypedMethod. Only relevant for methods. */
43997 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
43998 : };
43999 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44000 : static_assert(0 < 1, "There is no slot for us");
44001 : static const JSJitInfo vectorEffect_setterinfo = {
44002 : { (JSJitGetterOp)set_vectorEffect },
44003 : { prototypes::id::CSS2Properties },
44004 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44005 : JSJitInfo::Setter,
44006 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44007 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
44008 : false, /* isInfallible. False in setters. */
44009 : false, /* isMovable. Not relevant for setters. */
44010 : false, /* isEliminatable. Not relevant for setters. */
44011 : false, /* isAlwaysInSlot. Only relevant for getters. */
44012 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44013 : false, /* isTypedMethod. Only relevant for methods. */
44014 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44015 : };
44016 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44017 : static_assert(0 < 1, "There is no slot for us");
44018 :
44019 : static bool
44020 0 : get_vector_effect(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
44021 : {
44022 0 : binding_detail::FastErrorResult rv;
44023 0 : DOMString result;
44024 0 : self->GetVectorEffect(result, rv);
44025 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44026 0 : return false;
44027 : }
44028 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44029 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
44030 0 : return false;
44031 : }
44032 0 : return true;
44033 : }
44034 :
44035 : static bool
44036 0 : set_vector_effect(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
44037 : {
44038 0 : binding_detail::FakeString arg0;
44039 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44040 0 : return false;
44041 : }
44042 0 : binding_detail::FastErrorResult rv;
44043 0 : self->SetVectorEffect(NonNullHelper(Constify(arg0)), rv);
44044 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44045 0 : return false;
44046 : }
44047 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44048 :
44049 0 : return true;
44050 : }
44051 :
44052 : static const JSJitInfo vector_effect_getterinfo = {
44053 : { (JSJitGetterOp)get_vector_effect },
44054 : { prototypes::id::CSS2Properties },
44055 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44056 : JSJitInfo::Getter,
44057 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44058 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
44059 : false, /* isInfallible. False in setters. */
44060 : false, /* isMovable. Not relevant for setters. */
44061 : false, /* isEliminatable. Not relevant for setters. */
44062 : false, /* isAlwaysInSlot. Only relevant for getters. */
44063 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44064 : false, /* isTypedMethod. Only relevant for methods. */
44065 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44066 : };
44067 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44068 : static_assert(0 < 1, "There is no slot for us");
44069 : static const JSJitInfo vector_effect_setterinfo = {
44070 : { (JSJitGetterOp)set_vector_effect },
44071 : { prototypes::id::CSS2Properties },
44072 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44073 : JSJitInfo::Setter,
44074 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44075 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
44076 : false, /* isInfallible. False in setters. */
44077 : false, /* isMovable. Not relevant for setters. */
44078 : false, /* isEliminatable. Not relevant for setters. */
44079 : false, /* isAlwaysInSlot. Only relevant for getters. */
44080 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44081 : false, /* isTypedMethod. Only relevant for methods. */
44082 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44083 : };
44084 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44085 : static_assert(0 < 1, "There is no slot for us");
44086 :
44087 : static bool
44088 0 : get_verticalAlign(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
44089 : {
44090 0 : binding_detail::FastErrorResult rv;
44091 0 : DOMString result;
44092 0 : self->GetVerticalAlign(result, rv);
44093 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44094 0 : return false;
44095 : }
44096 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44097 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
44098 0 : return false;
44099 : }
44100 0 : return true;
44101 : }
44102 :
44103 : static bool
44104 0 : set_verticalAlign(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
44105 : {
44106 0 : binding_detail::FakeString arg0;
44107 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44108 0 : return false;
44109 : }
44110 0 : binding_detail::FastErrorResult rv;
44111 0 : self->SetVerticalAlign(NonNullHelper(Constify(arg0)), rv);
44112 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44113 0 : return false;
44114 : }
44115 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44116 :
44117 0 : return true;
44118 : }
44119 :
44120 : static const JSJitInfo verticalAlign_getterinfo = {
44121 : { (JSJitGetterOp)get_verticalAlign },
44122 : { prototypes::id::CSS2Properties },
44123 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44124 : JSJitInfo::Getter,
44125 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44126 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
44127 : false, /* isInfallible. False in setters. */
44128 : false, /* isMovable. Not relevant for setters. */
44129 : false, /* isEliminatable. Not relevant for setters. */
44130 : false, /* isAlwaysInSlot. Only relevant for getters. */
44131 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44132 : false, /* isTypedMethod. Only relevant for methods. */
44133 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44134 : };
44135 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44136 : static_assert(0 < 1, "There is no slot for us");
44137 : static const JSJitInfo verticalAlign_setterinfo = {
44138 : { (JSJitGetterOp)set_verticalAlign },
44139 : { prototypes::id::CSS2Properties },
44140 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44141 : JSJitInfo::Setter,
44142 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44143 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
44144 : false, /* isInfallible. False in setters. */
44145 : false, /* isMovable. Not relevant for setters. */
44146 : false, /* isEliminatable. Not relevant for setters. */
44147 : false, /* isAlwaysInSlot. Only relevant for getters. */
44148 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44149 : false, /* isTypedMethod. Only relevant for methods. */
44150 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44151 : };
44152 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44153 : static_assert(0 < 1, "There is no slot for us");
44154 :
44155 : static bool
44156 0 : get_vertical_align(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
44157 : {
44158 0 : binding_detail::FastErrorResult rv;
44159 0 : DOMString result;
44160 0 : self->GetVerticalAlign(result, rv);
44161 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44162 0 : return false;
44163 : }
44164 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44165 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
44166 0 : return false;
44167 : }
44168 0 : return true;
44169 : }
44170 :
44171 : static bool
44172 0 : set_vertical_align(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
44173 : {
44174 0 : binding_detail::FakeString arg0;
44175 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44176 0 : return false;
44177 : }
44178 0 : binding_detail::FastErrorResult rv;
44179 0 : self->SetVerticalAlign(NonNullHelper(Constify(arg0)), rv);
44180 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44181 0 : return false;
44182 : }
44183 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44184 :
44185 0 : return true;
44186 : }
44187 :
44188 : static const JSJitInfo vertical_align_getterinfo = {
44189 : { (JSJitGetterOp)get_vertical_align },
44190 : { prototypes::id::CSS2Properties },
44191 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44192 : JSJitInfo::Getter,
44193 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44194 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
44195 : false, /* isInfallible. False in setters. */
44196 : false, /* isMovable. Not relevant for setters. */
44197 : false, /* isEliminatable. Not relevant for setters. */
44198 : false, /* isAlwaysInSlot. Only relevant for getters. */
44199 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44200 : false, /* isTypedMethod. Only relevant for methods. */
44201 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44202 : };
44203 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44204 : static_assert(0 < 1, "There is no slot for us");
44205 : static const JSJitInfo vertical_align_setterinfo = {
44206 : { (JSJitGetterOp)set_vertical_align },
44207 : { prototypes::id::CSS2Properties },
44208 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44209 : JSJitInfo::Setter,
44210 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44211 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
44212 : false, /* isInfallible. False in setters. */
44213 : false, /* isMovable. Not relevant for setters. */
44214 : false, /* isEliminatable. Not relevant for setters. */
44215 : false, /* isAlwaysInSlot. Only relevant for getters. */
44216 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44217 : false, /* isTypedMethod. Only relevant for methods. */
44218 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44219 : };
44220 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44221 : static_assert(0 < 1, "There is no slot for us");
44222 :
44223 : static bool
44224 0 : get_visibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
44225 : {
44226 0 : binding_detail::FastErrorResult rv;
44227 0 : DOMString result;
44228 0 : self->GetVisibility(result, rv);
44229 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44230 0 : return false;
44231 : }
44232 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44233 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
44234 0 : return false;
44235 : }
44236 0 : return true;
44237 : }
44238 :
44239 : static bool
44240 0 : set_visibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
44241 : {
44242 0 : binding_detail::FakeString arg0;
44243 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44244 0 : return false;
44245 : }
44246 0 : binding_detail::FastErrorResult rv;
44247 0 : self->SetVisibility(NonNullHelper(Constify(arg0)), rv);
44248 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44249 0 : return false;
44250 : }
44251 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44252 :
44253 0 : return true;
44254 : }
44255 :
44256 : static const JSJitInfo visibility_getterinfo = {
44257 : { (JSJitGetterOp)get_visibility },
44258 : { prototypes::id::CSS2Properties },
44259 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44260 : JSJitInfo::Getter,
44261 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44262 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
44263 : false, /* isInfallible. False in setters. */
44264 : false, /* isMovable. Not relevant for setters. */
44265 : false, /* isEliminatable. Not relevant for setters. */
44266 : false, /* isAlwaysInSlot. Only relevant for getters. */
44267 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44268 : false, /* isTypedMethod. Only relevant for methods. */
44269 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44270 : };
44271 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44272 : static_assert(0 < 1, "There is no slot for us");
44273 : static const JSJitInfo visibility_setterinfo = {
44274 : { (JSJitGetterOp)set_visibility },
44275 : { prototypes::id::CSS2Properties },
44276 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44277 : JSJitInfo::Setter,
44278 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44279 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
44280 : false, /* isInfallible. False in setters. */
44281 : false, /* isMovable. Not relevant for setters. */
44282 : false, /* isEliminatable. Not relevant for setters. */
44283 : false, /* isAlwaysInSlot. Only relevant for getters. */
44284 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44285 : false, /* isTypedMethod. Only relevant for methods. */
44286 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44287 : };
44288 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44289 : static_assert(0 < 1, "There is no slot for us");
44290 :
44291 : static bool
44292 0 : get_whiteSpace(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
44293 : {
44294 0 : binding_detail::FastErrorResult rv;
44295 0 : DOMString result;
44296 0 : self->GetWhiteSpace(result, rv);
44297 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44298 0 : return false;
44299 : }
44300 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44301 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
44302 0 : return false;
44303 : }
44304 0 : return true;
44305 : }
44306 :
44307 : static bool
44308 0 : set_whiteSpace(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
44309 : {
44310 0 : binding_detail::FakeString arg0;
44311 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44312 0 : return false;
44313 : }
44314 0 : binding_detail::FastErrorResult rv;
44315 0 : self->SetWhiteSpace(NonNullHelper(Constify(arg0)), rv);
44316 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44317 0 : return false;
44318 : }
44319 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44320 :
44321 0 : return true;
44322 : }
44323 :
44324 : static const JSJitInfo whiteSpace_getterinfo = {
44325 : { (JSJitGetterOp)get_whiteSpace },
44326 : { prototypes::id::CSS2Properties },
44327 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44328 : JSJitInfo::Getter,
44329 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44330 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
44331 : false, /* isInfallible. False in setters. */
44332 : false, /* isMovable. Not relevant for setters. */
44333 : false, /* isEliminatable. Not relevant for setters. */
44334 : false, /* isAlwaysInSlot. Only relevant for getters. */
44335 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44336 : false, /* isTypedMethod. Only relevant for methods. */
44337 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44338 : };
44339 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44340 : static_assert(0 < 1, "There is no slot for us");
44341 : static const JSJitInfo whiteSpace_setterinfo = {
44342 : { (JSJitGetterOp)set_whiteSpace },
44343 : { prototypes::id::CSS2Properties },
44344 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44345 : JSJitInfo::Setter,
44346 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44347 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
44348 : false, /* isInfallible. False in setters. */
44349 : false, /* isMovable. Not relevant for setters. */
44350 : false, /* isEliminatable. Not relevant for setters. */
44351 : false, /* isAlwaysInSlot. Only relevant for getters. */
44352 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44353 : false, /* isTypedMethod. Only relevant for methods. */
44354 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44355 : };
44356 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44357 : static_assert(0 < 1, "There is no slot for us");
44358 :
44359 : static bool
44360 0 : get_white_space(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
44361 : {
44362 0 : binding_detail::FastErrorResult rv;
44363 0 : DOMString result;
44364 0 : self->GetWhiteSpace(result, rv);
44365 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44366 0 : return false;
44367 : }
44368 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44369 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
44370 0 : return false;
44371 : }
44372 0 : return true;
44373 : }
44374 :
44375 : static bool
44376 0 : set_white_space(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
44377 : {
44378 0 : binding_detail::FakeString arg0;
44379 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44380 0 : return false;
44381 : }
44382 0 : binding_detail::FastErrorResult rv;
44383 0 : self->SetWhiteSpace(NonNullHelper(Constify(arg0)), rv);
44384 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44385 0 : return false;
44386 : }
44387 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44388 :
44389 0 : return true;
44390 : }
44391 :
44392 : static const JSJitInfo white_space_getterinfo = {
44393 : { (JSJitGetterOp)get_white_space },
44394 : { prototypes::id::CSS2Properties },
44395 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44396 : JSJitInfo::Getter,
44397 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44398 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
44399 : false, /* isInfallible. False in setters. */
44400 : false, /* isMovable. Not relevant for setters. */
44401 : false, /* isEliminatable. Not relevant for setters. */
44402 : false, /* isAlwaysInSlot. Only relevant for getters. */
44403 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44404 : false, /* isTypedMethod. Only relevant for methods. */
44405 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44406 : };
44407 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44408 : static_assert(0 < 1, "There is no slot for us");
44409 : static const JSJitInfo white_space_setterinfo = {
44410 : { (JSJitGetterOp)set_white_space },
44411 : { prototypes::id::CSS2Properties },
44412 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44413 : JSJitInfo::Setter,
44414 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44415 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
44416 : false, /* isInfallible. False in setters. */
44417 : false, /* isMovable. Not relevant for setters. */
44418 : false, /* isEliminatable. Not relevant for setters. */
44419 : false, /* isAlwaysInSlot. Only relevant for getters. */
44420 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44421 : false, /* isTypedMethod. Only relevant for methods. */
44422 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44423 : };
44424 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44425 : static_assert(0 < 1, "There is no slot for us");
44426 :
44427 : static bool
44428 0 : get_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
44429 : {
44430 0 : binding_detail::FastErrorResult rv;
44431 0 : DOMString result;
44432 0 : self->GetWidth(result, rv);
44433 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44434 0 : return false;
44435 : }
44436 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44437 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
44438 0 : return false;
44439 : }
44440 0 : return true;
44441 : }
44442 :
44443 : static bool
44444 0 : set_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
44445 : {
44446 0 : binding_detail::FakeString arg0;
44447 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44448 0 : return false;
44449 : }
44450 0 : binding_detail::FastErrorResult rv;
44451 0 : self->SetWidth(NonNullHelper(Constify(arg0)), rv);
44452 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44453 0 : return false;
44454 : }
44455 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44456 :
44457 0 : return true;
44458 : }
44459 :
44460 : static const JSJitInfo width_getterinfo = {
44461 : { (JSJitGetterOp)get_width },
44462 : { prototypes::id::CSS2Properties },
44463 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44464 : JSJitInfo::Getter,
44465 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44466 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
44467 : false, /* isInfallible. False in setters. */
44468 : false, /* isMovable. Not relevant for setters. */
44469 : false, /* isEliminatable. Not relevant for setters. */
44470 : false, /* isAlwaysInSlot. Only relevant for getters. */
44471 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44472 : false, /* isTypedMethod. Only relevant for methods. */
44473 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44474 : };
44475 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44476 : static_assert(0 < 1, "There is no slot for us");
44477 : static const JSJitInfo width_setterinfo = {
44478 : { (JSJitGetterOp)set_width },
44479 : { prototypes::id::CSS2Properties },
44480 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44481 : JSJitInfo::Setter,
44482 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44483 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
44484 : false, /* isInfallible. False in setters. */
44485 : false, /* isMovable. Not relevant for setters. */
44486 : false, /* isEliminatable. Not relevant for setters. */
44487 : false, /* isAlwaysInSlot. Only relevant for getters. */
44488 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44489 : false, /* isTypedMethod. Only relevant for methods. */
44490 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44491 : };
44492 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44493 : static_assert(0 < 1, "There is no slot for us");
44494 :
44495 : static bool
44496 0 : get_willChange(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
44497 : {
44498 0 : binding_detail::FastErrorResult rv;
44499 0 : DOMString result;
44500 0 : self->GetWillChange(result, rv);
44501 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44502 0 : return false;
44503 : }
44504 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44505 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
44506 0 : return false;
44507 : }
44508 0 : return true;
44509 : }
44510 :
44511 : static bool
44512 0 : set_willChange(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
44513 : {
44514 0 : binding_detail::FakeString arg0;
44515 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44516 0 : return false;
44517 : }
44518 0 : binding_detail::FastErrorResult rv;
44519 0 : self->SetWillChange(NonNullHelper(Constify(arg0)), rv);
44520 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44521 0 : return false;
44522 : }
44523 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44524 :
44525 0 : return true;
44526 : }
44527 :
44528 : static const JSJitInfo willChange_getterinfo = {
44529 : { (JSJitGetterOp)get_willChange },
44530 : { prototypes::id::CSS2Properties },
44531 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44532 : JSJitInfo::Getter,
44533 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44534 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
44535 : false, /* isInfallible. False in setters. */
44536 : false, /* isMovable. Not relevant for setters. */
44537 : false, /* isEliminatable. Not relevant for setters. */
44538 : false, /* isAlwaysInSlot. Only relevant for getters. */
44539 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44540 : false, /* isTypedMethod. Only relevant for methods. */
44541 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44542 : };
44543 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44544 : static_assert(0 < 1, "There is no slot for us");
44545 : static const JSJitInfo willChange_setterinfo = {
44546 : { (JSJitGetterOp)set_willChange },
44547 : { prototypes::id::CSS2Properties },
44548 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44549 : JSJitInfo::Setter,
44550 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44551 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
44552 : false, /* isInfallible. False in setters. */
44553 : false, /* isMovable. Not relevant for setters. */
44554 : false, /* isEliminatable. Not relevant for setters. */
44555 : false, /* isAlwaysInSlot. Only relevant for getters. */
44556 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44557 : false, /* isTypedMethod. Only relevant for methods. */
44558 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44559 : };
44560 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44561 : static_assert(0 < 1, "There is no slot for us");
44562 :
44563 : static bool
44564 0 : get_will_change(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
44565 : {
44566 0 : binding_detail::FastErrorResult rv;
44567 0 : DOMString result;
44568 0 : self->GetWillChange(result, rv);
44569 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44570 0 : return false;
44571 : }
44572 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44573 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
44574 0 : return false;
44575 : }
44576 0 : return true;
44577 : }
44578 :
44579 : static bool
44580 0 : set_will_change(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
44581 : {
44582 0 : binding_detail::FakeString arg0;
44583 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44584 0 : return false;
44585 : }
44586 0 : binding_detail::FastErrorResult rv;
44587 0 : self->SetWillChange(NonNullHelper(Constify(arg0)), rv);
44588 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44589 0 : return false;
44590 : }
44591 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44592 :
44593 0 : return true;
44594 : }
44595 :
44596 : static const JSJitInfo will_change_getterinfo = {
44597 : { (JSJitGetterOp)get_will_change },
44598 : { prototypes::id::CSS2Properties },
44599 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44600 : JSJitInfo::Getter,
44601 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44602 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
44603 : false, /* isInfallible. False in setters. */
44604 : false, /* isMovable. Not relevant for setters. */
44605 : false, /* isEliminatable. Not relevant for setters. */
44606 : false, /* isAlwaysInSlot. Only relevant for getters. */
44607 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44608 : false, /* isTypedMethod. Only relevant for methods. */
44609 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44610 : };
44611 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44612 : static_assert(0 < 1, "There is no slot for us");
44613 : static const JSJitInfo will_change_setterinfo = {
44614 : { (JSJitGetterOp)set_will_change },
44615 : { prototypes::id::CSS2Properties },
44616 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44617 : JSJitInfo::Setter,
44618 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44619 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
44620 : false, /* isInfallible. False in setters. */
44621 : false, /* isMovable. Not relevant for setters. */
44622 : false, /* isEliminatable. Not relevant for setters. */
44623 : false, /* isAlwaysInSlot. Only relevant for getters. */
44624 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44625 : false, /* isTypedMethod. Only relevant for methods. */
44626 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44627 : };
44628 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44629 : static_assert(0 < 1, "There is no slot for us");
44630 :
44631 : static bool
44632 0 : get_MozWindowDragging(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
44633 : {
44634 0 : binding_detail::FastErrorResult rv;
44635 0 : DOMString result;
44636 0 : self->GetMozWindowDragging(result, rv);
44637 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44638 0 : return false;
44639 : }
44640 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44641 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
44642 0 : return false;
44643 : }
44644 0 : return true;
44645 : }
44646 :
44647 : static bool
44648 0 : set_MozWindowDragging(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
44649 : {
44650 0 : binding_detail::FakeString arg0;
44651 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44652 0 : return false;
44653 : }
44654 0 : binding_detail::FastErrorResult rv;
44655 0 : self->SetMozWindowDragging(NonNullHelper(Constify(arg0)), rv);
44656 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44657 0 : return false;
44658 : }
44659 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44660 :
44661 0 : return true;
44662 : }
44663 :
44664 : static const JSJitInfo MozWindowDragging_getterinfo = {
44665 : { (JSJitGetterOp)get_MozWindowDragging },
44666 : { prototypes::id::CSS2Properties },
44667 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44668 : JSJitInfo::Getter,
44669 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44670 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
44671 : false, /* isInfallible. False in setters. */
44672 : false, /* isMovable. Not relevant for setters. */
44673 : false, /* isEliminatable. Not relevant for setters. */
44674 : false, /* isAlwaysInSlot. Only relevant for getters. */
44675 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44676 : false, /* isTypedMethod. Only relevant for methods. */
44677 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44678 : };
44679 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44680 : static_assert(0 < 1, "There is no slot for us");
44681 : static const JSJitInfo MozWindowDragging_setterinfo = {
44682 : { (JSJitGetterOp)set_MozWindowDragging },
44683 : { prototypes::id::CSS2Properties },
44684 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44685 : JSJitInfo::Setter,
44686 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44687 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
44688 : false, /* isInfallible. False in setters. */
44689 : false, /* isMovable. Not relevant for setters. */
44690 : false, /* isEliminatable. Not relevant for setters. */
44691 : false, /* isAlwaysInSlot. Only relevant for getters. */
44692 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44693 : false, /* isTypedMethod. Only relevant for methods. */
44694 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44695 : };
44696 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44697 : static_assert(0 < 1, "There is no slot for us");
44698 :
44699 : static bool
44700 0 : get__moz_window_dragging(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
44701 : {
44702 0 : binding_detail::FastErrorResult rv;
44703 0 : DOMString result;
44704 0 : self->GetMozWindowDragging(result, rv);
44705 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44706 0 : return false;
44707 : }
44708 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44709 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
44710 0 : return false;
44711 : }
44712 0 : return true;
44713 : }
44714 :
44715 : static bool
44716 0 : set__moz_window_dragging(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
44717 : {
44718 0 : binding_detail::FakeString arg0;
44719 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44720 0 : return false;
44721 : }
44722 0 : binding_detail::FastErrorResult rv;
44723 0 : self->SetMozWindowDragging(NonNullHelper(Constify(arg0)), rv);
44724 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44725 0 : return false;
44726 : }
44727 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44728 :
44729 0 : return true;
44730 : }
44731 :
44732 : static const JSJitInfo _moz_window_dragging_getterinfo = {
44733 : { (JSJitGetterOp)get__moz_window_dragging },
44734 : { prototypes::id::CSS2Properties },
44735 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44736 : JSJitInfo::Getter,
44737 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44738 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
44739 : false, /* isInfallible. False in setters. */
44740 : false, /* isMovable. Not relevant for setters. */
44741 : false, /* isEliminatable. Not relevant for setters. */
44742 : false, /* isAlwaysInSlot. Only relevant for getters. */
44743 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44744 : false, /* isTypedMethod. Only relevant for methods. */
44745 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44746 : };
44747 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44748 : static_assert(0 < 1, "There is no slot for us");
44749 : static const JSJitInfo _moz_window_dragging_setterinfo = {
44750 : { (JSJitGetterOp)set__moz_window_dragging },
44751 : { prototypes::id::CSS2Properties },
44752 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44753 : JSJitInfo::Setter,
44754 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44755 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
44756 : false, /* isInfallible. False in setters. */
44757 : false, /* isMovable. Not relevant for setters. */
44758 : false, /* isEliminatable. Not relevant for setters. */
44759 : false, /* isAlwaysInSlot. Only relevant for getters. */
44760 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44761 : false, /* isTypedMethod. Only relevant for methods. */
44762 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44763 : };
44764 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44765 : static_assert(0 < 1, "There is no slot for us");
44766 :
44767 : static bool
44768 0 : get_wordBreak(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
44769 : {
44770 0 : binding_detail::FastErrorResult rv;
44771 0 : DOMString result;
44772 0 : self->GetWordBreak(result, rv);
44773 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44774 0 : return false;
44775 : }
44776 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44777 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
44778 0 : return false;
44779 : }
44780 0 : return true;
44781 : }
44782 :
44783 : static bool
44784 0 : set_wordBreak(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
44785 : {
44786 0 : binding_detail::FakeString arg0;
44787 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44788 0 : return false;
44789 : }
44790 0 : binding_detail::FastErrorResult rv;
44791 0 : self->SetWordBreak(NonNullHelper(Constify(arg0)), rv);
44792 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44793 0 : return false;
44794 : }
44795 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44796 :
44797 0 : return true;
44798 : }
44799 :
44800 : static const JSJitInfo wordBreak_getterinfo = {
44801 : { (JSJitGetterOp)get_wordBreak },
44802 : { prototypes::id::CSS2Properties },
44803 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44804 : JSJitInfo::Getter,
44805 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44806 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
44807 : false, /* isInfallible. False in setters. */
44808 : false, /* isMovable. Not relevant for setters. */
44809 : false, /* isEliminatable. Not relevant for setters. */
44810 : false, /* isAlwaysInSlot. Only relevant for getters. */
44811 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44812 : false, /* isTypedMethod. Only relevant for methods. */
44813 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44814 : };
44815 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44816 : static_assert(0 < 1, "There is no slot for us");
44817 : static const JSJitInfo wordBreak_setterinfo = {
44818 : { (JSJitGetterOp)set_wordBreak },
44819 : { prototypes::id::CSS2Properties },
44820 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44821 : JSJitInfo::Setter,
44822 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44823 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
44824 : false, /* isInfallible. False in setters. */
44825 : false, /* isMovable. Not relevant for setters. */
44826 : false, /* isEliminatable. Not relevant for setters. */
44827 : false, /* isAlwaysInSlot. Only relevant for getters. */
44828 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44829 : false, /* isTypedMethod. Only relevant for methods. */
44830 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44831 : };
44832 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44833 : static_assert(0 < 1, "There is no slot for us");
44834 :
44835 : static bool
44836 0 : get_word_break(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
44837 : {
44838 0 : binding_detail::FastErrorResult rv;
44839 0 : DOMString result;
44840 0 : self->GetWordBreak(result, rv);
44841 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44842 0 : return false;
44843 : }
44844 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44845 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
44846 0 : return false;
44847 : }
44848 0 : return true;
44849 : }
44850 :
44851 : static bool
44852 0 : set_word_break(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
44853 : {
44854 0 : binding_detail::FakeString arg0;
44855 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44856 0 : return false;
44857 : }
44858 0 : binding_detail::FastErrorResult rv;
44859 0 : self->SetWordBreak(NonNullHelper(Constify(arg0)), rv);
44860 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44861 0 : return false;
44862 : }
44863 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44864 :
44865 0 : return true;
44866 : }
44867 :
44868 : static const JSJitInfo word_break_getterinfo = {
44869 : { (JSJitGetterOp)get_word_break },
44870 : { prototypes::id::CSS2Properties },
44871 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44872 : JSJitInfo::Getter,
44873 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44874 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
44875 : false, /* isInfallible. False in setters. */
44876 : false, /* isMovable. Not relevant for setters. */
44877 : false, /* isEliminatable. Not relevant for setters. */
44878 : false, /* isAlwaysInSlot. Only relevant for getters. */
44879 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44880 : false, /* isTypedMethod. Only relevant for methods. */
44881 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44882 : };
44883 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44884 : static_assert(0 < 1, "There is no slot for us");
44885 : static const JSJitInfo word_break_setterinfo = {
44886 : { (JSJitGetterOp)set_word_break },
44887 : { prototypes::id::CSS2Properties },
44888 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44889 : JSJitInfo::Setter,
44890 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44891 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
44892 : false, /* isInfallible. False in setters. */
44893 : false, /* isMovable. Not relevant for setters. */
44894 : false, /* isEliminatable. Not relevant for setters. */
44895 : false, /* isAlwaysInSlot. Only relevant for getters. */
44896 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44897 : false, /* isTypedMethod. Only relevant for methods. */
44898 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44899 : };
44900 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44901 : static_assert(0 < 1, "There is no slot for us");
44902 :
44903 : static bool
44904 0 : get_wordSpacing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
44905 : {
44906 0 : binding_detail::FastErrorResult rv;
44907 0 : DOMString result;
44908 0 : self->GetWordSpacing(result, rv);
44909 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44910 0 : return false;
44911 : }
44912 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44913 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
44914 0 : return false;
44915 : }
44916 0 : return true;
44917 : }
44918 :
44919 : static bool
44920 0 : set_wordSpacing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
44921 : {
44922 0 : binding_detail::FakeString arg0;
44923 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44924 0 : return false;
44925 : }
44926 0 : binding_detail::FastErrorResult rv;
44927 0 : self->SetWordSpacing(NonNullHelper(Constify(arg0)), rv);
44928 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44929 0 : return false;
44930 : }
44931 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44932 :
44933 0 : return true;
44934 : }
44935 :
44936 : static const JSJitInfo wordSpacing_getterinfo = {
44937 : { (JSJitGetterOp)get_wordSpacing },
44938 : { prototypes::id::CSS2Properties },
44939 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44940 : JSJitInfo::Getter,
44941 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44942 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
44943 : false, /* isInfallible. False in setters. */
44944 : false, /* isMovable. Not relevant for setters. */
44945 : false, /* isEliminatable. Not relevant for setters. */
44946 : false, /* isAlwaysInSlot. Only relevant for getters. */
44947 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44948 : false, /* isTypedMethod. Only relevant for methods. */
44949 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44950 : };
44951 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44952 : static_assert(0 < 1, "There is no slot for us");
44953 : static const JSJitInfo wordSpacing_setterinfo = {
44954 : { (JSJitGetterOp)set_wordSpacing },
44955 : { prototypes::id::CSS2Properties },
44956 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
44957 : JSJitInfo::Setter,
44958 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
44959 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
44960 : false, /* isInfallible. False in setters. */
44961 : false, /* isMovable. Not relevant for setters. */
44962 : false, /* isEliminatable. Not relevant for setters. */
44963 : false, /* isAlwaysInSlot. Only relevant for getters. */
44964 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
44965 : false, /* isTypedMethod. Only relevant for methods. */
44966 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
44967 : };
44968 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
44969 : static_assert(0 < 1, "There is no slot for us");
44970 :
44971 : static bool
44972 0 : get_word_spacing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
44973 : {
44974 0 : binding_detail::FastErrorResult rv;
44975 0 : DOMString result;
44976 0 : self->GetWordSpacing(result, rv);
44977 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44978 0 : return false;
44979 : }
44980 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
44981 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
44982 0 : return false;
44983 : }
44984 0 : return true;
44985 : }
44986 :
44987 : static bool
44988 0 : set_word_spacing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
44989 : {
44990 0 : binding_detail::FakeString arg0;
44991 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
44992 0 : return false;
44993 : }
44994 0 : binding_detail::FastErrorResult rv;
44995 0 : self->SetWordSpacing(NonNullHelper(Constify(arg0)), rv);
44996 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
44997 0 : return false;
44998 : }
44999 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45000 :
45001 0 : return true;
45002 : }
45003 :
45004 : static const JSJitInfo word_spacing_getterinfo = {
45005 : { (JSJitGetterOp)get_word_spacing },
45006 : { prototypes::id::CSS2Properties },
45007 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45008 : JSJitInfo::Getter,
45009 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45010 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
45011 : false, /* isInfallible. False in setters. */
45012 : false, /* isMovable. Not relevant for setters. */
45013 : false, /* isEliminatable. Not relevant for setters. */
45014 : false, /* isAlwaysInSlot. Only relevant for getters. */
45015 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45016 : false, /* isTypedMethod. Only relevant for methods. */
45017 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45018 : };
45019 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45020 : static_assert(0 < 1, "There is no slot for us");
45021 : static const JSJitInfo word_spacing_setterinfo = {
45022 : { (JSJitGetterOp)set_word_spacing },
45023 : { prototypes::id::CSS2Properties },
45024 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45025 : JSJitInfo::Setter,
45026 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45027 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
45028 : false, /* isInfallible. False in setters. */
45029 : false, /* isMovable. Not relevant for setters. */
45030 : false, /* isEliminatable. Not relevant for setters. */
45031 : false, /* isAlwaysInSlot. Only relevant for getters. */
45032 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45033 : false, /* isTypedMethod. Only relevant for methods. */
45034 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45035 : };
45036 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45037 : static_assert(0 < 1, "There is no slot for us");
45038 :
45039 : static bool
45040 0 : get_overflowWrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
45041 : {
45042 0 : binding_detail::FastErrorResult rv;
45043 0 : DOMString result;
45044 0 : self->GetOverflowWrap(result, rv);
45045 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45046 0 : return false;
45047 : }
45048 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45049 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
45050 0 : return false;
45051 : }
45052 0 : return true;
45053 : }
45054 :
45055 : static bool
45056 0 : set_overflowWrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
45057 : {
45058 0 : binding_detail::FakeString arg0;
45059 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
45060 0 : return false;
45061 : }
45062 0 : binding_detail::FastErrorResult rv;
45063 0 : self->SetOverflowWrap(NonNullHelper(Constify(arg0)), rv);
45064 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45065 0 : return false;
45066 : }
45067 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45068 :
45069 0 : return true;
45070 : }
45071 :
45072 : static const JSJitInfo overflowWrap_getterinfo = {
45073 : { (JSJitGetterOp)get_overflowWrap },
45074 : { prototypes::id::CSS2Properties },
45075 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45076 : JSJitInfo::Getter,
45077 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45078 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
45079 : false, /* isInfallible. False in setters. */
45080 : false, /* isMovable. Not relevant for setters. */
45081 : false, /* isEliminatable. Not relevant for setters. */
45082 : false, /* isAlwaysInSlot. Only relevant for getters. */
45083 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45084 : false, /* isTypedMethod. Only relevant for methods. */
45085 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45086 : };
45087 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45088 : static_assert(0 < 1, "There is no slot for us");
45089 : static const JSJitInfo overflowWrap_setterinfo = {
45090 : { (JSJitGetterOp)set_overflowWrap },
45091 : { prototypes::id::CSS2Properties },
45092 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45093 : JSJitInfo::Setter,
45094 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45095 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
45096 : false, /* isInfallible. False in setters. */
45097 : false, /* isMovable. Not relevant for setters. */
45098 : false, /* isEliminatable. Not relevant for setters. */
45099 : false, /* isAlwaysInSlot. Only relevant for getters. */
45100 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45101 : false, /* isTypedMethod. Only relevant for methods. */
45102 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45103 : };
45104 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45105 : static_assert(0 < 1, "There is no slot for us");
45106 :
45107 : static bool
45108 0 : get_overflow_wrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
45109 : {
45110 0 : binding_detail::FastErrorResult rv;
45111 0 : DOMString result;
45112 0 : self->GetOverflowWrap(result, rv);
45113 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45114 0 : return false;
45115 : }
45116 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45117 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
45118 0 : return false;
45119 : }
45120 0 : return true;
45121 : }
45122 :
45123 : static bool
45124 0 : set_overflow_wrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
45125 : {
45126 0 : binding_detail::FakeString arg0;
45127 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
45128 0 : return false;
45129 : }
45130 0 : binding_detail::FastErrorResult rv;
45131 0 : self->SetOverflowWrap(NonNullHelper(Constify(arg0)), rv);
45132 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45133 0 : return false;
45134 : }
45135 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45136 :
45137 0 : return true;
45138 : }
45139 :
45140 : static const JSJitInfo overflow_wrap_getterinfo = {
45141 : { (JSJitGetterOp)get_overflow_wrap },
45142 : { prototypes::id::CSS2Properties },
45143 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45144 : JSJitInfo::Getter,
45145 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45146 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
45147 : false, /* isInfallible. False in setters. */
45148 : false, /* isMovable. Not relevant for setters. */
45149 : false, /* isEliminatable. Not relevant for setters. */
45150 : false, /* isAlwaysInSlot. Only relevant for getters. */
45151 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45152 : false, /* isTypedMethod. Only relevant for methods. */
45153 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45154 : };
45155 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45156 : static_assert(0 < 1, "There is no slot for us");
45157 : static const JSJitInfo overflow_wrap_setterinfo = {
45158 : { (JSJitGetterOp)set_overflow_wrap },
45159 : { prototypes::id::CSS2Properties },
45160 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45161 : JSJitInfo::Setter,
45162 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45163 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
45164 : false, /* isInfallible. False in setters. */
45165 : false, /* isMovable. Not relevant for setters. */
45166 : false, /* isEliminatable. Not relevant for setters. */
45167 : false, /* isAlwaysInSlot. Only relevant for getters. */
45168 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45169 : false, /* isTypedMethod. Only relevant for methods. */
45170 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45171 : };
45172 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45173 : static_assert(0 < 1, "There is no slot for us");
45174 :
45175 : static bool
45176 0 : get_writingMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
45177 : {
45178 0 : binding_detail::FastErrorResult rv;
45179 0 : DOMString result;
45180 0 : self->GetWritingMode(result, rv);
45181 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45182 0 : return false;
45183 : }
45184 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45185 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
45186 0 : return false;
45187 : }
45188 0 : return true;
45189 : }
45190 :
45191 : static bool
45192 0 : set_writingMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
45193 : {
45194 0 : binding_detail::FakeString arg0;
45195 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
45196 0 : return false;
45197 : }
45198 0 : binding_detail::FastErrorResult rv;
45199 0 : self->SetWritingMode(NonNullHelper(Constify(arg0)), rv);
45200 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45201 0 : return false;
45202 : }
45203 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45204 :
45205 0 : return true;
45206 : }
45207 :
45208 : static const JSJitInfo writingMode_getterinfo = {
45209 : { (JSJitGetterOp)get_writingMode },
45210 : { prototypes::id::CSS2Properties },
45211 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45212 : JSJitInfo::Getter,
45213 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45214 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
45215 : false, /* isInfallible. False in setters. */
45216 : false, /* isMovable. Not relevant for setters. */
45217 : false, /* isEliminatable. Not relevant for setters. */
45218 : false, /* isAlwaysInSlot. Only relevant for getters. */
45219 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45220 : false, /* isTypedMethod. Only relevant for methods. */
45221 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45222 : };
45223 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45224 : static_assert(0 < 1, "There is no slot for us");
45225 : static const JSJitInfo writingMode_setterinfo = {
45226 : { (JSJitGetterOp)set_writingMode },
45227 : { prototypes::id::CSS2Properties },
45228 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45229 : JSJitInfo::Setter,
45230 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45231 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
45232 : false, /* isInfallible. False in setters. */
45233 : false, /* isMovable. Not relevant for setters. */
45234 : false, /* isEliminatable. Not relevant for setters. */
45235 : false, /* isAlwaysInSlot. Only relevant for getters. */
45236 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45237 : false, /* isTypedMethod. Only relevant for methods. */
45238 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45239 : };
45240 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45241 : static_assert(0 < 1, "There is no slot for us");
45242 :
45243 : static bool
45244 0 : get_writing_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
45245 : {
45246 0 : binding_detail::FastErrorResult rv;
45247 0 : DOMString result;
45248 0 : self->GetWritingMode(result, rv);
45249 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45250 0 : return false;
45251 : }
45252 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45253 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
45254 0 : return false;
45255 : }
45256 0 : return true;
45257 : }
45258 :
45259 : static bool
45260 0 : set_writing_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
45261 : {
45262 0 : binding_detail::FakeString arg0;
45263 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
45264 0 : return false;
45265 : }
45266 0 : binding_detail::FastErrorResult rv;
45267 0 : self->SetWritingMode(NonNullHelper(Constify(arg0)), rv);
45268 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45269 0 : return false;
45270 : }
45271 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45272 :
45273 0 : return true;
45274 : }
45275 :
45276 : static const JSJitInfo writing_mode_getterinfo = {
45277 : { (JSJitGetterOp)get_writing_mode },
45278 : { prototypes::id::CSS2Properties },
45279 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45280 : JSJitInfo::Getter,
45281 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45282 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
45283 : false, /* isInfallible. False in setters. */
45284 : false, /* isMovable. Not relevant for setters. */
45285 : false, /* isEliminatable. Not relevant for setters. */
45286 : false, /* isAlwaysInSlot. Only relevant for getters. */
45287 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45288 : false, /* isTypedMethod. Only relevant for methods. */
45289 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45290 : };
45291 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45292 : static_assert(0 < 1, "There is no slot for us");
45293 : static const JSJitInfo writing_mode_setterinfo = {
45294 : { (JSJitGetterOp)set_writing_mode },
45295 : { prototypes::id::CSS2Properties },
45296 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45297 : JSJitInfo::Setter,
45298 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45299 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
45300 : false, /* isInfallible. False in setters. */
45301 : false, /* isMovable. Not relevant for setters. */
45302 : false, /* isEliminatable. Not relevant for setters. */
45303 : false, /* isAlwaysInSlot. Only relevant for getters. */
45304 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45305 : false, /* isTypedMethod. Only relevant for methods. */
45306 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45307 : };
45308 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45309 : static_assert(0 < 1, "There is no slot for us");
45310 :
45311 : static bool
45312 0 : get_zIndex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
45313 : {
45314 0 : binding_detail::FastErrorResult rv;
45315 0 : DOMString result;
45316 0 : self->GetZIndex(result, rv);
45317 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45318 0 : return false;
45319 : }
45320 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45321 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
45322 0 : return false;
45323 : }
45324 0 : return true;
45325 : }
45326 :
45327 : static bool
45328 0 : set_zIndex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
45329 : {
45330 0 : binding_detail::FakeString arg0;
45331 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
45332 0 : return false;
45333 : }
45334 0 : binding_detail::FastErrorResult rv;
45335 0 : self->SetZIndex(NonNullHelper(Constify(arg0)), rv);
45336 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45337 0 : return false;
45338 : }
45339 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45340 :
45341 0 : return true;
45342 : }
45343 :
45344 : static const JSJitInfo zIndex_getterinfo = {
45345 : { (JSJitGetterOp)get_zIndex },
45346 : { prototypes::id::CSS2Properties },
45347 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45348 : JSJitInfo::Getter,
45349 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45350 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
45351 : false, /* isInfallible. False in setters. */
45352 : false, /* isMovable. Not relevant for setters. */
45353 : false, /* isEliminatable. Not relevant for setters. */
45354 : false, /* isAlwaysInSlot. Only relevant for getters. */
45355 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45356 : false, /* isTypedMethod. Only relevant for methods. */
45357 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45358 : };
45359 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45360 : static_assert(0 < 1, "There is no slot for us");
45361 : static const JSJitInfo zIndex_setterinfo = {
45362 : { (JSJitGetterOp)set_zIndex },
45363 : { prototypes::id::CSS2Properties },
45364 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45365 : JSJitInfo::Setter,
45366 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45367 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
45368 : false, /* isInfallible. False in setters. */
45369 : false, /* isMovable. Not relevant for setters. */
45370 : false, /* isEliminatable. Not relevant for setters. */
45371 : false, /* isAlwaysInSlot. Only relevant for getters. */
45372 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45373 : false, /* isTypedMethod. Only relevant for methods. */
45374 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45375 : };
45376 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45377 : static_assert(0 < 1, "There is no slot for us");
45378 :
45379 : static bool
45380 0 : get_z_index(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
45381 : {
45382 0 : binding_detail::FastErrorResult rv;
45383 0 : DOMString result;
45384 0 : self->GetZIndex(result, rv);
45385 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45386 0 : return false;
45387 : }
45388 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45389 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
45390 0 : return false;
45391 : }
45392 0 : return true;
45393 : }
45394 :
45395 : static bool
45396 0 : set_z_index(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
45397 : {
45398 0 : binding_detail::FakeString arg0;
45399 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
45400 0 : return false;
45401 : }
45402 0 : binding_detail::FastErrorResult rv;
45403 0 : self->SetZIndex(NonNullHelper(Constify(arg0)), rv);
45404 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45405 0 : return false;
45406 : }
45407 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45408 :
45409 0 : return true;
45410 : }
45411 :
45412 : static const JSJitInfo z_index_getterinfo = {
45413 : { (JSJitGetterOp)get_z_index },
45414 : { prototypes::id::CSS2Properties },
45415 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45416 : JSJitInfo::Getter,
45417 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45418 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
45419 : false, /* isInfallible. False in setters. */
45420 : false, /* isMovable. Not relevant for setters. */
45421 : false, /* isEliminatable. Not relevant for setters. */
45422 : false, /* isAlwaysInSlot. Only relevant for getters. */
45423 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45424 : false, /* isTypedMethod. Only relevant for methods. */
45425 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45426 : };
45427 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45428 : static_assert(0 < 1, "There is no slot for us");
45429 : static const JSJitInfo z_index_setterinfo = {
45430 : { (JSJitGetterOp)set_z_index },
45431 : { prototypes::id::CSS2Properties },
45432 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45433 : JSJitInfo::Setter,
45434 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45435 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
45436 : false, /* isInfallible. False in setters. */
45437 : false, /* isMovable. Not relevant for setters. */
45438 : false, /* isEliminatable. Not relevant for setters. */
45439 : false, /* isAlwaysInSlot. Only relevant for getters. */
45440 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45441 : false, /* isTypedMethod. Only relevant for methods. */
45442 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45443 : };
45444 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45445 : static_assert(0 < 1, "There is no slot for us");
45446 :
45447 : static bool
45448 0 : get_wordWrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
45449 : {
45450 0 : binding_detail::FastErrorResult rv;
45451 0 : DOMString result;
45452 0 : self->GetWordWrap(result, rv);
45453 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45454 0 : return false;
45455 : }
45456 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45457 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
45458 0 : return false;
45459 : }
45460 0 : return true;
45461 : }
45462 :
45463 : static bool
45464 0 : set_wordWrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
45465 : {
45466 0 : binding_detail::FakeString arg0;
45467 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
45468 0 : return false;
45469 : }
45470 0 : binding_detail::FastErrorResult rv;
45471 0 : self->SetWordWrap(NonNullHelper(Constify(arg0)), rv);
45472 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45473 0 : return false;
45474 : }
45475 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45476 :
45477 0 : return true;
45478 : }
45479 :
45480 : static const JSJitInfo wordWrap_getterinfo = {
45481 : { (JSJitGetterOp)get_wordWrap },
45482 : { prototypes::id::CSS2Properties },
45483 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45484 : JSJitInfo::Getter,
45485 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45486 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
45487 : false, /* isInfallible. False in setters. */
45488 : false, /* isMovable. Not relevant for setters. */
45489 : false, /* isEliminatable. Not relevant for setters. */
45490 : false, /* isAlwaysInSlot. Only relevant for getters. */
45491 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45492 : false, /* isTypedMethod. Only relevant for methods. */
45493 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45494 : };
45495 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45496 : static_assert(0 < 1, "There is no slot for us");
45497 : static const JSJitInfo wordWrap_setterinfo = {
45498 : { (JSJitGetterOp)set_wordWrap },
45499 : { prototypes::id::CSS2Properties },
45500 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45501 : JSJitInfo::Setter,
45502 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45503 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
45504 : false, /* isInfallible. False in setters. */
45505 : false, /* isMovable. Not relevant for setters. */
45506 : false, /* isEliminatable. Not relevant for setters. */
45507 : false, /* isAlwaysInSlot. Only relevant for getters. */
45508 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45509 : false, /* isTypedMethod. Only relevant for methods. */
45510 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45511 : };
45512 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45513 : static_assert(0 < 1, "There is no slot for us");
45514 :
45515 : static bool
45516 0 : get_word_wrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
45517 : {
45518 0 : binding_detail::FastErrorResult rv;
45519 0 : DOMString result;
45520 0 : self->GetWordWrap(result, rv);
45521 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45522 0 : return false;
45523 : }
45524 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45525 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
45526 0 : return false;
45527 : }
45528 0 : return true;
45529 : }
45530 :
45531 : static bool
45532 0 : set_word_wrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
45533 : {
45534 0 : binding_detail::FakeString arg0;
45535 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
45536 0 : return false;
45537 : }
45538 0 : binding_detail::FastErrorResult rv;
45539 0 : self->SetWordWrap(NonNullHelper(Constify(arg0)), rv);
45540 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45541 0 : return false;
45542 : }
45543 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45544 :
45545 0 : return true;
45546 : }
45547 :
45548 : static const JSJitInfo word_wrap_getterinfo = {
45549 : { (JSJitGetterOp)get_word_wrap },
45550 : { prototypes::id::CSS2Properties },
45551 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45552 : JSJitInfo::Getter,
45553 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45554 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
45555 : false, /* isInfallible. False in setters. */
45556 : false, /* isMovable. Not relevant for setters. */
45557 : false, /* isEliminatable. Not relevant for setters. */
45558 : false, /* isAlwaysInSlot. Only relevant for getters. */
45559 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45560 : false, /* isTypedMethod. Only relevant for methods. */
45561 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45562 : };
45563 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45564 : static_assert(0 < 1, "There is no slot for us");
45565 : static const JSJitInfo word_wrap_setterinfo = {
45566 : { (JSJitGetterOp)set_word_wrap },
45567 : { prototypes::id::CSS2Properties },
45568 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45569 : JSJitInfo::Setter,
45570 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45571 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
45572 : false, /* isInfallible. False in setters. */
45573 : false, /* isMovable. Not relevant for setters. */
45574 : false, /* isEliminatable. Not relevant for setters. */
45575 : false, /* isAlwaysInSlot. Only relevant for getters. */
45576 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45577 : false, /* isTypedMethod. Only relevant for methods. */
45578 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45579 : };
45580 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45581 : static_assert(0 < 1, "There is no slot for us");
45582 :
45583 : static bool
45584 0 : get_MozTransformOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
45585 : {
45586 0 : binding_detail::FastErrorResult rv;
45587 0 : DOMString result;
45588 0 : self->GetMozTransformOrigin(result, rv);
45589 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45590 0 : return false;
45591 : }
45592 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45593 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
45594 0 : return false;
45595 : }
45596 0 : return true;
45597 : }
45598 :
45599 : static bool
45600 0 : set_MozTransformOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
45601 : {
45602 0 : binding_detail::FakeString arg0;
45603 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
45604 0 : return false;
45605 : }
45606 0 : binding_detail::FastErrorResult rv;
45607 0 : self->SetMozTransformOrigin(NonNullHelper(Constify(arg0)), rv);
45608 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45609 0 : return false;
45610 : }
45611 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45612 :
45613 0 : return true;
45614 : }
45615 :
45616 : static const JSJitInfo MozTransformOrigin_getterinfo = {
45617 : { (JSJitGetterOp)get_MozTransformOrigin },
45618 : { prototypes::id::CSS2Properties },
45619 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45620 : JSJitInfo::Getter,
45621 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45622 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
45623 : false, /* isInfallible. False in setters. */
45624 : false, /* isMovable. Not relevant for setters. */
45625 : false, /* isEliminatable. Not relevant for setters. */
45626 : false, /* isAlwaysInSlot. Only relevant for getters. */
45627 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45628 : false, /* isTypedMethod. Only relevant for methods. */
45629 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45630 : };
45631 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45632 : static_assert(0 < 1, "There is no slot for us");
45633 : static const JSJitInfo MozTransformOrigin_setterinfo = {
45634 : { (JSJitGetterOp)set_MozTransformOrigin },
45635 : { prototypes::id::CSS2Properties },
45636 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45637 : JSJitInfo::Setter,
45638 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45639 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
45640 : false, /* isInfallible. False in setters. */
45641 : false, /* isMovable. Not relevant for setters. */
45642 : false, /* isEliminatable. Not relevant for setters. */
45643 : false, /* isAlwaysInSlot. Only relevant for getters. */
45644 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45645 : false, /* isTypedMethod. Only relevant for methods. */
45646 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45647 : };
45648 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45649 : static_assert(0 < 1, "There is no slot for us");
45650 :
45651 : static bool
45652 0 : get__moz_transform_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
45653 : {
45654 0 : binding_detail::FastErrorResult rv;
45655 0 : DOMString result;
45656 0 : self->GetMozTransformOrigin(result, rv);
45657 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45658 0 : return false;
45659 : }
45660 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45661 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
45662 0 : return false;
45663 : }
45664 0 : return true;
45665 : }
45666 :
45667 : static bool
45668 0 : set__moz_transform_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
45669 : {
45670 0 : binding_detail::FakeString arg0;
45671 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
45672 0 : return false;
45673 : }
45674 0 : binding_detail::FastErrorResult rv;
45675 0 : self->SetMozTransformOrigin(NonNullHelper(Constify(arg0)), rv);
45676 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45677 0 : return false;
45678 : }
45679 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45680 :
45681 0 : return true;
45682 : }
45683 :
45684 : static const JSJitInfo _moz_transform_origin_getterinfo = {
45685 : { (JSJitGetterOp)get__moz_transform_origin },
45686 : { prototypes::id::CSS2Properties },
45687 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45688 : JSJitInfo::Getter,
45689 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45690 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
45691 : false, /* isInfallible. False in setters. */
45692 : false, /* isMovable. Not relevant for setters. */
45693 : false, /* isEliminatable. Not relevant for setters. */
45694 : false, /* isAlwaysInSlot. Only relevant for getters. */
45695 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45696 : false, /* isTypedMethod. Only relevant for methods. */
45697 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45698 : };
45699 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45700 : static_assert(0 < 1, "There is no slot for us");
45701 : static const JSJitInfo _moz_transform_origin_setterinfo = {
45702 : { (JSJitGetterOp)set__moz_transform_origin },
45703 : { prototypes::id::CSS2Properties },
45704 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45705 : JSJitInfo::Setter,
45706 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45707 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
45708 : false, /* isInfallible. False in setters. */
45709 : false, /* isMovable. Not relevant for setters. */
45710 : false, /* isEliminatable. Not relevant for setters. */
45711 : false, /* isAlwaysInSlot. Only relevant for getters. */
45712 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45713 : false, /* isTypedMethod. Only relevant for methods. */
45714 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45715 : };
45716 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45717 : static_assert(0 < 1, "There is no slot for us");
45718 :
45719 : static bool
45720 0 : get_MozPerspectiveOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
45721 : {
45722 0 : binding_detail::FastErrorResult rv;
45723 0 : DOMString result;
45724 0 : self->GetMozPerspectiveOrigin(result, rv);
45725 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45726 0 : return false;
45727 : }
45728 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45729 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
45730 0 : return false;
45731 : }
45732 0 : return true;
45733 : }
45734 :
45735 : static bool
45736 0 : set_MozPerspectiveOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
45737 : {
45738 0 : binding_detail::FakeString arg0;
45739 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
45740 0 : return false;
45741 : }
45742 0 : binding_detail::FastErrorResult rv;
45743 0 : self->SetMozPerspectiveOrigin(NonNullHelper(Constify(arg0)), rv);
45744 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45745 0 : return false;
45746 : }
45747 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45748 :
45749 0 : return true;
45750 : }
45751 :
45752 : static const JSJitInfo MozPerspectiveOrigin_getterinfo = {
45753 : { (JSJitGetterOp)get_MozPerspectiveOrigin },
45754 : { prototypes::id::CSS2Properties },
45755 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45756 : JSJitInfo::Getter,
45757 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45758 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
45759 : false, /* isInfallible. False in setters. */
45760 : false, /* isMovable. Not relevant for setters. */
45761 : false, /* isEliminatable. Not relevant for setters. */
45762 : false, /* isAlwaysInSlot. Only relevant for getters. */
45763 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45764 : false, /* isTypedMethod. Only relevant for methods. */
45765 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45766 : };
45767 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45768 : static_assert(0 < 1, "There is no slot for us");
45769 : static const JSJitInfo MozPerspectiveOrigin_setterinfo = {
45770 : { (JSJitGetterOp)set_MozPerspectiveOrigin },
45771 : { prototypes::id::CSS2Properties },
45772 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45773 : JSJitInfo::Setter,
45774 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45775 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
45776 : false, /* isInfallible. False in setters. */
45777 : false, /* isMovable. Not relevant for setters. */
45778 : false, /* isEliminatable. Not relevant for setters. */
45779 : false, /* isAlwaysInSlot. Only relevant for getters. */
45780 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45781 : false, /* isTypedMethod. Only relevant for methods. */
45782 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45783 : };
45784 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45785 : static_assert(0 < 1, "There is no slot for us");
45786 :
45787 : static bool
45788 0 : get__moz_perspective_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
45789 : {
45790 0 : binding_detail::FastErrorResult rv;
45791 0 : DOMString result;
45792 0 : self->GetMozPerspectiveOrigin(result, rv);
45793 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45794 0 : return false;
45795 : }
45796 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45797 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
45798 0 : return false;
45799 : }
45800 0 : return true;
45801 : }
45802 :
45803 : static bool
45804 0 : set__moz_perspective_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
45805 : {
45806 0 : binding_detail::FakeString arg0;
45807 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
45808 0 : return false;
45809 : }
45810 0 : binding_detail::FastErrorResult rv;
45811 0 : self->SetMozPerspectiveOrigin(NonNullHelper(Constify(arg0)), rv);
45812 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45813 0 : return false;
45814 : }
45815 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45816 :
45817 0 : return true;
45818 : }
45819 :
45820 : static const JSJitInfo _moz_perspective_origin_getterinfo = {
45821 : { (JSJitGetterOp)get__moz_perspective_origin },
45822 : { prototypes::id::CSS2Properties },
45823 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45824 : JSJitInfo::Getter,
45825 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45826 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
45827 : false, /* isInfallible. False in setters. */
45828 : false, /* isMovable. Not relevant for setters. */
45829 : false, /* isEliminatable. Not relevant for setters. */
45830 : false, /* isAlwaysInSlot. Only relevant for getters. */
45831 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45832 : false, /* isTypedMethod. Only relevant for methods. */
45833 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45834 : };
45835 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45836 : static_assert(0 < 1, "There is no slot for us");
45837 : static const JSJitInfo _moz_perspective_origin_setterinfo = {
45838 : { (JSJitGetterOp)set__moz_perspective_origin },
45839 : { prototypes::id::CSS2Properties },
45840 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45841 : JSJitInfo::Setter,
45842 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45843 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
45844 : false, /* isInfallible. False in setters. */
45845 : false, /* isMovable. Not relevant for setters. */
45846 : false, /* isEliminatable. Not relevant for setters. */
45847 : false, /* isAlwaysInSlot. Only relevant for getters. */
45848 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45849 : false, /* isTypedMethod. Only relevant for methods. */
45850 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45851 : };
45852 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45853 : static_assert(0 < 1, "There is no slot for us");
45854 :
45855 : static bool
45856 0 : get_MozPerspective(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
45857 : {
45858 0 : binding_detail::FastErrorResult rv;
45859 0 : DOMString result;
45860 0 : self->GetMozPerspective(result, rv);
45861 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45862 0 : return false;
45863 : }
45864 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45865 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
45866 0 : return false;
45867 : }
45868 0 : return true;
45869 : }
45870 :
45871 : static bool
45872 0 : set_MozPerspective(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
45873 : {
45874 0 : binding_detail::FakeString arg0;
45875 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
45876 0 : return false;
45877 : }
45878 0 : binding_detail::FastErrorResult rv;
45879 0 : self->SetMozPerspective(NonNullHelper(Constify(arg0)), rv);
45880 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45881 0 : return false;
45882 : }
45883 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45884 :
45885 0 : return true;
45886 : }
45887 :
45888 : static const JSJitInfo MozPerspective_getterinfo = {
45889 : { (JSJitGetterOp)get_MozPerspective },
45890 : { prototypes::id::CSS2Properties },
45891 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45892 : JSJitInfo::Getter,
45893 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45894 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
45895 : false, /* isInfallible. False in setters. */
45896 : false, /* isMovable. Not relevant for setters. */
45897 : false, /* isEliminatable. Not relevant for setters. */
45898 : false, /* isAlwaysInSlot. Only relevant for getters. */
45899 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45900 : false, /* isTypedMethod. Only relevant for methods. */
45901 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45902 : };
45903 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45904 : static_assert(0 < 1, "There is no slot for us");
45905 : static const JSJitInfo MozPerspective_setterinfo = {
45906 : { (JSJitGetterOp)set_MozPerspective },
45907 : { prototypes::id::CSS2Properties },
45908 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45909 : JSJitInfo::Setter,
45910 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45911 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
45912 : false, /* isInfallible. False in setters. */
45913 : false, /* isMovable. Not relevant for setters. */
45914 : false, /* isEliminatable. Not relevant for setters. */
45915 : false, /* isAlwaysInSlot. Only relevant for getters. */
45916 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45917 : false, /* isTypedMethod. Only relevant for methods. */
45918 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45919 : };
45920 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45921 : static_assert(0 < 1, "There is no slot for us");
45922 :
45923 : static bool
45924 0 : get__moz_perspective(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
45925 : {
45926 0 : binding_detail::FastErrorResult rv;
45927 0 : DOMString result;
45928 0 : self->GetMozPerspective(result, rv);
45929 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45930 0 : return false;
45931 : }
45932 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45933 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
45934 0 : return false;
45935 : }
45936 0 : return true;
45937 : }
45938 :
45939 : static bool
45940 0 : set__moz_perspective(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
45941 : {
45942 0 : binding_detail::FakeString arg0;
45943 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
45944 0 : return false;
45945 : }
45946 0 : binding_detail::FastErrorResult rv;
45947 0 : self->SetMozPerspective(NonNullHelper(Constify(arg0)), rv);
45948 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45949 0 : return false;
45950 : }
45951 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
45952 :
45953 0 : return true;
45954 : }
45955 :
45956 : static const JSJitInfo _moz_perspective_getterinfo = {
45957 : { (JSJitGetterOp)get__moz_perspective },
45958 : { prototypes::id::CSS2Properties },
45959 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45960 : JSJitInfo::Getter,
45961 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45962 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
45963 : false, /* isInfallible. False in setters. */
45964 : false, /* isMovable. Not relevant for setters. */
45965 : false, /* isEliminatable. Not relevant for setters. */
45966 : false, /* isAlwaysInSlot. Only relevant for getters. */
45967 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45968 : false, /* isTypedMethod. Only relevant for methods. */
45969 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45970 : };
45971 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45972 : static_assert(0 < 1, "There is no slot for us");
45973 : static const JSJitInfo _moz_perspective_setterinfo = {
45974 : { (JSJitGetterOp)set__moz_perspective },
45975 : { prototypes::id::CSS2Properties },
45976 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
45977 : JSJitInfo::Setter,
45978 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
45979 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
45980 : false, /* isInfallible. False in setters. */
45981 : false, /* isMovable. Not relevant for setters. */
45982 : false, /* isEliminatable. Not relevant for setters. */
45983 : false, /* isAlwaysInSlot. Only relevant for getters. */
45984 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
45985 : false, /* isTypedMethod. Only relevant for methods. */
45986 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
45987 : };
45988 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
45989 : static_assert(0 < 1, "There is no slot for us");
45990 :
45991 : static bool
45992 0 : get_MozTransformStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
45993 : {
45994 0 : binding_detail::FastErrorResult rv;
45995 0 : DOMString result;
45996 0 : self->GetMozTransformStyle(result, rv);
45997 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
45998 0 : return false;
45999 : }
46000 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46001 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
46002 0 : return false;
46003 : }
46004 0 : return true;
46005 : }
46006 :
46007 : static bool
46008 0 : set_MozTransformStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
46009 : {
46010 0 : binding_detail::FakeString arg0;
46011 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
46012 0 : return false;
46013 : }
46014 0 : binding_detail::FastErrorResult rv;
46015 0 : self->SetMozTransformStyle(NonNullHelper(Constify(arg0)), rv);
46016 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46017 0 : return false;
46018 : }
46019 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46020 :
46021 0 : return true;
46022 : }
46023 :
46024 : static const JSJitInfo MozTransformStyle_getterinfo = {
46025 : { (JSJitGetterOp)get_MozTransformStyle },
46026 : { prototypes::id::CSS2Properties },
46027 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46028 : JSJitInfo::Getter,
46029 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46030 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
46031 : false, /* isInfallible. False in setters. */
46032 : false, /* isMovable. Not relevant for setters. */
46033 : false, /* isEliminatable. Not relevant for setters. */
46034 : false, /* isAlwaysInSlot. Only relevant for getters. */
46035 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46036 : false, /* isTypedMethod. Only relevant for methods. */
46037 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46038 : };
46039 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46040 : static_assert(0 < 1, "There is no slot for us");
46041 : static const JSJitInfo MozTransformStyle_setterinfo = {
46042 : { (JSJitGetterOp)set_MozTransformStyle },
46043 : { prototypes::id::CSS2Properties },
46044 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46045 : JSJitInfo::Setter,
46046 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46047 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
46048 : false, /* isInfallible. False in setters. */
46049 : false, /* isMovable. Not relevant for setters. */
46050 : false, /* isEliminatable. Not relevant for setters. */
46051 : false, /* isAlwaysInSlot. Only relevant for getters. */
46052 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46053 : false, /* isTypedMethod. Only relevant for methods. */
46054 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46055 : };
46056 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46057 : static_assert(0 < 1, "There is no slot for us");
46058 :
46059 : static bool
46060 0 : get__moz_transform_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
46061 : {
46062 0 : binding_detail::FastErrorResult rv;
46063 0 : DOMString result;
46064 0 : self->GetMozTransformStyle(result, rv);
46065 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46066 0 : return false;
46067 : }
46068 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46069 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
46070 0 : return false;
46071 : }
46072 0 : return true;
46073 : }
46074 :
46075 : static bool
46076 0 : set__moz_transform_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
46077 : {
46078 0 : binding_detail::FakeString arg0;
46079 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
46080 0 : return false;
46081 : }
46082 0 : binding_detail::FastErrorResult rv;
46083 0 : self->SetMozTransformStyle(NonNullHelper(Constify(arg0)), rv);
46084 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46085 0 : return false;
46086 : }
46087 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46088 :
46089 0 : return true;
46090 : }
46091 :
46092 : static const JSJitInfo _moz_transform_style_getterinfo = {
46093 : { (JSJitGetterOp)get__moz_transform_style },
46094 : { prototypes::id::CSS2Properties },
46095 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46096 : JSJitInfo::Getter,
46097 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46098 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
46099 : false, /* isInfallible. False in setters. */
46100 : false, /* isMovable. Not relevant for setters. */
46101 : false, /* isEliminatable. Not relevant for setters. */
46102 : false, /* isAlwaysInSlot. Only relevant for getters. */
46103 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46104 : false, /* isTypedMethod. Only relevant for methods. */
46105 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46106 : };
46107 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46108 : static_assert(0 < 1, "There is no slot for us");
46109 : static const JSJitInfo _moz_transform_style_setterinfo = {
46110 : { (JSJitGetterOp)set__moz_transform_style },
46111 : { prototypes::id::CSS2Properties },
46112 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46113 : JSJitInfo::Setter,
46114 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46115 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
46116 : false, /* isInfallible. False in setters. */
46117 : false, /* isMovable. Not relevant for setters. */
46118 : false, /* isEliminatable. Not relevant for setters. */
46119 : false, /* isAlwaysInSlot. Only relevant for getters. */
46120 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46121 : false, /* isTypedMethod. Only relevant for methods. */
46122 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46123 : };
46124 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46125 : static_assert(0 < 1, "There is no slot for us");
46126 :
46127 : static bool
46128 0 : get_MozBackfaceVisibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
46129 : {
46130 0 : binding_detail::FastErrorResult rv;
46131 0 : DOMString result;
46132 0 : self->GetMozBackfaceVisibility(result, rv);
46133 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46134 0 : return false;
46135 : }
46136 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46137 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
46138 0 : return false;
46139 : }
46140 0 : return true;
46141 : }
46142 :
46143 : static bool
46144 0 : set_MozBackfaceVisibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
46145 : {
46146 0 : binding_detail::FakeString arg0;
46147 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
46148 0 : return false;
46149 : }
46150 0 : binding_detail::FastErrorResult rv;
46151 0 : self->SetMozBackfaceVisibility(NonNullHelper(Constify(arg0)), rv);
46152 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46153 0 : return false;
46154 : }
46155 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46156 :
46157 0 : return true;
46158 : }
46159 :
46160 : static const JSJitInfo MozBackfaceVisibility_getterinfo = {
46161 : { (JSJitGetterOp)get_MozBackfaceVisibility },
46162 : { prototypes::id::CSS2Properties },
46163 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46164 : JSJitInfo::Getter,
46165 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46166 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
46167 : false, /* isInfallible. False in setters. */
46168 : false, /* isMovable. Not relevant for setters. */
46169 : false, /* isEliminatable. Not relevant for setters. */
46170 : false, /* isAlwaysInSlot. Only relevant for getters. */
46171 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46172 : false, /* isTypedMethod. Only relevant for methods. */
46173 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46174 : };
46175 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46176 : static_assert(0 < 1, "There is no slot for us");
46177 : static const JSJitInfo MozBackfaceVisibility_setterinfo = {
46178 : { (JSJitGetterOp)set_MozBackfaceVisibility },
46179 : { prototypes::id::CSS2Properties },
46180 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46181 : JSJitInfo::Setter,
46182 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46183 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
46184 : false, /* isInfallible. False in setters. */
46185 : false, /* isMovable. Not relevant for setters. */
46186 : false, /* isEliminatable. Not relevant for setters. */
46187 : false, /* isAlwaysInSlot. Only relevant for getters. */
46188 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46189 : false, /* isTypedMethod. Only relevant for methods. */
46190 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46191 : };
46192 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46193 : static_assert(0 < 1, "There is no slot for us");
46194 :
46195 : static bool
46196 0 : get__moz_backface_visibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
46197 : {
46198 0 : binding_detail::FastErrorResult rv;
46199 0 : DOMString result;
46200 0 : self->GetMozBackfaceVisibility(result, rv);
46201 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46202 0 : return false;
46203 : }
46204 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46205 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
46206 0 : return false;
46207 : }
46208 0 : return true;
46209 : }
46210 :
46211 : static bool
46212 0 : set__moz_backface_visibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
46213 : {
46214 0 : binding_detail::FakeString arg0;
46215 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
46216 0 : return false;
46217 : }
46218 0 : binding_detail::FastErrorResult rv;
46219 0 : self->SetMozBackfaceVisibility(NonNullHelper(Constify(arg0)), rv);
46220 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46221 0 : return false;
46222 : }
46223 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46224 :
46225 0 : return true;
46226 : }
46227 :
46228 : static const JSJitInfo _moz_backface_visibility_getterinfo = {
46229 : { (JSJitGetterOp)get__moz_backface_visibility },
46230 : { prototypes::id::CSS2Properties },
46231 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46232 : JSJitInfo::Getter,
46233 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46234 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
46235 : false, /* isInfallible. False in setters. */
46236 : false, /* isMovable. Not relevant for setters. */
46237 : false, /* isEliminatable. Not relevant for setters. */
46238 : false, /* isAlwaysInSlot. Only relevant for getters. */
46239 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46240 : false, /* isTypedMethod. Only relevant for methods. */
46241 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46242 : };
46243 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46244 : static_assert(0 < 1, "There is no slot for us");
46245 : static const JSJitInfo _moz_backface_visibility_setterinfo = {
46246 : { (JSJitGetterOp)set__moz_backface_visibility },
46247 : { prototypes::id::CSS2Properties },
46248 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46249 : JSJitInfo::Setter,
46250 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46251 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
46252 : false, /* isInfallible. False in setters. */
46253 : false, /* isMovable. Not relevant for setters. */
46254 : false, /* isEliminatable. Not relevant for setters. */
46255 : false, /* isAlwaysInSlot. Only relevant for getters. */
46256 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46257 : false, /* isTypedMethod. Only relevant for methods. */
46258 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46259 : };
46260 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46261 : static_assert(0 < 1, "There is no slot for us");
46262 :
46263 : static bool
46264 0 : get_MozBorderImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
46265 : {
46266 0 : binding_detail::FastErrorResult rv;
46267 0 : DOMString result;
46268 0 : self->GetMozBorderImage(result, rv);
46269 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46270 0 : return false;
46271 : }
46272 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46273 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
46274 0 : return false;
46275 : }
46276 0 : return true;
46277 : }
46278 :
46279 : static bool
46280 0 : set_MozBorderImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
46281 : {
46282 0 : binding_detail::FakeString arg0;
46283 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
46284 0 : return false;
46285 : }
46286 0 : binding_detail::FastErrorResult rv;
46287 0 : self->SetMozBorderImage(NonNullHelper(Constify(arg0)), rv);
46288 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46289 0 : return false;
46290 : }
46291 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46292 :
46293 0 : return true;
46294 : }
46295 :
46296 : static const JSJitInfo MozBorderImage_getterinfo = {
46297 : { (JSJitGetterOp)get_MozBorderImage },
46298 : { prototypes::id::CSS2Properties },
46299 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46300 : JSJitInfo::Getter,
46301 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46302 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
46303 : false, /* isInfallible. False in setters. */
46304 : false, /* isMovable. Not relevant for setters. */
46305 : false, /* isEliminatable. Not relevant for setters. */
46306 : false, /* isAlwaysInSlot. Only relevant for getters. */
46307 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46308 : false, /* isTypedMethod. Only relevant for methods. */
46309 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46310 : };
46311 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46312 : static_assert(0 < 1, "There is no slot for us");
46313 : static const JSJitInfo MozBorderImage_setterinfo = {
46314 : { (JSJitGetterOp)set_MozBorderImage },
46315 : { prototypes::id::CSS2Properties },
46316 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46317 : JSJitInfo::Setter,
46318 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46319 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
46320 : false, /* isInfallible. False in setters. */
46321 : false, /* isMovable. Not relevant for setters. */
46322 : false, /* isEliminatable. Not relevant for setters. */
46323 : false, /* isAlwaysInSlot. Only relevant for getters. */
46324 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46325 : false, /* isTypedMethod. Only relevant for methods. */
46326 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46327 : };
46328 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46329 : static_assert(0 < 1, "There is no slot for us");
46330 :
46331 : static bool
46332 0 : get__moz_border_image(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
46333 : {
46334 0 : binding_detail::FastErrorResult rv;
46335 0 : DOMString result;
46336 0 : self->GetMozBorderImage(result, rv);
46337 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46338 0 : return false;
46339 : }
46340 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46341 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
46342 0 : return false;
46343 : }
46344 0 : return true;
46345 : }
46346 :
46347 : static bool
46348 0 : set__moz_border_image(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
46349 : {
46350 0 : binding_detail::FakeString arg0;
46351 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
46352 0 : return false;
46353 : }
46354 0 : binding_detail::FastErrorResult rv;
46355 0 : self->SetMozBorderImage(NonNullHelper(Constify(arg0)), rv);
46356 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46357 0 : return false;
46358 : }
46359 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46360 :
46361 0 : return true;
46362 : }
46363 :
46364 : static const JSJitInfo _moz_border_image_getterinfo = {
46365 : { (JSJitGetterOp)get__moz_border_image },
46366 : { prototypes::id::CSS2Properties },
46367 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46368 : JSJitInfo::Getter,
46369 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46370 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
46371 : false, /* isInfallible. False in setters. */
46372 : false, /* isMovable. Not relevant for setters. */
46373 : false, /* isEliminatable. Not relevant for setters. */
46374 : false, /* isAlwaysInSlot. Only relevant for getters. */
46375 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46376 : false, /* isTypedMethod. Only relevant for methods. */
46377 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46378 : };
46379 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46380 : static_assert(0 < 1, "There is no slot for us");
46381 : static const JSJitInfo _moz_border_image_setterinfo = {
46382 : { (JSJitGetterOp)set__moz_border_image },
46383 : { prototypes::id::CSS2Properties },
46384 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46385 : JSJitInfo::Setter,
46386 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46387 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
46388 : false, /* isInfallible. False in setters. */
46389 : false, /* isMovable. Not relevant for setters. */
46390 : false, /* isEliminatable. Not relevant for setters. */
46391 : false, /* isAlwaysInSlot. Only relevant for getters. */
46392 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46393 : false, /* isTypedMethod. Only relevant for methods. */
46394 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46395 : };
46396 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46397 : static_assert(0 < 1, "There is no slot for us");
46398 :
46399 : static bool
46400 0 : get_MozTransition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
46401 : {
46402 0 : binding_detail::FastErrorResult rv;
46403 0 : DOMString result;
46404 0 : self->GetMozTransition(result, rv);
46405 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46406 0 : return false;
46407 : }
46408 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46409 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
46410 0 : return false;
46411 : }
46412 0 : return true;
46413 : }
46414 :
46415 : static bool
46416 0 : set_MozTransition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
46417 : {
46418 0 : binding_detail::FakeString arg0;
46419 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
46420 0 : return false;
46421 : }
46422 0 : binding_detail::FastErrorResult rv;
46423 0 : self->SetMozTransition(NonNullHelper(Constify(arg0)), rv);
46424 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46425 0 : return false;
46426 : }
46427 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46428 :
46429 0 : return true;
46430 : }
46431 :
46432 : static const JSJitInfo MozTransition_getterinfo = {
46433 : { (JSJitGetterOp)get_MozTransition },
46434 : { prototypes::id::CSS2Properties },
46435 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46436 : JSJitInfo::Getter,
46437 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46438 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
46439 : false, /* isInfallible. False in setters. */
46440 : false, /* isMovable. Not relevant for setters. */
46441 : false, /* isEliminatable. Not relevant for setters. */
46442 : false, /* isAlwaysInSlot. Only relevant for getters. */
46443 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46444 : false, /* isTypedMethod. Only relevant for methods. */
46445 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46446 : };
46447 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46448 : static_assert(0 < 1, "There is no slot for us");
46449 : static const JSJitInfo MozTransition_setterinfo = {
46450 : { (JSJitGetterOp)set_MozTransition },
46451 : { prototypes::id::CSS2Properties },
46452 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46453 : JSJitInfo::Setter,
46454 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46455 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
46456 : false, /* isInfallible. False in setters. */
46457 : false, /* isMovable. Not relevant for setters. */
46458 : false, /* isEliminatable. Not relevant for setters. */
46459 : false, /* isAlwaysInSlot. Only relevant for getters. */
46460 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46461 : false, /* isTypedMethod. Only relevant for methods. */
46462 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46463 : };
46464 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46465 : static_assert(0 < 1, "There is no slot for us");
46466 :
46467 : static bool
46468 0 : get__moz_transition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
46469 : {
46470 0 : binding_detail::FastErrorResult rv;
46471 0 : DOMString result;
46472 0 : self->GetMozTransition(result, rv);
46473 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46474 0 : return false;
46475 : }
46476 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46477 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
46478 0 : return false;
46479 : }
46480 0 : return true;
46481 : }
46482 :
46483 : static bool
46484 0 : set__moz_transition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
46485 : {
46486 0 : binding_detail::FakeString arg0;
46487 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
46488 0 : return false;
46489 : }
46490 0 : binding_detail::FastErrorResult rv;
46491 0 : self->SetMozTransition(NonNullHelper(Constify(arg0)), rv);
46492 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46493 0 : return false;
46494 : }
46495 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46496 :
46497 0 : return true;
46498 : }
46499 :
46500 : static const JSJitInfo _moz_transition_getterinfo = {
46501 : { (JSJitGetterOp)get__moz_transition },
46502 : { prototypes::id::CSS2Properties },
46503 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46504 : JSJitInfo::Getter,
46505 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46506 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
46507 : false, /* isInfallible. False in setters. */
46508 : false, /* isMovable. Not relevant for setters. */
46509 : false, /* isEliminatable. Not relevant for setters. */
46510 : false, /* isAlwaysInSlot. Only relevant for getters. */
46511 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46512 : false, /* isTypedMethod. Only relevant for methods. */
46513 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46514 : };
46515 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46516 : static_assert(0 < 1, "There is no slot for us");
46517 : static const JSJitInfo _moz_transition_setterinfo = {
46518 : { (JSJitGetterOp)set__moz_transition },
46519 : { prototypes::id::CSS2Properties },
46520 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46521 : JSJitInfo::Setter,
46522 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46523 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
46524 : false, /* isInfallible. False in setters. */
46525 : false, /* isMovable. Not relevant for setters. */
46526 : false, /* isEliminatable. Not relevant for setters. */
46527 : false, /* isAlwaysInSlot. Only relevant for getters. */
46528 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46529 : false, /* isTypedMethod. Only relevant for methods. */
46530 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46531 : };
46532 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46533 : static_assert(0 < 1, "There is no slot for us");
46534 :
46535 : static bool
46536 0 : get_MozTransitionDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
46537 : {
46538 0 : binding_detail::FastErrorResult rv;
46539 0 : DOMString result;
46540 0 : self->GetMozTransitionDelay(result, rv);
46541 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46542 0 : return false;
46543 : }
46544 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46545 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
46546 0 : return false;
46547 : }
46548 0 : return true;
46549 : }
46550 :
46551 : static bool
46552 0 : set_MozTransitionDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
46553 : {
46554 0 : binding_detail::FakeString arg0;
46555 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
46556 0 : return false;
46557 : }
46558 0 : binding_detail::FastErrorResult rv;
46559 0 : self->SetMozTransitionDelay(NonNullHelper(Constify(arg0)), rv);
46560 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46561 0 : return false;
46562 : }
46563 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46564 :
46565 0 : return true;
46566 : }
46567 :
46568 : static const JSJitInfo MozTransitionDelay_getterinfo = {
46569 : { (JSJitGetterOp)get_MozTransitionDelay },
46570 : { prototypes::id::CSS2Properties },
46571 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46572 : JSJitInfo::Getter,
46573 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46574 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
46575 : false, /* isInfallible. False in setters. */
46576 : false, /* isMovable. Not relevant for setters. */
46577 : false, /* isEliminatable. Not relevant for setters. */
46578 : false, /* isAlwaysInSlot. Only relevant for getters. */
46579 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46580 : false, /* isTypedMethod. Only relevant for methods. */
46581 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46582 : };
46583 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46584 : static_assert(0 < 1, "There is no slot for us");
46585 : static const JSJitInfo MozTransitionDelay_setterinfo = {
46586 : { (JSJitGetterOp)set_MozTransitionDelay },
46587 : { prototypes::id::CSS2Properties },
46588 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46589 : JSJitInfo::Setter,
46590 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46591 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
46592 : false, /* isInfallible. False in setters. */
46593 : false, /* isMovable. Not relevant for setters. */
46594 : false, /* isEliminatable. Not relevant for setters. */
46595 : false, /* isAlwaysInSlot. Only relevant for getters. */
46596 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46597 : false, /* isTypedMethod. Only relevant for methods. */
46598 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46599 : };
46600 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46601 : static_assert(0 < 1, "There is no slot for us");
46602 :
46603 : static bool
46604 0 : get__moz_transition_delay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
46605 : {
46606 0 : binding_detail::FastErrorResult rv;
46607 0 : DOMString result;
46608 0 : self->GetMozTransitionDelay(result, rv);
46609 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46610 0 : return false;
46611 : }
46612 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46613 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
46614 0 : return false;
46615 : }
46616 0 : return true;
46617 : }
46618 :
46619 : static bool
46620 0 : set__moz_transition_delay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
46621 : {
46622 0 : binding_detail::FakeString arg0;
46623 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
46624 0 : return false;
46625 : }
46626 0 : binding_detail::FastErrorResult rv;
46627 0 : self->SetMozTransitionDelay(NonNullHelper(Constify(arg0)), rv);
46628 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46629 0 : return false;
46630 : }
46631 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46632 :
46633 0 : return true;
46634 : }
46635 :
46636 : static const JSJitInfo _moz_transition_delay_getterinfo = {
46637 : { (JSJitGetterOp)get__moz_transition_delay },
46638 : { prototypes::id::CSS2Properties },
46639 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46640 : JSJitInfo::Getter,
46641 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46642 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
46643 : false, /* isInfallible. False in setters. */
46644 : false, /* isMovable. Not relevant for setters. */
46645 : false, /* isEliminatable. Not relevant for setters. */
46646 : false, /* isAlwaysInSlot. Only relevant for getters. */
46647 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46648 : false, /* isTypedMethod. Only relevant for methods. */
46649 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46650 : };
46651 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46652 : static_assert(0 < 1, "There is no slot for us");
46653 : static const JSJitInfo _moz_transition_delay_setterinfo = {
46654 : { (JSJitGetterOp)set__moz_transition_delay },
46655 : { prototypes::id::CSS2Properties },
46656 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46657 : JSJitInfo::Setter,
46658 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46659 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
46660 : false, /* isInfallible. False in setters. */
46661 : false, /* isMovable. Not relevant for setters. */
46662 : false, /* isEliminatable. Not relevant for setters. */
46663 : false, /* isAlwaysInSlot. Only relevant for getters. */
46664 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46665 : false, /* isTypedMethod. Only relevant for methods. */
46666 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46667 : };
46668 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46669 : static_assert(0 < 1, "There is no slot for us");
46670 :
46671 : static bool
46672 0 : get_MozTransitionDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
46673 : {
46674 0 : binding_detail::FastErrorResult rv;
46675 0 : DOMString result;
46676 0 : self->GetMozTransitionDuration(result, rv);
46677 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46678 0 : return false;
46679 : }
46680 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46681 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
46682 0 : return false;
46683 : }
46684 0 : return true;
46685 : }
46686 :
46687 : static bool
46688 0 : set_MozTransitionDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
46689 : {
46690 0 : binding_detail::FakeString arg0;
46691 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
46692 0 : return false;
46693 : }
46694 0 : binding_detail::FastErrorResult rv;
46695 0 : self->SetMozTransitionDuration(NonNullHelper(Constify(arg0)), rv);
46696 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46697 0 : return false;
46698 : }
46699 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46700 :
46701 0 : return true;
46702 : }
46703 :
46704 : static const JSJitInfo MozTransitionDuration_getterinfo = {
46705 : { (JSJitGetterOp)get_MozTransitionDuration },
46706 : { prototypes::id::CSS2Properties },
46707 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46708 : JSJitInfo::Getter,
46709 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46710 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
46711 : false, /* isInfallible. False in setters. */
46712 : false, /* isMovable. Not relevant for setters. */
46713 : false, /* isEliminatable. Not relevant for setters. */
46714 : false, /* isAlwaysInSlot. Only relevant for getters. */
46715 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46716 : false, /* isTypedMethod. Only relevant for methods. */
46717 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46718 : };
46719 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46720 : static_assert(0 < 1, "There is no slot for us");
46721 : static const JSJitInfo MozTransitionDuration_setterinfo = {
46722 : { (JSJitGetterOp)set_MozTransitionDuration },
46723 : { prototypes::id::CSS2Properties },
46724 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46725 : JSJitInfo::Setter,
46726 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46727 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
46728 : false, /* isInfallible. False in setters. */
46729 : false, /* isMovable. Not relevant for setters. */
46730 : false, /* isEliminatable. Not relevant for setters. */
46731 : false, /* isAlwaysInSlot. Only relevant for getters. */
46732 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46733 : false, /* isTypedMethod. Only relevant for methods. */
46734 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46735 : };
46736 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46737 : static_assert(0 < 1, "There is no slot for us");
46738 :
46739 : static bool
46740 0 : get__moz_transition_duration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
46741 : {
46742 0 : binding_detail::FastErrorResult rv;
46743 0 : DOMString result;
46744 0 : self->GetMozTransitionDuration(result, rv);
46745 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46746 0 : return false;
46747 : }
46748 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46749 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
46750 0 : return false;
46751 : }
46752 0 : return true;
46753 : }
46754 :
46755 : static bool
46756 0 : set__moz_transition_duration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
46757 : {
46758 0 : binding_detail::FakeString arg0;
46759 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
46760 0 : return false;
46761 : }
46762 0 : binding_detail::FastErrorResult rv;
46763 0 : self->SetMozTransitionDuration(NonNullHelper(Constify(arg0)), rv);
46764 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46765 0 : return false;
46766 : }
46767 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46768 :
46769 0 : return true;
46770 : }
46771 :
46772 : static const JSJitInfo _moz_transition_duration_getterinfo = {
46773 : { (JSJitGetterOp)get__moz_transition_duration },
46774 : { prototypes::id::CSS2Properties },
46775 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46776 : JSJitInfo::Getter,
46777 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46778 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
46779 : false, /* isInfallible. False in setters. */
46780 : false, /* isMovable. Not relevant for setters. */
46781 : false, /* isEliminatable. Not relevant for setters. */
46782 : false, /* isAlwaysInSlot. Only relevant for getters. */
46783 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46784 : false, /* isTypedMethod. Only relevant for methods. */
46785 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46786 : };
46787 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46788 : static_assert(0 < 1, "There is no slot for us");
46789 : static const JSJitInfo _moz_transition_duration_setterinfo = {
46790 : { (JSJitGetterOp)set__moz_transition_duration },
46791 : { prototypes::id::CSS2Properties },
46792 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46793 : JSJitInfo::Setter,
46794 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46795 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
46796 : false, /* isInfallible. False in setters. */
46797 : false, /* isMovable. Not relevant for setters. */
46798 : false, /* isEliminatable. Not relevant for setters. */
46799 : false, /* isAlwaysInSlot. Only relevant for getters. */
46800 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46801 : false, /* isTypedMethod. Only relevant for methods. */
46802 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46803 : };
46804 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46805 : static_assert(0 < 1, "There is no slot for us");
46806 :
46807 : static bool
46808 0 : get_MozTransitionProperty(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
46809 : {
46810 0 : binding_detail::FastErrorResult rv;
46811 0 : DOMString result;
46812 0 : self->GetMozTransitionProperty(result, rv);
46813 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46814 0 : return false;
46815 : }
46816 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46817 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
46818 0 : return false;
46819 : }
46820 0 : return true;
46821 : }
46822 :
46823 : static bool
46824 0 : set_MozTransitionProperty(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
46825 : {
46826 0 : binding_detail::FakeString arg0;
46827 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
46828 0 : return false;
46829 : }
46830 0 : binding_detail::FastErrorResult rv;
46831 0 : self->SetMozTransitionProperty(NonNullHelper(Constify(arg0)), rv);
46832 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46833 0 : return false;
46834 : }
46835 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46836 :
46837 0 : return true;
46838 : }
46839 :
46840 : static const JSJitInfo MozTransitionProperty_getterinfo = {
46841 : { (JSJitGetterOp)get_MozTransitionProperty },
46842 : { prototypes::id::CSS2Properties },
46843 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46844 : JSJitInfo::Getter,
46845 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46846 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
46847 : false, /* isInfallible. False in setters. */
46848 : false, /* isMovable. Not relevant for setters. */
46849 : false, /* isEliminatable. Not relevant for setters. */
46850 : false, /* isAlwaysInSlot. Only relevant for getters. */
46851 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46852 : false, /* isTypedMethod. Only relevant for methods. */
46853 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46854 : };
46855 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46856 : static_assert(0 < 1, "There is no slot for us");
46857 : static const JSJitInfo MozTransitionProperty_setterinfo = {
46858 : { (JSJitGetterOp)set_MozTransitionProperty },
46859 : { prototypes::id::CSS2Properties },
46860 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46861 : JSJitInfo::Setter,
46862 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46863 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
46864 : false, /* isInfallible. False in setters. */
46865 : false, /* isMovable. Not relevant for setters. */
46866 : false, /* isEliminatable. Not relevant for setters. */
46867 : false, /* isAlwaysInSlot. Only relevant for getters. */
46868 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46869 : false, /* isTypedMethod. Only relevant for methods. */
46870 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46871 : };
46872 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46873 : static_assert(0 < 1, "There is no slot for us");
46874 :
46875 : static bool
46876 0 : get__moz_transition_property(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
46877 : {
46878 0 : binding_detail::FastErrorResult rv;
46879 0 : DOMString result;
46880 0 : self->GetMozTransitionProperty(result, rv);
46881 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46882 0 : return false;
46883 : }
46884 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46885 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
46886 0 : return false;
46887 : }
46888 0 : return true;
46889 : }
46890 :
46891 : static bool
46892 0 : set__moz_transition_property(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
46893 : {
46894 0 : binding_detail::FakeString arg0;
46895 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
46896 0 : return false;
46897 : }
46898 0 : binding_detail::FastErrorResult rv;
46899 0 : self->SetMozTransitionProperty(NonNullHelper(Constify(arg0)), rv);
46900 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46901 0 : return false;
46902 : }
46903 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46904 :
46905 0 : return true;
46906 : }
46907 :
46908 : static const JSJitInfo _moz_transition_property_getterinfo = {
46909 : { (JSJitGetterOp)get__moz_transition_property },
46910 : { prototypes::id::CSS2Properties },
46911 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46912 : JSJitInfo::Getter,
46913 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46914 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
46915 : false, /* isInfallible. False in setters. */
46916 : false, /* isMovable. Not relevant for setters. */
46917 : false, /* isEliminatable. Not relevant for setters. */
46918 : false, /* isAlwaysInSlot. Only relevant for getters. */
46919 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46920 : false, /* isTypedMethod. Only relevant for methods. */
46921 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46922 : };
46923 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46924 : static_assert(0 < 1, "There is no slot for us");
46925 : static const JSJitInfo _moz_transition_property_setterinfo = {
46926 : { (JSJitGetterOp)set__moz_transition_property },
46927 : { prototypes::id::CSS2Properties },
46928 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46929 : JSJitInfo::Setter,
46930 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46931 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
46932 : false, /* isInfallible. False in setters. */
46933 : false, /* isMovable. Not relevant for setters. */
46934 : false, /* isEliminatable. Not relevant for setters. */
46935 : false, /* isAlwaysInSlot. Only relevant for getters. */
46936 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46937 : false, /* isTypedMethod. Only relevant for methods. */
46938 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46939 : };
46940 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46941 : static_assert(0 < 1, "There is no slot for us");
46942 :
46943 : static bool
46944 0 : get_MozTransitionTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
46945 : {
46946 0 : binding_detail::FastErrorResult rv;
46947 0 : DOMString result;
46948 0 : self->GetMozTransitionTimingFunction(result, rv);
46949 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46950 0 : return false;
46951 : }
46952 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46953 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
46954 0 : return false;
46955 : }
46956 0 : return true;
46957 : }
46958 :
46959 : static bool
46960 0 : set_MozTransitionTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
46961 : {
46962 0 : binding_detail::FakeString arg0;
46963 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
46964 0 : return false;
46965 : }
46966 0 : binding_detail::FastErrorResult rv;
46967 0 : self->SetMozTransitionTimingFunction(NonNullHelper(Constify(arg0)), rv);
46968 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
46969 0 : return false;
46970 : }
46971 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
46972 :
46973 0 : return true;
46974 : }
46975 :
46976 : static const JSJitInfo MozTransitionTimingFunction_getterinfo = {
46977 : { (JSJitGetterOp)get_MozTransitionTimingFunction },
46978 : { prototypes::id::CSS2Properties },
46979 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46980 : JSJitInfo::Getter,
46981 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46982 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
46983 : false, /* isInfallible. False in setters. */
46984 : false, /* isMovable. Not relevant for setters. */
46985 : false, /* isEliminatable. Not relevant for setters. */
46986 : false, /* isAlwaysInSlot. Only relevant for getters. */
46987 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
46988 : false, /* isTypedMethod. Only relevant for methods. */
46989 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
46990 : };
46991 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
46992 : static_assert(0 < 1, "There is no slot for us");
46993 : static const JSJitInfo MozTransitionTimingFunction_setterinfo = {
46994 : { (JSJitGetterOp)set_MozTransitionTimingFunction },
46995 : { prototypes::id::CSS2Properties },
46996 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
46997 : JSJitInfo::Setter,
46998 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
46999 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
47000 : false, /* isInfallible. False in setters. */
47001 : false, /* isMovable. Not relevant for setters. */
47002 : false, /* isEliminatable. Not relevant for setters. */
47003 : false, /* isAlwaysInSlot. Only relevant for getters. */
47004 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47005 : false, /* isTypedMethod. Only relevant for methods. */
47006 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47007 : };
47008 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47009 : static_assert(0 < 1, "There is no slot for us");
47010 :
47011 : static bool
47012 0 : get__moz_transition_timing_function(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
47013 : {
47014 0 : binding_detail::FastErrorResult rv;
47015 0 : DOMString result;
47016 0 : self->GetMozTransitionTimingFunction(result, rv);
47017 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47018 0 : return false;
47019 : }
47020 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47021 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
47022 0 : return false;
47023 : }
47024 0 : return true;
47025 : }
47026 :
47027 : static bool
47028 0 : set__moz_transition_timing_function(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
47029 : {
47030 0 : binding_detail::FakeString arg0;
47031 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
47032 0 : return false;
47033 : }
47034 0 : binding_detail::FastErrorResult rv;
47035 0 : self->SetMozTransitionTimingFunction(NonNullHelper(Constify(arg0)), rv);
47036 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47037 0 : return false;
47038 : }
47039 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47040 :
47041 0 : return true;
47042 : }
47043 :
47044 : static const JSJitInfo _moz_transition_timing_function_getterinfo = {
47045 : { (JSJitGetterOp)get__moz_transition_timing_function },
47046 : { prototypes::id::CSS2Properties },
47047 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47048 : JSJitInfo::Getter,
47049 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47050 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
47051 : false, /* isInfallible. False in setters. */
47052 : false, /* isMovable. Not relevant for setters. */
47053 : false, /* isEliminatable. Not relevant for setters. */
47054 : false, /* isAlwaysInSlot. Only relevant for getters. */
47055 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47056 : false, /* isTypedMethod. Only relevant for methods. */
47057 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47058 : };
47059 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47060 : static_assert(0 < 1, "There is no slot for us");
47061 : static const JSJitInfo _moz_transition_timing_function_setterinfo = {
47062 : { (JSJitGetterOp)set__moz_transition_timing_function },
47063 : { prototypes::id::CSS2Properties },
47064 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47065 : JSJitInfo::Setter,
47066 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47067 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
47068 : false, /* isInfallible. False in setters. */
47069 : false, /* isMovable. Not relevant for setters. */
47070 : false, /* isEliminatable. Not relevant for setters. */
47071 : false, /* isAlwaysInSlot. Only relevant for getters. */
47072 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47073 : false, /* isTypedMethod. Only relevant for methods. */
47074 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47075 : };
47076 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47077 : static_assert(0 < 1, "There is no slot for us");
47078 :
47079 : static bool
47080 0 : get_MozAnimation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
47081 : {
47082 0 : binding_detail::FastErrorResult rv;
47083 0 : DOMString result;
47084 0 : self->GetMozAnimation(result, rv);
47085 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47086 0 : return false;
47087 : }
47088 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47089 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
47090 0 : return false;
47091 : }
47092 0 : return true;
47093 : }
47094 :
47095 : static bool
47096 0 : set_MozAnimation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
47097 : {
47098 0 : binding_detail::FakeString arg0;
47099 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
47100 0 : return false;
47101 : }
47102 0 : binding_detail::FastErrorResult rv;
47103 0 : self->SetMozAnimation(NonNullHelper(Constify(arg0)), rv);
47104 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47105 0 : return false;
47106 : }
47107 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47108 :
47109 0 : return true;
47110 : }
47111 :
47112 : static const JSJitInfo MozAnimation_getterinfo = {
47113 : { (JSJitGetterOp)get_MozAnimation },
47114 : { prototypes::id::CSS2Properties },
47115 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47116 : JSJitInfo::Getter,
47117 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47118 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
47119 : false, /* isInfallible. False in setters. */
47120 : false, /* isMovable. Not relevant for setters. */
47121 : false, /* isEliminatable. Not relevant for setters. */
47122 : false, /* isAlwaysInSlot. Only relevant for getters. */
47123 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47124 : false, /* isTypedMethod. Only relevant for methods. */
47125 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47126 : };
47127 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47128 : static_assert(0 < 1, "There is no slot for us");
47129 : static const JSJitInfo MozAnimation_setterinfo = {
47130 : { (JSJitGetterOp)set_MozAnimation },
47131 : { prototypes::id::CSS2Properties },
47132 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47133 : JSJitInfo::Setter,
47134 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47135 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
47136 : false, /* isInfallible. False in setters. */
47137 : false, /* isMovable. Not relevant for setters. */
47138 : false, /* isEliminatable. Not relevant for setters. */
47139 : false, /* isAlwaysInSlot. Only relevant for getters. */
47140 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47141 : false, /* isTypedMethod. Only relevant for methods. */
47142 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47143 : };
47144 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47145 : static_assert(0 < 1, "There is no slot for us");
47146 :
47147 : static bool
47148 0 : get__moz_animation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
47149 : {
47150 0 : binding_detail::FastErrorResult rv;
47151 0 : DOMString result;
47152 0 : self->GetMozAnimation(result, rv);
47153 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47154 0 : return false;
47155 : }
47156 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47157 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
47158 0 : return false;
47159 : }
47160 0 : return true;
47161 : }
47162 :
47163 : static bool
47164 0 : set__moz_animation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
47165 : {
47166 0 : binding_detail::FakeString arg0;
47167 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
47168 0 : return false;
47169 : }
47170 0 : binding_detail::FastErrorResult rv;
47171 0 : self->SetMozAnimation(NonNullHelper(Constify(arg0)), rv);
47172 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47173 0 : return false;
47174 : }
47175 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47176 :
47177 0 : return true;
47178 : }
47179 :
47180 : static const JSJitInfo _moz_animation_getterinfo = {
47181 : { (JSJitGetterOp)get__moz_animation },
47182 : { prototypes::id::CSS2Properties },
47183 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47184 : JSJitInfo::Getter,
47185 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47186 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
47187 : false, /* isInfallible. False in setters. */
47188 : false, /* isMovable. Not relevant for setters. */
47189 : false, /* isEliminatable. Not relevant for setters. */
47190 : false, /* isAlwaysInSlot. Only relevant for getters. */
47191 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47192 : false, /* isTypedMethod. Only relevant for methods. */
47193 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47194 : };
47195 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47196 : static_assert(0 < 1, "There is no slot for us");
47197 : static const JSJitInfo _moz_animation_setterinfo = {
47198 : { (JSJitGetterOp)set__moz_animation },
47199 : { prototypes::id::CSS2Properties },
47200 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47201 : JSJitInfo::Setter,
47202 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47203 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
47204 : false, /* isInfallible. False in setters. */
47205 : false, /* isMovable. Not relevant for setters. */
47206 : false, /* isEliminatable. Not relevant for setters. */
47207 : false, /* isAlwaysInSlot. Only relevant for getters. */
47208 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47209 : false, /* isTypedMethod. Only relevant for methods. */
47210 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47211 : };
47212 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47213 : static_assert(0 < 1, "There is no slot for us");
47214 :
47215 : static bool
47216 0 : get_MozAnimationDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
47217 : {
47218 0 : binding_detail::FastErrorResult rv;
47219 0 : DOMString result;
47220 0 : self->GetMozAnimationDelay(result, rv);
47221 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47222 0 : return false;
47223 : }
47224 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47225 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
47226 0 : return false;
47227 : }
47228 0 : return true;
47229 : }
47230 :
47231 : static bool
47232 0 : set_MozAnimationDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
47233 : {
47234 0 : binding_detail::FakeString arg0;
47235 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
47236 0 : return false;
47237 : }
47238 0 : binding_detail::FastErrorResult rv;
47239 0 : self->SetMozAnimationDelay(NonNullHelper(Constify(arg0)), rv);
47240 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47241 0 : return false;
47242 : }
47243 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47244 :
47245 0 : return true;
47246 : }
47247 :
47248 : static const JSJitInfo MozAnimationDelay_getterinfo = {
47249 : { (JSJitGetterOp)get_MozAnimationDelay },
47250 : { prototypes::id::CSS2Properties },
47251 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47252 : JSJitInfo::Getter,
47253 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47254 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
47255 : false, /* isInfallible. False in setters. */
47256 : false, /* isMovable. Not relevant for setters. */
47257 : false, /* isEliminatable. Not relevant for setters. */
47258 : false, /* isAlwaysInSlot. Only relevant for getters. */
47259 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47260 : false, /* isTypedMethod. Only relevant for methods. */
47261 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47262 : };
47263 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47264 : static_assert(0 < 1, "There is no slot for us");
47265 : static const JSJitInfo MozAnimationDelay_setterinfo = {
47266 : { (JSJitGetterOp)set_MozAnimationDelay },
47267 : { prototypes::id::CSS2Properties },
47268 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47269 : JSJitInfo::Setter,
47270 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47271 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
47272 : false, /* isInfallible. False in setters. */
47273 : false, /* isMovable. Not relevant for setters. */
47274 : false, /* isEliminatable. Not relevant for setters. */
47275 : false, /* isAlwaysInSlot. Only relevant for getters. */
47276 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47277 : false, /* isTypedMethod. Only relevant for methods. */
47278 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47279 : };
47280 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47281 : static_assert(0 < 1, "There is no slot for us");
47282 :
47283 : static bool
47284 0 : get__moz_animation_delay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
47285 : {
47286 0 : binding_detail::FastErrorResult rv;
47287 0 : DOMString result;
47288 0 : self->GetMozAnimationDelay(result, rv);
47289 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47290 0 : return false;
47291 : }
47292 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47293 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
47294 0 : return false;
47295 : }
47296 0 : return true;
47297 : }
47298 :
47299 : static bool
47300 0 : set__moz_animation_delay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
47301 : {
47302 0 : binding_detail::FakeString arg0;
47303 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
47304 0 : return false;
47305 : }
47306 0 : binding_detail::FastErrorResult rv;
47307 0 : self->SetMozAnimationDelay(NonNullHelper(Constify(arg0)), rv);
47308 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47309 0 : return false;
47310 : }
47311 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47312 :
47313 0 : return true;
47314 : }
47315 :
47316 : static const JSJitInfo _moz_animation_delay_getterinfo = {
47317 : { (JSJitGetterOp)get__moz_animation_delay },
47318 : { prototypes::id::CSS2Properties },
47319 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47320 : JSJitInfo::Getter,
47321 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47322 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
47323 : false, /* isInfallible. False in setters. */
47324 : false, /* isMovable. Not relevant for setters. */
47325 : false, /* isEliminatable. Not relevant for setters. */
47326 : false, /* isAlwaysInSlot. Only relevant for getters. */
47327 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47328 : false, /* isTypedMethod. Only relevant for methods. */
47329 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47330 : };
47331 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47332 : static_assert(0 < 1, "There is no slot for us");
47333 : static const JSJitInfo _moz_animation_delay_setterinfo = {
47334 : { (JSJitGetterOp)set__moz_animation_delay },
47335 : { prototypes::id::CSS2Properties },
47336 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47337 : JSJitInfo::Setter,
47338 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47339 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
47340 : false, /* isInfallible. False in setters. */
47341 : false, /* isMovable. Not relevant for setters. */
47342 : false, /* isEliminatable. Not relevant for setters. */
47343 : false, /* isAlwaysInSlot. Only relevant for getters. */
47344 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47345 : false, /* isTypedMethod. Only relevant for methods. */
47346 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47347 : };
47348 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47349 : static_assert(0 < 1, "There is no slot for us");
47350 :
47351 : static bool
47352 0 : get_MozAnimationDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
47353 : {
47354 0 : binding_detail::FastErrorResult rv;
47355 0 : DOMString result;
47356 0 : self->GetMozAnimationDirection(result, rv);
47357 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47358 0 : return false;
47359 : }
47360 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47361 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
47362 0 : return false;
47363 : }
47364 0 : return true;
47365 : }
47366 :
47367 : static bool
47368 0 : set_MozAnimationDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
47369 : {
47370 0 : binding_detail::FakeString arg0;
47371 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
47372 0 : return false;
47373 : }
47374 0 : binding_detail::FastErrorResult rv;
47375 0 : self->SetMozAnimationDirection(NonNullHelper(Constify(arg0)), rv);
47376 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47377 0 : return false;
47378 : }
47379 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47380 :
47381 0 : return true;
47382 : }
47383 :
47384 : static const JSJitInfo MozAnimationDirection_getterinfo = {
47385 : { (JSJitGetterOp)get_MozAnimationDirection },
47386 : { prototypes::id::CSS2Properties },
47387 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47388 : JSJitInfo::Getter,
47389 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47390 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
47391 : false, /* isInfallible. False in setters. */
47392 : false, /* isMovable. Not relevant for setters. */
47393 : false, /* isEliminatable. Not relevant for setters. */
47394 : false, /* isAlwaysInSlot. Only relevant for getters. */
47395 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47396 : false, /* isTypedMethod. Only relevant for methods. */
47397 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47398 : };
47399 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47400 : static_assert(0 < 1, "There is no slot for us");
47401 : static const JSJitInfo MozAnimationDirection_setterinfo = {
47402 : { (JSJitGetterOp)set_MozAnimationDirection },
47403 : { prototypes::id::CSS2Properties },
47404 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47405 : JSJitInfo::Setter,
47406 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47407 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
47408 : false, /* isInfallible. False in setters. */
47409 : false, /* isMovable. Not relevant for setters. */
47410 : false, /* isEliminatable. Not relevant for setters. */
47411 : false, /* isAlwaysInSlot. Only relevant for getters. */
47412 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47413 : false, /* isTypedMethod. Only relevant for methods. */
47414 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47415 : };
47416 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47417 : static_assert(0 < 1, "There is no slot for us");
47418 :
47419 : static bool
47420 0 : get__moz_animation_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
47421 : {
47422 0 : binding_detail::FastErrorResult rv;
47423 0 : DOMString result;
47424 0 : self->GetMozAnimationDirection(result, rv);
47425 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47426 0 : return false;
47427 : }
47428 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47429 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
47430 0 : return false;
47431 : }
47432 0 : return true;
47433 : }
47434 :
47435 : static bool
47436 0 : set__moz_animation_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
47437 : {
47438 0 : binding_detail::FakeString arg0;
47439 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
47440 0 : return false;
47441 : }
47442 0 : binding_detail::FastErrorResult rv;
47443 0 : self->SetMozAnimationDirection(NonNullHelper(Constify(arg0)), rv);
47444 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47445 0 : return false;
47446 : }
47447 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47448 :
47449 0 : return true;
47450 : }
47451 :
47452 : static const JSJitInfo _moz_animation_direction_getterinfo = {
47453 : { (JSJitGetterOp)get__moz_animation_direction },
47454 : { prototypes::id::CSS2Properties },
47455 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47456 : JSJitInfo::Getter,
47457 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47458 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
47459 : false, /* isInfallible. False in setters. */
47460 : false, /* isMovable. Not relevant for setters. */
47461 : false, /* isEliminatable. Not relevant for setters. */
47462 : false, /* isAlwaysInSlot. Only relevant for getters. */
47463 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47464 : false, /* isTypedMethod. Only relevant for methods. */
47465 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47466 : };
47467 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47468 : static_assert(0 < 1, "There is no slot for us");
47469 : static const JSJitInfo _moz_animation_direction_setterinfo = {
47470 : { (JSJitGetterOp)set__moz_animation_direction },
47471 : { prototypes::id::CSS2Properties },
47472 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47473 : JSJitInfo::Setter,
47474 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47475 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
47476 : false, /* isInfallible. False in setters. */
47477 : false, /* isMovable. Not relevant for setters. */
47478 : false, /* isEliminatable. Not relevant for setters. */
47479 : false, /* isAlwaysInSlot. Only relevant for getters. */
47480 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47481 : false, /* isTypedMethod. Only relevant for methods. */
47482 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47483 : };
47484 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47485 : static_assert(0 < 1, "There is no slot for us");
47486 :
47487 : static bool
47488 0 : get_MozAnimationDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
47489 : {
47490 0 : binding_detail::FastErrorResult rv;
47491 0 : DOMString result;
47492 0 : self->GetMozAnimationDuration(result, rv);
47493 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47494 0 : return false;
47495 : }
47496 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47497 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
47498 0 : return false;
47499 : }
47500 0 : return true;
47501 : }
47502 :
47503 : static bool
47504 0 : set_MozAnimationDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
47505 : {
47506 0 : binding_detail::FakeString arg0;
47507 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
47508 0 : return false;
47509 : }
47510 0 : binding_detail::FastErrorResult rv;
47511 0 : self->SetMozAnimationDuration(NonNullHelper(Constify(arg0)), rv);
47512 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47513 0 : return false;
47514 : }
47515 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47516 :
47517 0 : return true;
47518 : }
47519 :
47520 : static const JSJitInfo MozAnimationDuration_getterinfo = {
47521 : { (JSJitGetterOp)get_MozAnimationDuration },
47522 : { prototypes::id::CSS2Properties },
47523 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47524 : JSJitInfo::Getter,
47525 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47526 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
47527 : false, /* isInfallible. False in setters. */
47528 : false, /* isMovable. Not relevant for setters. */
47529 : false, /* isEliminatable. Not relevant for setters. */
47530 : false, /* isAlwaysInSlot. Only relevant for getters. */
47531 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47532 : false, /* isTypedMethod. Only relevant for methods. */
47533 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47534 : };
47535 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47536 : static_assert(0 < 1, "There is no slot for us");
47537 : static const JSJitInfo MozAnimationDuration_setterinfo = {
47538 : { (JSJitGetterOp)set_MozAnimationDuration },
47539 : { prototypes::id::CSS2Properties },
47540 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47541 : JSJitInfo::Setter,
47542 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47543 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
47544 : false, /* isInfallible. False in setters. */
47545 : false, /* isMovable. Not relevant for setters. */
47546 : false, /* isEliminatable. Not relevant for setters. */
47547 : false, /* isAlwaysInSlot. Only relevant for getters. */
47548 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47549 : false, /* isTypedMethod. Only relevant for methods. */
47550 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47551 : };
47552 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47553 : static_assert(0 < 1, "There is no slot for us");
47554 :
47555 : static bool
47556 0 : get__moz_animation_duration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
47557 : {
47558 0 : binding_detail::FastErrorResult rv;
47559 0 : DOMString result;
47560 0 : self->GetMozAnimationDuration(result, rv);
47561 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47562 0 : return false;
47563 : }
47564 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47565 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
47566 0 : return false;
47567 : }
47568 0 : return true;
47569 : }
47570 :
47571 : static bool
47572 0 : set__moz_animation_duration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
47573 : {
47574 0 : binding_detail::FakeString arg0;
47575 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
47576 0 : return false;
47577 : }
47578 0 : binding_detail::FastErrorResult rv;
47579 0 : self->SetMozAnimationDuration(NonNullHelper(Constify(arg0)), rv);
47580 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47581 0 : return false;
47582 : }
47583 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47584 :
47585 0 : return true;
47586 : }
47587 :
47588 : static const JSJitInfo _moz_animation_duration_getterinfo = {
47589 : { (JSJitGetterOp)get__moz_animation_duration },
47590 : { prototypes::id::CSS2Properties },
47591 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47592 : JSJitInfo::Getter,
47593 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47594 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
47595 : false, /* isInfallible. False in setters. */
47596 : false, /* isMovable. Not relevant for setters. */
47597 : false, /* isEliminatable. Not relevant for setters. */
47598 : false, /* isAlwaysInSlot. Only relevant for getters. */
47599 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47600 : false, /* isTypedMethod. Only relevant for methods. */
47601 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47602 : };
47603 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47604 : static_assert(0 < 1, "There is no slot for us");
47605 : static const JSJitInfo _moz_animation_duration_setterinfo = {
47606 : { (JSJitGetterOp)set__moz_animation_duration },
47607 : { prototypes::id::CSS2Properties },
47608 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47609 : JSJitInfo::Setter,
47610 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47611 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
47612 : false, /* isInfallible. False in setters. */
47613 : false, /* isMovable. Not relevant for setters. */
47614 : false, /* isEliminatable. Not relevant for setters. */
47615 : false, /* isAlwaysInSlot. Only relevant for getters. */
47616 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47617 : false, /* isTypedMethod. Only relevant for methods. */
47618 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47619 : };
47620 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47621 : static_assert(0 < 1, "There is no slot for us");
47622 :
47623 : static bool
47624 0 : get_MozAnimationFillMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
47625 : {
47626 0 : binding_detail::FastErrorResult rv;
47627 0 : DOMString result;
47628 0 : self->GetMozAnimationFillMode(result, rv);
47629 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47630 0 : return false;
47631 : }
47632 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47633 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
47634 0 : return false;
47635 : }
47636 0 : return true;
47637 : }
47638 :
47639 : static bool
47640 0 : set_MozAnimationFillMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
47641 : {
47642 0 : binding_detail::FakeString arg0;
47643 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
47644 0 : return false;
47645 : }
47646 0 : binding_detail::FastErrorResult rv;
47647 0 : self->SetMozAnimationFillMode(NonNullHelper(Constify(arg0)), rv);
47648 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47649 0 : return false;
47650 : }
47651 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47652 :
47653 0 : return true;
47654 : }
47655 :
47656 : static const JSJitInfo MozAnimationFillMode_getterinfo = {
47657 : { (JSJitGetterOp)get_MozAnimationFillMode },
47658 : { prototypes::id::CSS2Properties },
47659 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47660 : JSJitInfo::Getter,
47661 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47662 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
47663 : false, /* isInfallible. False in setters. */
47664 : false, /* isMovable. Not relevant for setters. */
47665 : false, /* isEliminatable. Not relevant for setters. */
47666 : false, /* isAlwaysInSlot. Only relevant for getters. */
47667 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47668 : false, /* isTypedMethod. Only relevant for methods. */
47669 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47670 : };
47671 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47672 : static_assert(0 < 1, "There is no slot for us");
47673 : static const JSJitInfo MozAnimationFillMode_setterinfo = {
47674 : { (JSJitGetterOp)set_MozAnimationFillMode },
47675 : { prototypes::id::CSS2Properties },
47676 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47677 : JSJitInfo::Setter,
47678 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47679 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
47680 : false, /* isInfallible. False in setters. */
47681 : false, /* isMovable. Not relevant for setters. */
47682 : false, /* isEliminatable. Not relevant for setters. */
47683 : false, /* isAlwaysInSlot. Only relevant for getters. */
47684 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47685 : false, /* isTypedMethod. Only relevant for methods. */
47686 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47687 : };
47688 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47689 : static_assert(0 < 1, "There is no slot for us");
47690 :
47691 : static bool
47692 0 : get__moz_animation_fill_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
47693 : {
47694 0 : binding_detail::FastErrorResult rv;
47695 0 : DOMString result;
47696 0 : self->GetMozAnimationFillMode(result, rv);
47697 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47698 0 : return false;
47699 : }
47700 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47701 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
47702 0 : return false;
47703 : }
47704 0 : return true;
47705 : }
47706 :
47707 : static bool
47708 0 : set__moz_animation_fill_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
47709 : {
47710 0 : binding_detail::FakeString arg0;
47711 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
47712 0 : return false;
47713 : }
47714 0 : binding_detail::FastErrorResult rv;
47715 0 : self->SetMozAnimationFillMode(NonNullHelper(Constify(arg0)), rv);
47716 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47717 0 : return false;
47718 : }
47719 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47720 :
47721 0 : return true;
47722 : }
47723 :
47724 : static const JSJitInfo _moz_animation_fill_mode_getterinfo = {
47725 : { (JSJitGetterOp)get__moz_animation_fill_mode },
47726 : { prototypes::id::CSS2Properties },
47727 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47728 : JSJitInfo::Getter,
47729 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47730 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
47731 : false, /* isInfallible. False in setters. */
47732 : false, /* isMovable. Not relevant for setters. */
47733 : false, /* isEliminatable. Not relevant for setters. */
47734 : false, /* isAlwaysInSlot. Only relevant for getters. */
47735 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47736 : false, /* isTypedMethod. Only relevant for methods. */
47737 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47738 : };
47739 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47740 : static_assert(0 < 1, "There is no slot for us");
47741 : static const JSJitInfo _moz_animation_fill_mode_setterinfo = {
47742 : { (JSJitGetterOp)set__moz_animation_fill_mode },
47743 : { prototypes::id::CSS2Properties },
47744 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47745 : JSJitInfo::Setter,
47746 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47747 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
47748 : false, /* isInfallible. False in setters. */
47749 : false, /* isMovable. Not relevant for setters. */
47750 : false, /* isEliminatable. Not relevant for setters. */
47751 : false, /* isAlwaysInSlot. Only relevant for getters. */
47752 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47753 : false, /* isTypedMethod. Only relevant for methods. */
47754 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47755 : };
47756 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47757 : static_assert(0 < 1, "There is no slot for us");
47758 :
47759 : static bool
47760 0 : get_MozAnimationIterationCount(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
47761 : {
47762 0 : binding_detail::FastErrorResult rv;
47763 0 : DOMString result;
47764 0 : self->GetMozAnimationIterationCount(result, rv);
47765 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47766 0 : return false;
47767 : }
47768 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47769 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
47770 0 : return false;
47771 : }
47772 0 : return true;
47773 : }
47774 :
47775 : static bool
47776 0 : set_MozAnimationIterationCount(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
47777 : {
47778 0 : binding_detail::FakeString arg0;
47779 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
47780 0 : return false;
47781 : }
47782 0 : binding_detail::FastErrorResult rv;
47783 0 : self->SetMozAnimationIterationCount(NonNullHelper(Constify(arg0)), rv);
47784 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47785 0 : return false;
47786 : }
47787 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47788 :
47789 0 : return true;
47790 : }
47791 :
47792 : static const JSJitInfo MozAnimationIterationCount_getterinfo = {
47793 : { (JSJitGetterOp)get_MozAnimationIterationCount },
47794 : { prototypes::id::CSS2Properties },
47795 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47796 : JSJitInfo::Getter,
47797 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47798 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
47799 : false, /* isInfallible. False in setters. */
47800 : false, /* isMovable. Not relevant for setters. */
47801 : false, /* isEliminatable. Not relevant for setters. */
47802 : false, /* isAlwaysInSlot. Only relevant for getters. */
47803 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47804 : false, /* isTypedMethod. Only relevant for methods. */
47805 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47806 : };
47807 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47808 : static_assert(0 < 1, "There is no slot for us");
47809 : static const JSJitInfo MozAnimationIterationCount_setterinfo = {
47810 : { (JSJitGetterOp)set_MozAnimationIterationCount },
47811 : { prototypes::id::CSS2Properties },
47812 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47813 : JSJitInfo::Setter,
47814 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47815 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
47816 : false, /* isInfallible. False in setters. */
47817 : false, /* isMovable. Not relevant for setters. */
47818 : false, /* isEliminatable. Not relevant for setters. */
47819 : false, /* isAlwaysInSlot. Only relevant for getters. */
47820 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47821 : false, /* isTypedMethod. Only relevant for methods. */
47822 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47823 : };
47824 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47825 : static_assert(0 < 1, "There is no slot for us");
47826 :
47827 : static bool
47828 0 : get__moz_animation_iteration_count(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
47829 : {
47830 0 : binding_detail::FastErrorResult rv;
47831 0 : DOMString result;
47832 0 : self->GetMozAnimationIterationCount(result, rv);
47833 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47834 0 : return false;
47835 : }
47836 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47837 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
47838 0 : return false;
47839 : }
47840 0 : return true;
47841 : }
47842 :
47843 : static bool
47844 0 : set__moz_animation_iteration_count(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
47845 : {
47846 0 : binding_detail::FakeString arg0;
47847 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
47848 0 : return false;
47849 : }
47850 0 : binding_detail::FastErrorResult rv;
47851 0 : self->SetMozAnimationIterationCount(NonNullHelper(Constify(arg0)), rv);
47852 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47853 0 : return false;
47854 : }
47855 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47856 :
47857 0 : return true;
47858 : }
47859 :
47860 : static const JSJitInfo _moz_animation_iteration_count_getterinfo = {
47861 : { (JSJitGetterOp)get__moz_animation_iteration_count },
47862 : { prototypes::id::CSS2Properties },
47863 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47864 : JSJitInfo::Getter,
47865 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47866 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
47867 : false, /* isInfallible. False in setters. */
47868 : false, /* isMovable. Not relevant for setters. */
47869 : false, /* isEliminatable. Not relevant for setters. */
47870 : false, /* isAlwaysInSlot. Only relevant for getters. */
47871 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47872 : false, /* isTypedMethod. Only relevant for methods. */
47873 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47874 : };
47875 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47876 : static_assert(0 < 1, "There is no slot for us");
47877 : static const JSJitInfo _moz_animation_iteration_count_setterinfo = {
47878 : { (JSJitGetterOp)set__moz_animation_iteration_count },
47879 : { prototypes::id::CSS2Properties },
47880 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47881 : JSJitInfo::Setter,
47882 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47883 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
47884 : false, /* isInfallible. False in setters. */
47885 : false, /* isMovable. Not relevant for setters. */
47886 : false, /* isEliminatable. Not relevant for setters. */
47887 : false, /* isAlwaysInSlot. Only relevant for getters. */
47888 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47889 : false, /* isTypedMethod. Only relevant for methods. */
47890 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47891 : };
47892 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47893 : static_assert(0 < 1, "There is no slot for us");
47894 :
47895 : static bool
47896 0 : get_MozAnimationName(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
47897 : {
47898 0 : binding_detail::FastErrorResult rv;
47899 0 : DOMString result;
47900 0 : self->GetMozAnimationName(result, rv);
47901 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47902 0 : return false;
47903 : }
47904 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47905 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
47906 0 : return false;
47907 : }
47908 0 : return true;
47909 : }
47910 :
47911 : static bool
47912 0 : set_MozAnimationName(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
47913 : {
47914 0 : binding_detail::FakeString arg0;
47915 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
47916 0 : return false;
47917 : }
47918 0 : binding_detail::FastErrorResult rv;
47919 0 : self->SetMozAnimationName(NonNullHelper(Constify(arg0)), rv);
47920 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47921 0 : return false;
47922 : }
47923 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47924 :
47925 0 : return true;
47926 : }
47927 :
47928 : static const JSJitInfo MozAnimationName_getterinfo = {
47929 : { (JSJitGetterOp)get_MozAnimationName },
47930 : { prototypes::id::CSS2Properties },
47931 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47932 : JSJitInfo::Getter,
47933 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47934 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
47935 : false, /* isInfallible. False in setters. */
47936 : false, /* isMovable. Not relevant for setters. */
47937 : false, /* isEliminatable. Not relevant for setters. */
47938 : false, /* isAlwaysInSlot. Only relevant for getters. */
47939 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47940 : false, /* isTypedMethod. Only relevant for methods. */
47941 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47942 : };
47943 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47944 : static_assert(0 < 1, "There is no slot for us");
47945 : static const JSJitInfo MozAnimationName_setterinfo = {
47946 : { (JSJitGetterOp)set_MozAnimationName },
47947 : { prototypes::id::CSS2Properties },
47948 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
47949 : JSJitInfo::Setter,
47950 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
47951 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
47952 : false, /* isInfallible. False in setters. */
47953 : false, /* isMovable. Not relevant for setters. */
47954 : false, /* isEliminatable. Not relevant for setters. */
47955 : false, /* isAlwaysInSlot. Only relevant for getters. */
47956 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
47957 : false, /* isTypedMethod. Only relevant for methods. */
47958 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
47959 : };
47960 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
47961 : static_assert(0 < 1, "There is no slot for us");
47962 :
47963 : static bool
47964 0 : get__moz_animation_name(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
47965 : {
47966 0 : binding_detail::FastErrorResult rv;
47967 0 : DOMString result;
47968 0 : self->GetMozAnimationName(result, rv);
47969 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47970 0 : return false;
47971 : }
47972 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47973 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
47974 0 : return false;
47975 : }
47976 0 : return true;
47977 : }
47978 :
47979 : static bool
47980 0 : set__moz_animation_name(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
47981 : {
47982 0 : binding_detail::FakeString arg0;
47983 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
47984 0 : return false;
47985 : }
47986 0 : binding_detail::FastErrorResult rv;
47987 0 : self->SetMozAnimationName(NonNullHelper(Constify(arg0)), rv);
47988 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
47989 0 : return false;
47990 : }
47991 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
47992 :
47993 0 : return true;
47994 : }
47995 :
47996 : static const JSJitInfo _moz_animation_name_getterinfo = {
47997 : { (JSJitGetterOp)get__moz_animation_name },
47998 : { prototypes::id::CSS2Properties },
47999 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48000 : JSJitInfo::Getter,
48001 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48002 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
48003 : false, /* isInfallible. False in setters. */
48004 : false, /* isMovable. Not relevant for setters. */
48005 : false, /* isEliminatable. Not relevant for setters. */
48006 : false, /* isAlwaysInSlot. Only relevant for getters. */
48007 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48008 : false, /* isTypedMethod. Only relevant for methods. */
48009 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48010 : };
48011 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48012 : static_assert(0 < 1, "There is no slot for us");
48013 : static const JSJitInfo _moz_animation_name_setterinfo = {
48014 : { (JSJitGetterOp)set__moz_animation_name },
48015 : { prototypes::id::CSS2Properties },
48016 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48017 : JSJitInfo::Setter,
48018 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48019 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
48020 : false, /* isInfallible. False in setters. */
48021 : false, /* isMovable. Not relevant for setters. */
48022 : false, /* isEliminatable. Not relevant for setters. */
48023 : false, /* isAlwaysInSlot. Only relevant for getters. */
48024 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48025 : false, /* isTypedMethod. Only relevant for methods. */
48026 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48027 : };
48028 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48029 : static_assert(0 < 1, "There is no slot for us");
48030 :
48031 : static bool
48032 0 : get_MozAnimationPlayState(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
48033 : {
48034 0 : binding_detail::FastErrorResult rv;
48035 0 : DOMString result;
48036 0 : self->GetMozAnimationPlayState(result, rv);
48037 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48038 0 : return false;
48039 : }
48040 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48041 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
48042 0 : return false;
48043 : }
48044 0 : return true;
48045 : }
48046 :
48047 : static bool
48048 0 : set_MozAnimationPlayState(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
48049 : {
48050 0 : binding_detail::FakeString arg0;
48051 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
48052 0 : return false;
48053 : }
48054 0 : binding_detail::FastErrorResult rv;
48055 0 : self->SetMozAnimationPlayState(NonNullHelper(Constify(arg0)), rv);
48056 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48057 0 : return false;
48058 : }
48059 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48060 :
48061 0 : return true;
48062 : }
48063 :
48064 : static const JSJitInfo MozAnimationPlayState_getterinfo = {
48065 : { (JSJitGetterOp)get_MozAnimationPlayState },
48066 : { prototypes::id::CSS2Properties },
48067 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48068 : JSJitInfo::Getter,
48069 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48070 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
48071 : false, /* isInfallible. False in setters. */
48072 : false, /* isMovable. Not relevant for setters. */
48073 : false, /* isEliminatable. Not relevant for setters. */
48074 : false, /* isAlwaysInSlot. Only relevant for getters. */
48075 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48076 : false, /* isTypedMethod. Only relevant for methods. */
48077 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48078 : };
48079 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48080 : static_assert(0 < 1, "There is no slot for us");
48081 : static const JSJitInfo MozAnimationPlayState_setterinfo = {
48082 : { (JSJitGetterOp)set_MozAnimationPlayState },
48083 : { prototypes::id::CSS2Properties },
48084 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48085 : JSJitInfo::Setter,
48086 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48087 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
48088 : false, /* isInfallible. False in setters. */
48089 : false, /* isMovable. Not relevant for setters. */
48090 : false, /* isEliminatable. Not relevant for setters. */
48091 : false, /* isAlwaysInSlot. Only relevant for getters. */
48092 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48093 : false, /* isTypedMethod. Only relevant for methods. */
48094 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48095 : };
48096 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48097 : static_assert(0 < 1, "There is no slot for us");
48098 :
48099 : static bool
48100 0 : get__moz_animation_play_state(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
48101 : {
48102 0 : binding_detail::FastErrorResult rv;
48103 0 : DOMString result;
48104 0 : self->GetMozAnimationPlayState(result, rv);
48105 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48106 0 : return false;
48107 : }
48108 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48109 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
48110 0 : return false;
48111 : }
48112 0 : return true;
48113 : }
48114 :
48115 : static bool
48116 0 : set__moz_animation_play_state(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
48117 : {
48118 0 : binding_detail::FakeString arg0;
48119 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
48120 0 : return false;
48121 : }
48122 0 : binding_detail::FastErrorResult rv;
48123 0 : self->SetMozAnimationPlayState(NonNullHelper(Constify(arg0)), rv);
48124 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48125 0 : return false;
48126 : }
48127 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48128 :
48129 0 : return true;
48130 : }
48131 :
48132 : static const JSJitInfo _moz_animation_play_state_getterinfo = {
48133 : { (JSJitGetterOp)get__moz_animation_play_state },
48134 : { prototypes::id::CSS2Properties },
48135 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48136 : JSJitInfo::Getter,
48137 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48138 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
48139 : false, /* isInfallible. False in setters. */
48140 : false, /* isMovable. Not relevant for setters. */
48141 : false, /* isEliminatable. Not relevant for setters. */
48142 : false, /* isAlwaysInSlot. Only relevant for getters. */
48143 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48144 : false, /* isTypedMethod. Only relevant for methods. */
48145 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48146 : };
48147 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48148 : static_assert(0 < 1, "There is no slot for us");
48149 : static const JSJitInfo _moz_animation_play_state_setterinfo = {
48150 : { (JSJitGetterOp)set__moz_animation_play_state },
48151 : { prototypes::id::CSS2Properties },
48152 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48153 : JSJitInfo::Setter,
48154 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48155 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
48156 : false, /* isInfallible. False in setters. */
48157 : false, /* isMovable. Not relevant for setters. */
48158 : false, /* isEliminatable. Not relevant for setters. */
48159 : false, /* isAlwaysInSlot. Only relevant for getters. */
48160 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48161 : false, /* isTypedMethod. Only relevant for methods. */
48162 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48163 : };
48164 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48165 : static_assert(0 < 1, "There is no slot for us");
48166 :
48167 : static bool
48168 0 : get_MozAnimationTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
48169 : {
48170 0 : binding_detail::FastErrorResult rv;
48171 0 : DOMString result;
48172 0 : self->GetMozAnimationTimingFunction(result, rv);
48173 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48174 0 : return false;
48175 : }
48176 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48177 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
48178 0 : return false;
48179 : }
48180 0 : return true;
48181 : }
48182 :
48183 : static bool
48184 0 : set_MozAnimationTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
48185 : {
48186 0 : binding_detail::FakeString arg0;
48187 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
48188 0 : return false;
48189 : }
48190 0 : binding_detail::FastErrorResult rv;
48191 0 : self->SetMozAnimationTimingFunction(NonNullHelper(Constify(arg0)), rv);
48192 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48193 0 : return false;
48194 : }
48195 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48196 :
48197 0 : return true;
48198 : }
48199 :
48200 : static const JSJitInfo MozAnimationTimingFunction_getterinfo = {
48201 : { (JSJitGetterOp)get_MozAnimationTimingFunction },
48202 : { prototypes::id::CSS2Properties },
48203 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48204 : JSJitInfo::Getter,
48205 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48206 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
48207 : false, /* isInfallible. False in setters. */
48208 : false, /* isMovable. Not relevant for setters. */
48209 : false, /* isEliminatable. Not relevant for setters. */
48210 : false, /* isAlwaysInSlot. Only relevant for getters. */
48211 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48212 : false, /* isTypedMethod. Only relevant for methods. */
48213 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48214 : };
48215 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48216 : static_assert(0 < 1, "There is no slot for us");
48217 : static const JSJitInfo MozAnimationTimingFunction_setterinfo = {
48218 : { (JSJitGetterOp)set_MozAnimationTimingFunction },
48219 : { prototypes::id::CSS2Properties },
48220 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48221 : JSJitInfo::Setter,
48222 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48223 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
48224 : false, /* isInfallible. False in setters. */
48225 : false, /* isMovable. Not relevant for setters. */
48226 : false, /* isEliminatable. Not relevant for setters. */
48227 : false, /* isAlwaysInSlot. Only relevant for getters. */
48228 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48229 : false, /* isTypedMethod. Only relevant for methods. */
48230 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48231 : };
48232 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48233 : static_assert(0 < 1, "There is no slot for us");
48234 :
48235 : static bool
48236 0 : get__moz_animation_timing_function(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
48237 : {
48238 0 : binding_detail::FastErrorResult rv;
48239 0 : DOMString result;
48240 0 : self->GetMozAnimationTimingFunction(result, rv);
48241 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48242 0 : return false;
48243 : }
48244 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48245 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
48246 0 : return false;
48247 : }
48248 0 : return true;
48249 : }
48250 :
48251 : static bool
48252 0 : set__moz_animation_timing_function(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
48253 : {
48254 0 : binding_detail::FakeString arg0;
48255 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
48256 0 : return false;
48257 : }
48258 0 : binding_detail::FastErrorResult rv;
48259 0 : self->SetMozAnimationTimingFunction(NonNullHelper(Constify(arg0)), rv);
48260 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48261 0 : return false;
48262 : }
48263 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48264 :
48265 0 : return true;
48266 : }
48267 :
48268 : static const JSJitInfo _moz_animation_timing_function_getterinfo = {
48269 : { (JSJitGetterOp)get__moz_animation_timing_function },
48270 : { prototypes::id::CSS2Properties },
48271 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48272 : JSJitInfo::Getter,
48273 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48274 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
48275 : false, /* isInfallible. False in setters. */
48276 : false, /* isMovable. Not relevant for setters. */
48277 : false, /* isEliminatable. Not relevant for setters. */
48278 : false, /* isAlwaysInSlot. Only relevant for getters. */
48279 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48280 : false, /* isTypedMethod. Only relevant for methods. */
48281 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48282 : };
48283 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48284 : static_assert(0 < 1, "There is no slot for us");
48285 : static const JSJitInfo _moz_animation_timing_function_setterinfo = {
48286 : { (JSJitGetterOp)set__moz_animation_timing_function },
48287 : { prototypes::id::CSS2Properties },
48288 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48289 : JSJitInfo::Setter,
48290 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48291 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
48292 : false, /* isInfallible. False in setters. */
48293 : false, /* isMovable. Not relevant for setters. */
48294 : false, /* isEliminatable. Not relevant for setters. */
48295 : false, /* isAlwaysInSlot. Only relevant for getters. */
48296 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48297 : false, /* isTypedMethod. Only relevant for methods. */
48298 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48299 : };
48300 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48301 : static_assert(0 < 1, "There is no slot for us");
48302 :
48303 : static bool
48304 0 : get_MozBoxSizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
48305 : {
48306 0 : binding_detail::FastErrorResult rv;
48307 0 : DOMString result;
48308 0 : self->GetMozBoxSizing(result, rv);
48309 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48310 0 : return false;
48311 : }
48312 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48313 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
48314 0 : return false;
48315 : }
48316 0 : return true;
48317 : }
48318 :
48319 : static bool
48320 0 : set_MozBoxSizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
48321 : {
48322 0 : binding_detail::FakeString arg0;
48323 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
48324 0 : return false;
48325 : }
48326 0 : binding_detail::FastErrorResult rv;
48327 0 : self->SetMozBoxSizing(NonNullHelper(Constify(arg0)), rv);
48328 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48329 0 : return false;
48330 : }
48331 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48332 :
48333 0 : return true;
48334 : }
48335 :
48336 : static const JSJitInfo MozBoxSizing_getterinfo = {
48337 : { (JSJitGetterOp)get_MozBoxSizing },
48338 : { prototypes::id::CSS2Properties },
48339 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48340 : JSJitInfo::Getter,
48341 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48342 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
48343 : false, /* isInfallible. False in setters. */
48344 : false, /* isMovable. Not relevant for setters. */
48345 : false, /* isEliminatable. Not relevant for setters. */
48346 : false, /* isAlwaysInSlot. Only relevant for getters. */
48347 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48348 : false, /* isTypedMethod. Only relevant for methods. */
48349 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48350 : };
48351 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48352 : static_assert(0 < 1, "There is no slot for us");
48353 : static const JSJitInfo MozBoxSizing_setterinfo = {
48354 : { (JSJitGetterOp)set_MozBoxSizing },
48355 : { prototypes::id::CSS2Properties },
48356 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48357 : JSJitInfo::Setter,
48358 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48359 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
48360 : false, /* isInfallible. False in setters. */
48361 : false, /* isMovable. Not relevant for setters. */
48362 : false, /* isEliminatable. Not relevant for setters. */
48363 : false, /* isAlwaysInSlot. Only relevant for getters. */
48364 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48365 : false, /* isTypedMethod. Only relevant for methods. */
48366 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48367 : };
48368 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48369 : static_assert(0 < 1, "There is no slot for us");
48370 :
48371 : static bool
48372 0 : get__moz_box_sizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
48373 : {
48374 0 : binding_detail::FastErrorResult rv;
48375 0 : DOMString result;
48376 0 : self->GetMozBoxSizing(result, rv);
48377 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48378 0 : return false;
48379 : }
48380 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48381 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
48382 0 : return false;
48383 : }
48384 0 : return true;
48385 : }
48386 :
48387 : static bool
48388 0 : set__moz_box_sizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
48389 : {
48390 0 : binding_detail::FakeString arg0;
48391 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
48392 0 : return false;
48393 : }
48394 0 : binding_detail::FastErrorResult rv;
48395 0 : self->SetMozBoxSizing(NonNullHelper(Constify(arg0)), rv);
48396 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48397 0 : return false;
48398 : }
48399 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48400 :
48401 0 : return true;
48402 : }
48403 :
48404 : static const JSJitInfo _moz_box_sizing_getterinfo = {
48405 : { (JSJitGetterOp)get__moz_box_sizing },
48406 : { prototypes::id::CSS2Properties },
48407 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48408 : JSJitInfo::Getter,
48409 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48410 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
48411 : false, /* isInfallible. False in setters. */
48412 : false, /* isMovable. Not relevant for setters. */
48413 : false, /* isEliminatable. Not relevant for setters. */
48414 : false, /* isAlwaysInSlot. Only relevant for getters. */
48415 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48416 : false, /* isTypedMethod. Only relevant for methods. */
48417 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48418 : };
48419 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48420 : static_assert(0 < 1, "There is no slot for us");
48421 : static const JSJitInfo _moz_box_sizing_setterinfo = {
48422 : { (JSJitGetterOp)set__moz_box_sizing },
48423 : { prototypes::id::CSS2Properties },
48424 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48425 : JSJitInfo::Setter,
48426 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48427 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
48428 : false, /* isInfallible. False in setters. */
48429 : false, /* isMovable. Not relevant for setters. */
48430 : false, /* isEliminatable. Not relevant for setters. */
48431 : false, /* isAlwaysInSlot. Only relevant for getters. */
48432 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48433 : false, /* isTypedMethod. Only relevant for methods. */
48434 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48435 : };
48436 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48437 : static_assert(0 < 1, "There is no slot for us");
48438 :
48439 : static bool
48440 0 : get_MozFontFeatureSettings(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
48441 : {
48442 0 : binding_detail::FastErrorResult rv;
48443 0 : DOMString result;
48444 0 : self->GetMozFontFeatureSettings(result, rv);
48445 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48446 0 : return false;
48447 : }
48448 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48449 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
48450 0 : return false;
48451 : }
48452 0 : return true;
48453 : }
48454 :
48455 : static bool
48456 0 : set_MozFontFeatureSettings(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
48457 : {
48458 0 : binding_detail::FakeString arg0;
48459 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
48460 0 : return false;
48461 : }
48462 0 : binding_detail::FastErrorResult rv;
48463 0 : self->SetMozFontFeatureSettings(NonNullHelper(Constify(arg0)), rv);
48464 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48465 0 : return false;
48466 : }
48467 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48468 :
48469 0 : return true;
48470 : }
48471 :
48472 : static const JSJitInfo MozFontFeatureSettings_getterinfo = {
48473 : { (JSJitGetterOp)get_MozFontFeatureSettings },
48474 : { prototypes::id::CSS2Properties },
48475 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48476 : JSJitInfo::Getter,
48477 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48478 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
48479 : false, /* isInfallible. False in setters. */
48480 : false, /* isMovable. Not relevant for setters. */
48481 : false, /* isEliminatable. Not relevant for setters. */
48482 : false, /* isAlwaysInSlot. Only relevant for getters. */
48483 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48484 : false, /* isTypedMethod. Only relevant for methods. */
48485 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48486 : };
48487 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48488 : static_assert(0 < 1, "There is no slot for us");
48489 : static const JSJitInfo MozFontFeatureSettings_setterinfo = {
48490 : { (JSJitGetterOp)set_MozFontFeatureSettings },
48491 : { prototypes::id::CSS2Properties },
48492 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48493 : JSJitInfo::Setter,
48494 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48495 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
48496 : false, /* isInfallible. False in setters. */
48497 : false, /* isMovable. Not relevant for setters. */
48498 : false, /* isEliminatable. Not relevant for setters. */
48499 : false, /* isAlwaysInSlot. Only relevant for getters. */
48500 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48501 : false, /* isTypedMethod. Only relevant for methods. */
48502 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48503 : };
48504 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48505 : static_assert(0 < 1, "There is no slot for us");
48506 :
48507 : static bool
48508 0 : get__moz_font_feature_settings(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
48509 : {
48510 0 : binding_detail::FastErrorResult rv;
48511 0 : DOMString result;
48512 0 : self->GetMozFontFeatureSettings(result, rv);
48513 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48514 0 : return false;
48515 : }
48516 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48517 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
48518 0 : return false;
48519 : }
48520 0 : return true;
48521 : }
48522 :
48523 : static bool
48524 0 : set__moz_font_feature_settings(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
48525 : {
48526 0 : binding_detail::FakeString arg0;
48527 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
48528 0 : return false;
48529 : }
48530 0 : binding_detail::FastErrorResult rv;
48531 0 : self->SetMozFontFeatureSettings(NonNullHelper(Constify(arg0)), rv);
48532 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48533 0 : return false;
48534 : }
48535 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48536 :
48537 0 : return true;
48538 : }
48539 :
48540 : static const JSJitInfo _moz_font_feature_settings_getterinfo = {
48541 : { (JSJitGetterOp)get__moz_font_feature_settings },
48542 : { prototypes::id::CSS2Properties },
48543 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48544 : JSJitInfo::Getter,
48545 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48546 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
48547 : false, /* isInfallible. False in setters. */
48548 : false, /* isMovable. Not relevant for setters. */
48549 : false, /* isEliminatable. Not relevant for setters. */
48550 : false, /* isAlwaysInSlot. Only relevant for getters. */
48551 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48552 : false, /* isTypedMethod. Only relevant for methods. */
48553 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48554 : };
48555 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48556 : static_assert(0 < 1, "There is no slot for us");
48557 : static const JSJitInfo _moz_font_feature_settings_setterinfo = {
48558 : { (JSJitGetterOp)set__moz_font_feature_settings },
48559 : { prototypes::id::CSS2Properties },
48560 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48561 : JSJitInfo::Setter,
48562 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48563 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
48564 : false, /* isInfallible. False in setters. */
48565 : false, /* isMovable. Not relevant for setters. */
48566 : false, /* isEliminatable. Not relevant for setters. */
48567 : false, /* isAlwaysInSlot. Only relevant for getters. */
48568 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48569 : false, /* isTypedMethod. Only relevant for methods. */
48570 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48571 : };
48572 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48573 : static_assert(0 < 1, "There is no slot for us");
48574 :
48575 : static bool
48576 0 : get_MozFontLanguageOverride(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
48577 : {
48578 0 : binding_detail::FastErrorResult rv;
48579 0 : DOMString result;
48580 0 : self->GetMozFontLanguageOverride(result, rv);
48581 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48582 0 : return false;
48583 : }
48584 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48585 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
48586 0 : return false;
48587 : }
48588 0 : return true;
48589 : }
48590 :
48591 : static bool
48592 0 : set_MozFontLanguageOverride(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
48593 : {
48594 0 : binding_detail::FakeString arg0;
48595 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
48596 0 : return false;
48597 : }
48598 0 : binding_detail::FastErrorResult rv;
48599 0 : self->SetMozFontLanguageOverride(NonNullHelper(Constify(arg0)), rv);
48600 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48601 0 : return false;
48602 : }
48603 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48604 :
48605 0 : return true;
48606 : }
48607 :
48608 : static const JSJitInfo MozFontLanguageOverride_getterinfo = {
48609 : { (JSJitGetterOp)get_MozFontLanguageOverride },
48610 : { prototypes::id::CSS2Properties },
48611 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48612 : JSJitInfo::Getter,
48613 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48614 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
48615 : false, /* isInfallible. False in setters. */
48616 : false, /* isMovable. Not relevant for setters. */
48617 : false, /* isEliminatable. Not relevant for setters. */
48618 : false, /* isAlwaysInSlot. Only relevant for getters. */
48619 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48620 : false, /* isTypedMethod. Only relevant for methods. */
48621 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48622 : };
48623 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48624 : static_assert(0 < 1, "There is no slot for us");
48625 : static const JSJitInfo MozFontLanguageOverride_setterinfo = {
48626 : { (JSJitGetterOp)set_MozFontLanguageOverride },
48627 : { prototypes::id::CSS2Properties },
48628 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48629 : JSJitInfo::Setter,
48630 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48631 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
48632 : false, /* isInfallible. False in setters. */
48633 : false, /* isMovable. Not relevant for setters. */
48634 : false, /* isEliminatable. Not relevant for setters. */
48635 : false, /* isAlwaysInSlot. Only relevant for getters. */
48636 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48637 : false, /* isTypedMethod. Only relevant for methods. */
48638 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48639 : };
48640 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48641 : static_assert(0 < 1, "There is no slot for us");
48642 :
48643 : static bool
48644 0 : get__moz_font_language_override(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
48645 : {
48646 0 : binding_detail::FastErrorResult rv;
48647 0 : DOMString result;
48648 0 : self->GetMozFontLanguageOverride(result, rv);
48649 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48650 0 : return false;
48651 : }
48652 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48653 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
48654 0 : return false;
48655 : }
48656 0 : return true;
48657 : }
48658 :
48659 : static bool
48660 0 : set__moz_font_language_override(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
48661 : {
48662 0 : binding_detail::FakeString arg0;
48663 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
48664 0 : return false;
48665 : }
48666 0 : binding_detail::FastErrorResult rv;
48667 0 : self->SetMozFontLanguageOverride(NonNullHelper(Constify(arg0)), rv);
48668 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48669 0 : return false;
48670 : }
48671 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48672 :
48673 0 : return true;
48674 : }
48675 :
48676 : static const JSJitInfo _moz_font_language_override_getterinfo = {
48677 : { (JSJitGetterOp)get__moz_font_language_override },
48678 : { prototypes::id::CSS2Properties },
48679 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48680 : JSJitInfo::Getter,
48681 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48682 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
48683 : false, /* isInfallible. False in setters. */
48684 : false, /* isMovable. Not relevant for setters. */
48685 : false, /* isEliminatable. Not relevant for setters. */
48686 : false, /* isAlwaysInSlot. Only relevant for getters. */
48687 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48688 : false, /* isTypedMethod. Only relevant for methods. */
48689 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48690 : };
48691 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48692 : static_assert(0 < 1, "There is no slot for us");
48693 : static const JSJitInfo _moz_font_language_override_setterinfo = {
48694 : { (JSJitGetterOp)set__moz_font_language_override },
48695 : { prototypes::id::CSS2Properties },
48696 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48697 : JSJitInfo::Setter,
48698 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48699 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
48700 : false, /* isInfallible. False in setters. */
48701 : false, /* isMovable. Not relevant for setters. */
48702 : false, /* isEliminatable. Not relevant for setters. */
48703 : false, /* isAlwaysInSlot. Only relevant for getters. */
48704 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48705 : false, /* isTypedMethod. Only relevant for methods. */
48706 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48707 : };
48708 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48709 : static_assert(0 < 1, "There is no slot for us");
48710 :
48711 : static bool
48712 0 : get_MozPaddingEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
48713 : {
48714 0 : binding_detail::FastErrorResult rv;
48715 0 : DOMString result;
48716 0 : self->GetMozPaddingEnd(result, rv);
48717 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48718 0 : return false;
48719 : }
48720 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48721 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
48722 0 : return false;
48723 : }
48724 0 : return true;
48725 : }
48726 :
48727 : static bool
48728 0 : set_MozPaddingEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
48729 : {
48730 0 : binding_detail::FakeString arg0;
48731 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
48732 0 : return false;
48733 : }
48734 0 : binding_detail::FastErrorResult rv;
48735 0 : self->SetMozPaddingEnd(NonNullHelper(Constify(arg0)), rv);
48736 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48737 0 : return false;
48738 : }
48739 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48740 :
48741 0 : return true;
48742 : }
48743 :
48744 : static const JSJitInfo MozPaddingEnd_getterinfo = {
48745 : { (JSJitGetterOp)get_MozPaddingEnd },
48746 : { prototypes::id::CSS2Properties },
48747 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48748 : JSJitInfo::Getter,
48749 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48750 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
48751 : false, /* isInfallible. False in setters. */
48752 : false, /* isMovable. Not relevant for setters. */
48753 : false, /* isEliminatable. Not relevant for setters. */
48754 : false, /* isAlwaysInSlot. Only relevant for getters. */
48755 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48756 : false, /* isTypedMethod. Only relevant for methods. */
48757 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48758 : };
48759 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48760 : static_assert(0 < 1, "There is no slot for us");
48761 : static const JSJitInfo MozPaddingEnd_setterinfo = {
48762 : { (JSJitGetterOp)set_MozPaddingEnd },
48763 : { prototypes::id::CSS2Properties },
48764 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48765 : JSJitInfo::Setter,
48766 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48767 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
48768 : false, /* isInfallible. False in setters. */
48769 : false, /* isMovable. Not relevant for setters. */
48770 : false, /* isEliminatable. Not relevant for setters. */
48771 : false, /* isAlwaysInSlot. Only relevant for getters. */
48772 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48773 : false, /* isTypedMethod. Only relevant for methods. */
48774 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48775 : };
48776 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48777 : static_assert(0 < 1, "There is no slot for us");
48778 :
48779 : static bool
48780 0 : get__moz_padding_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
48781 : {
48782 0 : binding_detail::FastErrorResult rv;
48783 0 : DOMString result;
48784 0 : self->GetMozPaddingEnd(result, rv);
48785 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48786 0 : return false;
48787 : }
48788 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48789 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
48790 0 : return false;
48791 : }
48792 0 : return true;
48793 : }
48794 :
48795 : static bool
48796 0 : set__moz_padding_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
48797 : {
48798 0 : binding_detail::FakeString arg0;
48799 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
48800 0 : return false;
48801 : }
48802 0 : binding_detail::FastErrorResult rv;
48803 0 : self->SetMozPaddingEnd(NonNullHelper(Constify(arg0)), rv);
48804 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48805 0 : return false;
48806 : }
48807 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48808 :
48809 0 : return true;
48810 : }
48811 :
48812 : static const JSJitInfo _moz_padding_end_getterinfo = {
48813 : { (JSJitGetterOp)get__moz_padding_end },
48814 : { prototypes::id::CSS2Properties },
48815 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48816 : JSJitInfo::Getter,
48817 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48818 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
48819 : false, /* isInfallible. False in setters. */
48820 : false, /* isMovable. Not relevant for setters. */
48821 : false, /* isEliminatable. Not relevant for setters. */
48822 : false, /* isAlwaysInSlot. Only relevant for getters. */
48823 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48824 : false, /* isTypedMethod. Only relevant for methods. */
48825 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48826 : };
48827 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48828 : static_assert(0 < 1, "There is no slot for us");
48829 : static const JSJitInfo _moz_padding_end_setterinfo = {
48830 : { (JSJitGetterOp)set__moz_padding_end },
48831 : { prototypes::id::CSS2Properties },
48832 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48833 : JSJitInfo::Setter,
48834 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48835 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
48836 : false, /* isInfallible. False in setters. */
48837 : false, /* isMovable. Not relevant for setters. */
48838 : false, /* isEliminatable. Not relevant for setters. */
48839 : false, /* isAlwaysInSlot. Only relevant for getters. */
48840 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48841 : false, /* isTypedMethod. Only relevant for methods. */
48842 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48843 : };
48844 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48845 : static_assert(0 < 1, "There is no slot for us");
48846 :
48847 : static bool
48848 0 : get_MozPaddingStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
48849 : {
48850 0 : binding_detail::FastErrorResult rv;
48851 0 : DOMString result;
48852 0 : self->GetMozPaddingStart(result, rv);
48853 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48854 0 : return false;
48855 : }
48856 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48857 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
48858 0 : return false;
48859 : }
48860 0 : return true;
48861 : }
48862 :
48863 : static bool
48864 0 : set_MozPaddingStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
48865 : {
48866 0 : binding_detail::FakeString arg0;
48867 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
48868 0 : return false;
48869 : }
48870 0 : binding_detail::FastErrorResult rv;
48871 0 : self->SetMozPaddingStart(NonNullHelper(Constify(arg0)), rv);
48872 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48873 0 : return false;
48874 : }
48875 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48876 :
48877 0 : return true;
48878 : }
48879 :
48880 : static const JSJitInfo MozPaddingStart_getterinfo = {
48881 : { (JSJitGetterOp)get_MozPaddingStart },
48882 : { prototypes::id::CSS2Properties },
48883 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48884 : JSJitInfo::Getter,
48885 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48886 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
48887 : false, /* isInfallible. False in setters. */
48888 : false, /* isMovable. Not relevant for setters. */
48889 : false, /* isEliminatable. Not relevant for setters. */
48890 : false, /* isAlwaysInSlot. Only relevant for getters. */
48891 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48892 : false, /* isTypedMethod. Only relevant for methods. */
48893 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48894 : };
48895 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48896 : static_assert(0 < 1, "There is no slot for us");
48897 : static const JSJitInfo MozPaddingStart_setterinfo = {
48898 : { (JSJitGetterOp)set_MozPaddingStart },
48899 : { prototypes::id::CSS2Properties },
48900 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48901 : JSJitInfo::Setter,
48902 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48903 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
48904 : false, /* isInfallible. False in setters. */
48905 : false, /* isMovable. Not relevant for setters. */
48906 : false, /* isEliminatable. Not relevant for setters. */
48907 : false, /* isAlwaysInSlot. Only relevant for getters. */
48908 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48909 : false, /* isTypedMethod. Only relevant for methods. */
48910 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48911 : };
48912 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48913 : static_assert(0 < 1, "There is no slot for us");
48914 :
48915 : static bool
48916 0 : get__moz_padding_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
48917 : {
48918 0 : binding_detail::FastErrorResult rv;
48919 0 : DOMString result;
48920 0 : self->GetMozPaddingStart(result, rv);
48921 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48922 0 : return false;
48923 : }
48924 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48925 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
48926 0 : return false;
48927 : }
48928 0 : return true;
48929 : }
48930 :
48931 : static bool
48932 0 : set__moz_padding_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
48933 : {
48934 0 : binding_detail::FakeString arg0;
48935 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
48936 0 : return false;
48937 : }
48938 0 : binding_detail::FastErrorResult rv;
48939 0 : self->SetMozPaddingStart(NonNullHelper(Constify(arg0)), rv);
48940 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48941 0 : return false;
48942 : }
48943 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48944 :
48945 0 : return true;
48946 : }
48947 :
48948 : static const JSJitInfo _moz_padding_start_getterinfo = {
48949 : { (JSJitGetterOp)get__moz_padding_start },
48950 : { prototypes::id::CSS2Properties },
48951 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48952 : JSJitInfo::Getter,
48953 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48954 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
48955 : false, /* isInfallible. False in setters. */
48956 : false, /* isMovable. Not relevant for setters. */
48957 : false, /* isEliminatable. Not relevant for setters. */
48958 : false, /* isAlwaysInSlot. Only relevant for getters. */
48959 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48960 : false, /* isTypedMethod. Only relevant for methods. */
48961 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48962 : };
48963 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48964 : static_assert(0 < 1, "There is no slot for us");
48965 : static const JSJitInfo _moz_padding_start_setterinfo = {
48966 : { (JSJitGetterOp)set__moz_padding_start },
48967 : { prototypes::id::CSS2Properties },
48968 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
48969 : JSJitInfo::Setter,
48970 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
48971 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
48972 : false, /* isInfallible. False in setters. */
48973 : false, /* isMovable. Not relevant for setters. */
48974 : false, /* isEliminatable. Not relevant for setters. */
48975 : false, /* isAlwaysInSlot. Only relevant for getters. */
48976 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
48977 : false, /* isTypedMethod. Only relevant for methods. */
48978 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
48979 : };
48980 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
48981 : static_assert(0 < 1, "There is no slot for us");
48982 :
48983 : static bool
48984 0 : get_MozMarginEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
48985 : {
48986 0 : binding_detail::FastErrorResult rv;
48987 0 : DOMString result;
48988 0 : self->GetMozMarginEnd(result, rv);
48989 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
48990 0 : return false;
48991 : }
48992 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
48993 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
48994 0 : return false;
48995 : }
48996 0 : return true;
48997 : }
48998 :
48999 : static bool
49000 0 : set_MozMarginEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
49001 : {
49002 0 : binding_detail::FakeString arg0;
49003 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
49004 0 : return false;
49005 : }
49006 0 : binding_detail::FastErrorResult rv;
49007 0 : self->SetMozMarginEnd(NonNullHelper(Constify(arg0)), rv);
49008 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49009 0 : return false;
49010 : }
49011 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49012 :
49013 0 : return true;
49014 : }
49015 :
49016 : static const JSJitInfo MozMarginEnd_getterinfo = {
49017 : { (JSJitGetterOp)get_MozMarginEnd },
49018 : { prototypes::id::CSS2Properties },
49019 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49020 : JSJitInfo::Getter,
49021 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49022 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
49023 : false, /* isInfallible. False in setters. */
49024 : false, /* isMovable. Not relevant for setters. */
49025 : false, /* isEliminatable. Not relevant for setters. */
49026 : false, /* isAlwaysInSlot. Only relevant for getters. */
49027 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49028 : false, /* isTypedMethod. Only relevant for methods. */
49029 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49030 : };
49031 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49032 : static_assert(0 < 1, "There is no slot for us");
49033 : static const JSJitInfo MozMarginEnd_setterinfo = {
49034 : { (JSJitGetterOp)set_MozMarginEnd },
49035 : { prototypes::id::CSS2Properties },
49036 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49037 : JSJitInfo::Setter,
49038 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49039 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
49040 : false, /* isInfallible. False in setters. */
49041 : false, /* isMovable. Not relevant for setters. */
49042 : false, /* isEliminatable. Not relevant for setters. */
49043 : false, /* isAlwaysInSlot. Only relevant for getters. */
49044 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49045 : false, /* isTypedMethod. Only relevant for methods. */
49046 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49047 : };
49048 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49049 : static_assert(0 < 1, "There is no slot for us");
49050 :
49051 : static bool
49052 0 : get__moz_margin_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
49053 : {
49054 0 : binding_detail::FastErrorResult rv;
49055 0 : DOMString result;
49056 0 : self->GetMozMarginEnd(result, rv);
49057 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49058 0 : return false;
49059 : }
49060 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49061 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
49062 0 : return false;
49063 : }
49064 0 : return true;
49065 : }
49066 :
49067 : static bool
49068 0 : set__moz_margin_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
49069 : {
49070 0 : binding_detail::FakeString arg0;
49071 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
49072 0 : return false;
49073 : }
49074 0 : binding_detail::FastErrorResult rv;
49075 0 : self->SetMozMarginEnd(NonNullHelper(Constify(arg0)), rv);
49076 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49077 0 : return false;
49078 : }
49079 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49080 :
49081 0 : return true;
49082 : }
49083 :
49084 : static const JSJitInfo _moz_margin_end_getterinfo = {
49085 : { (JSJitGetterOp)get__moz_margin_end },
49086 : { prototypes::id::CSS2Properties },
49087 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49088 : JSJitInfo::Getter,
49089 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49090 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
49091 : false, /* isInfallible. False in setters. */
49092 : false, /* isMovable. Not relevant for setters. */
49093 : false, /* isEliminatable. Not relevant for setters. */
49094 : false, /* isAlwaysInSlot. Only relevant for getters. */
49095 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49096 : false, /* isTypedMethod. Only relevant for methods. */
49097 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49098 : };
49099 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49100 : static_assert(0 < 1, "There is no slot for us");
49101 : static const JSJitInfo _moz_margin_end_setterinfo = {
49102 : { (JSJitGetterOp)set__moz_margin_end },
49103 : { prototypes::id::CSS2Properties },
49104 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49105 : JSJitInfo::Setter,
49106 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49107 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
49108 : false, /* isInfallible. False in setters. */
49109 : false, /* isMovable. Not relevant for setters. */
49110 : false, /* isEliminatable. Not relevant for setters. */
49111 : false, /* isAlwaysInSlot. Only relevant for getters. */
49112 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49113 : false, /* isTypedMethod. Only relevant for methods. */
49114 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49115 : };
49116 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49117 : static_assert(0 < 1, "There is no slot for us");
49118 :
49119 : static bool
49120 0 : get_MozMarginStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
49121 : {
49122 0 : binding_detail::FastErrorResult rv;
49123 0 : DOMString result;
49124 0 : self->GetMozMarginStart(result, rv);
49125 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49126 0 : return false;
49127 : }
49128 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49129 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
49130 0 : return false;
49131 : }
49132 0 : return true;
49133 : }
49134 :
49135 : static bool
49136 0 : set_MozMarginStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
49137 : {
49138 0 : binding_detail::FakeString arg0;
49139 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
49140 0 : return false;
49141 : }
49142 0 : binding_detail::FastErrorResult rv;
49143 0 : self->SetMozMarginStart(NonNullHelper(Constify(arg0)), rv);
49144 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49145 0 : return false;
49146 : }
49147 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49148 :
49149 0 : return true;
49150 : }
49151 :
49152 : static const JSJitInfo MozMarginStart_getterinfo = {
49153 : { (JSJitGetterOp)get_MozMarginStart },
49154 : { prototypes::id::CSS2Properties },
49155 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49156 : JSJitInfo::Getter,
49157 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49158 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
49159 : false, /* isInfallible. False in setters. */
49160 : false, /* isMovable. Not relevant for setters. */
49161 : false, /* isEliminatable. Not relevant for setters. */
49162 : false, /* isAlwaysInSlot. Only relevant for getters. */
49163 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49164 : false, /* isTypedMethod. Only relevant for methods. */
49165 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49166 : };
49167 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49168 : static_assert(0 < 1, "There is no slot for us");
49169 : static const JSJitInfo MozMarginStart_setterinfo = {
49170 : { (JSJitGetterOp)set_MozMarginStart },
49171 : { prototypes::id::CSS2Properties },
49172 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49173 : JSJitInfo::Setter,
49174 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49175 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
49176 : false, /* isInfallible. False in setters. */
49177 : false, /* isMovable. Not relevant for setters. */
49178 : false, /* isEliminatable. Not relevant for setters. */
49179 : false, /* isAlwaysInSlot. Only relevant for getters. */
49180 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49181 : false, /* isTypedMethod. Only relevant for methods. */
49182 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49183 : };
49184 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49185 : static_assert(0 < 1, "There is no slot for us");
49186 :
49187 : static bool
49188 0 : get__moz_margin_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
49189 : {
49190 0 : binding_detail::FastErrorResult rv;
49191 0 : DOMString result;
49192 0 : self->GetMozMarginStart(result, rv);
49193 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49194 0 : return false;
49195 : }
49196 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49197 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
49198 0 : return false;
49199 : }
49200 0 : return true;
49201 : }
49202 :
49203 : static bool
49204 0 : set__moz_margin_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
49205 : {
49206 0 : binding_detail::FakeString arg0;
49207 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
49208 0 : return false;
49209 : }
49210 0 : binding_detail::FastErrorResult rv;
49211 0 : self->SetMozMarginStart(NonNullHelper(Constify(arg0)), rv);
49212 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49213 0 : return false;
49214 : }
49215 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49216 :
49217 0 : return true;
49218 : }
49219 :
49220 : static const JSJitInfo _moz_margin_start_getterinfo = {
49221 : { (JSJitGetterOp)get__moz_margin_start },
49222 : { prototypes::id::CSS2Properties },
49223 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49224 : JSJitInfo::Getter,
49225 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49226 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
49227 : false, /* isInfallible. False in setters. */
49228 : false, /* isMovable. Not relevant for setters. */
49229 : false, /* isEliminatable. Not relevant for setters. */
49230 : false, /* isAlwaysInSlot. Only relevant for getters. */
49231 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49232 : false, /* isTypedMethod. Only relevant for methods. */
49233 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49234 : };
49235 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49236 : static_assert(0 < 1, "There is no slot for us");
49237 : static const JSJitInfo _moz_margin_start_setterinfo = {
49238 : { (JSJitGetterOp)set__moz_margin_start },
49239 : { prototypes::id::CSS2Properties },
49240 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49241 : JSJitInfo::Setter,
49242 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49243 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
49244 : false, /* isInfallible. False in setters. */
49245 : false, /* isMovable. Not relevant for setters. */
49246 : false, /* isEliminatable. Not relevant for setters. */
49247 : false, /* isAlwaysInSlot. Only relevant for getters. */
49248 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49249 : false, /* isTypedMethod. Only relevant for methods. */
49250 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49251 : };
49252 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49253 : static_assert(0 < 1, "There is no slot for us");
49254 :
49255 : static bool
49256 0 : get_MozBorderEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
49257 : {
49258 0 : binding_detail::FastErrorResult rv;
49259 0 : DOMString result;
49260 0 : self->GetMozBorderEnd(result, rv);
49261 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49262 0 : return false;
49263 : }
49264 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49265 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
49266 0 : return false;
49267 : }
49268 0 : return true;
49269 : }
49270 :
49271 : static bool
49272 0 : set_MozBorderEnd(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
49273 : {
49274 0 : binding_detail::FakeString arg0;
49275 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
49276 0 : return false;
49277 : }
49278 0 : binding_detail::FastErrorResult rv;
49279 0 : self->SetMozBorderEnd(NonNullHelper(Constify(arg0)), rv);
49280 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49281 0 : return false;
49282 : }
49283 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49284 :
49285 0 : return true;
49286 : }
49287 :
49288 : static const JSJitInfo MozBorderEnd_getterinfo = {
49289 : { (JSJitGetterOp)get_MozBorderEnd },
49290 : { prototypes::id::CSS2Properties },
49291 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49292 : JSJitInfo::Getter,
49293 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49294 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
49295 : false, /* isInfallible. False in setters. */
49296 : false, /* isMovable. Not relevant for setters. */
49297 : false, /* isEliminatable. Not relevant for setters. */
49298 : false, /* isAlwaysInSlot. Only relevant for getters. */
49299 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49300 : false, /* isTypedMethod. Only relevant for methods. */
49301 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49302 : };
49303 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49304 : static_assert(0 < 1, "There is no slot for us");
49305 : static const JSJitInfo MozBorderEnd_setterinfo = {
49306 : { (JSJitGetterOp)set_MozBorderEnd },
49307 : { prototypes::id::CSS2Properties },
49308 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49309 : JSJitInfo::Setter,
49310 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49311 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
49312 : false, /* isInfallible. False in setters. */
49313 : false, /* isMovable. Not relevant for setters. */
49314 : false, /* isEliminatable. Not relevant for setters. */
49315 : false, /* isAlwaysInSlot. Only relevant for getters. */
49316 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49317 : false, /* isTypedMethod. Only relevant for methods. */
49318 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49319 : };
49320 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49321 : static_assert(0 < 1, "There is no slot for us");
49322 :
49323 : static bool
49324 0 : get__moz_border_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
49325 : {
49326 0 : binding_detail::FastErrorResult rv;
49327 0 : DOMString result;
49328 0 : self->GetMozBorderEnd(result, rv);
49329 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49330 0 : return false;
49331 : }
49332 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49333 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
49334 0 : return false;
49335 : }
49336 0 : return true;
49337 : }
49338 :
49339 : static bool
49340 0 : set__moz_border_end(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
49341 : {
49342 0 : binding_detail::FakeString arg0;
49343 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
49344 0 : return false;
49345 : }
49346 0 : binding_detail::FastErrorResult rv;
49347 0 : self->SetMozBorderEnd(NonNullHelper(Constify(arg0)), rv);
49348 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49349 0 : return false;
49350 : }
49351 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49352 :
49353 0 : return true;
49354 : }
49355 :
49356 : static const JSJitInfo _moz_border_end_getterinfo = {
49357 : { (JSJitGetterOp)get__moz_border_end },
49358 : { prototypes::id::CSS2Properties },
49359 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49360 : JSJitInfo::Getter,
49361 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49362 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
49363 : false, /* isInfallible. False in setters. */
49364 : false, /* isMovable. Not relevant for setters. */
49365 : false, /* isEliminatable. Not relevant for setters. */
49366 : false, /* isAlwaysInSlot. Only relevant for getters. */
49367 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49368 : false, /* isTypedMethod. Only relevant for methods. */
49369 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49370 : };
49371 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49372 : static_assert(0 < 1, "There is no slot for us");
49373 : static const JSJitInfo _moz_border_end_setterinfo = {
49374 : { (JSJitGetterOp)set__moz_border_end },
49375 : { prototypes::id::CSS2Properties },
49376 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49377 : JSJitInfo::Setter,
49378 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49379 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
49380 : false, /* isInfallible. False in setters. */
49381 : false, /* isMovable. Not relevant for setters. */
49382 : false, /* isEliminatable. Not relevant for setters. */
49383 : false, /* isAlwaysInSlot. Only relevant for getters. */
49384 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49385 : false, /* isTypedMethod. Only relevant for methods. */
49386 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49387 : };
49388 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49389 : static_assert(0 < 1, "There is no slot for us");
49390 :
49391 : static bool
49392 0 : get_MozBorderEndColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
49393 : {
49394 0 : binding_detail::FastErrorResult rv;
49395 0 : DOMString result;
49396 0 : self->GetMozBorderEndColor(result, rv);
49397 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49398 0 : return false;
49399 : }
49400 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49401 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
49402 0 : return false;
49403 : }
49404 0 : return true;
49405 : }
49406 :
49407 : static bool
49408 0 : set_MozBorderEndColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
49409 : {
49410 0 : binding_detail::FakeString arg0;
49411 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
49412 0 : return false;
49413 : }
49414 0 : binding_detail::FastErrorResult rv;
49415 0 : self->SetMozBorderEndColor(NonNullHelper(Constify(arg0)), rv);
49416 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49417 0 : return false;
49418 : }
49419 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49420 :
49421 0 : return true;
49422 : }
49423 :
49424 : static const JSJitInfo MozBorderEndColor_getterinfo = {
49425 : { (JSJitGetterOp)get_MozBorderEndColor },
49426 : { prototypes::id::CSS2Properties },
49427 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49428 : JSJitInfo::Getter,
49429 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49430 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
49431 : false, /* isInfallible. False in setters. */
49432 : false, /* isMovable. Not relevant for setters. */
49433 : false, /* isEliminatable. Not relevant for setters. */
49434 : false, /* isAlwaysInSlot. Only relevant for getters. */
49435 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49436 : false, /* isTypedMethod. Only relevant for methods. */
49437 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49438 : };
49439 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49440 : static_assert(0 < 1, "There is no slot for us");
49441 : static const JSJitInfo MozBorderEndColor_setterinfo = {
49442 : { (JSJitGetterOp)set_MozBorderEndColor },
49443 : { prototypes::id::CSS2Properties },
49444 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49445 : JSJitInfo::Setter,
49446 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49447 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
49448 : false, /* isInfallible. False in setters. */
49449 : false, /* isMovable. Not relevant for setters. */
49450 : false, /* isEliminatable. Not relevant for setters. */
49451 : false, /* isAlwaysInSlot. Only relevant for getters. */
49452 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49453 : false, /* isTypedMethod. Only relevant for methods. */
49454 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49455 : };
49456 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49457 : static_assert(0 < 1, "There is no slot for us");
49458 :
49459 : static bool
49460 0 : get__moz_border_end_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
49461 : {
49462 0 : binding_detail::FastErrorResult rv;
49463 0 : DOMString result;
49464 0 : self->GetMozBorderEndColor(result, rv);
49465 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49466 0 : return false;
49467 : }
49468 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49469 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
49470 0 : return false;
49471 : }
49472 0 : return true;
49473 : }
49474 :
49475 : static bool
49476 0 : set__moz_border_end_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
49477 : {
49478 0 : binding_detail::FakeString arg0;
49479 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
49480 0 : return false;
49481 : }
49482 0 : binding_detail::FastErrorResult rv;
49483 0 : self->SetMozBorderEndColor(NonNullHelper(Constify(arg0)), rv);
49484 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49485 0 : return false;
49486 : }
49487 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49488 :
49489 0 : return true;
49490 : }
49491 :
49492 : static const JSJitInfo _moz_border_end_color_getterinfo = {
49493 : { (JSJitGetterOp)get__moz_border_end_color },
49494 : { prototypes::id::CSS2Properties },
49495 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49496 : JSJitInfo::Getter,
49497 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49498 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
49499 : false, /* isInfallible. False in setters. */
49500 : false, /* isMovable. Not relevant for setters. */
49501 : false, /* isEliminatable. Not relevant for setters. */
49502 : false, /* isAlwaysInSlot. Only relevant for getters. */
49503 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49504 : false, /* isTypedMethod. Only relevant for methods. */
49505 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49506 : };
49507 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49508 : static_assert(0 < 1, "There is no slot for us");
49509 : static const JSJitInfo _moz_border_end_color_setterinfo = {
49510 : { (JSJitGetterOp)set__moz_border_end_color },
49511 : { prototypes::id::CSS2Properties },
49512 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49513 : JSJitInfo::Setter,
49514 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49515 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
49516 : false, /* isInfallible. False in setters. */
49517 : false, /* isMovable. Not relevant for setters. */
49518 : false, /* isEliminatable. Not relevant for setters. */
49519 : false, /* isAlwaysInSlot. Only relevant for getters. */
49520 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49521 : false, /* isTypedMethod. Only relevant for methods. */
49522 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49523 : };
49524 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49525 : static_assert(0 < 1, "There is no slot for us");
49526 :
49527 : static bool
49528 0 : get_MozBorderEndStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
49529 : {
49530 0 : binding_detail::FastErrorResult rv;
49531 0 : DOMString result;
49532 0 : self->GetMozBorderEndStyle(result, rv);
49533 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49534 0 : return false;
49535 : }
49536 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49537 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
49538 0 : return false;
49539 : }
49540 0 : return true;
49541 : }
49542 :
49543 : static bool
49544 0 : set_MozBorderEndStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
49545 : {
49546 0 : binding_detail::FakeString arg0;
49547 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
49548 0 : return false;
49549 : }
49550 0 : binding_detail::FastErrorResult rv;
49551 0 : self->SetMozBorderEndStyle(NonNullHelper(Constify(arg0)), rv);
49552 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49553 0 : return false;
49554 : }
49555 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49556 :
49557 0 : return true;
49558 : }
49559 :
49560 : static const JSJitInfo MozBorderEndStyle_getterinfo = {
49561 : { (JSJitGetterOp)get_MozBorderEndStyle },
49562 : { prototypes::id::CSS2Properties },
49563 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49564 : JSJitInfo::Getter,
49565 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49566 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
49567 : false, /* isInfallible. False in setters. */
49568 : false, /* isMovable. Not relevant for setters. */
49569 : false, /* isEliminatable. Not relevant for setters. */
49570 : false, /* isAlwaysInSlot. Only relevant for getters. */
49571 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49572 : false, /* isTypedMethod. Only relevant for methods. */
49573 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49574 : };
49575 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49576 : static_assert(0 < 1, "There is no slot for us");
49577 : static const JSJitInfo MozBorderEndStyle_setterinfo = {
49578 : { (JSJitGetterOp)set_MozBorderEndStyle },
49579 : { prototypes::id::CSS2Properties },
49580 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49581 : JSJitInfo::Setter,
49582 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49583 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
49584 : false, /* isInfallible. False in setters. */
49585 : false, /* isMovable. Not relevant for setters. */
49586 : false, /* isEliminatable. Not relevant for setters. */
49587 : false, /* isAlwaysInSlot. Only relevant for getters. */
49588 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49589 : false, /* isTypedMethod. Only relevant for methods. */
49590 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49591 : };
49592 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49593 : static_assert(0 < 1, "There is no slot for us");
49594 :
49595 : static bool
49596 0 : get__moz_border_end_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
49597 : {
49598 0 : binding_detail::FastErrorResult rv;
49599 0 : DOMString result;
49600 0 : self->GetMozBorderEndStyle(result, rv);
49601 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49602 0 : return false;
49603 : }
49604 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49605 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
49606 0 : return false;
49607 : }
49608 0 : return true;
49609 : }
49610 :
49611 : static bool
49612 0 : set__moz_border_end_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
49613 : {
49614 0 : binding_detail::FakeString arg0;
49615 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
49616 0 : return false;
49617 : }
49618 0 : binding_detail::FastErrorResult rv;
49619 0 : self->SetMozBorderEndStyle(NonNullHelper(Constify(arg0)), rv);
49620 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49621 0 : return false;
49622 : }
49623 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49624 :
49625 0 : return true;
49626 : }
49627 :
49628 : static const JSJitInfo _moz_border_end_style_getterinfo = {
49629 : { (JSJitGetterOp)get__moz_border_end_style },
49630 : { prototypes::id::CSS2Properties },
49631 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49632 : JSJitInfo::Getter,
49633 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49634 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
49635 : false, /* isInfallible. False in setters. */
49636 : false, /* isMovable. Not relevant for setters. */
49637 : false, /* isEliminatable. Not relevant for setters. */
49638 : false, /* isAlwaysInSlot. Only relevant for getters. */
49639 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49640 : false, /* isTypedMethod. Only relevant for methods. */
49641 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49642 : };
49643 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49644 : static_assert(0 < 1, "There is no slot for us");
49645 : static const JSJitInfo _moz_border_end_style_setterinfo = {
49646 : { (JSJitGetterOp)set__moz_border_end_style },
49647 : { prototypes::id::CSS2Properties },
49648 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49649 : JSJitInfo::Setter,
49650 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49651 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
49652 : false, /* isInfallible. False in setters. */
49653 : false, /* isMovable. Not relevant for setters. */
49654 : false, /* isEliminatable. Not relevant for setters. */
49655 : false, /* isAlwaysInSlot. Only relevant for getters. */
49656 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49657 : false, /* isTypedMethod. Only relevant for methods. */
49658 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49659 : };
49660 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49661 : static_assert(0 < 1, "There is no slot for us");
49662 :
49663 : static bool
49664 0 : get_MozBorderEndWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
49665 : {
49666 0 : binding_detail::FastErrorResult rv;
49667 0 : DOMString result;
49668 0 : self->GetMozBorderEndWidth(result, rv);
49669 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49670 0 : return false;
49671 : }
49672 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49673 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
49674 0 : return false;
49675 : }
49676 0 : return true;
49677 : }
49678 :
49679 : static bool
49680 0 : set_MozBorderEndWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
49681 : {
49682 0 : binding_detail::FakeString arg0;
49683 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
49684 0 : return false;
49685 : }
49686 0 : binding_detail::FastErrorResult rv;
49687 0 : self->SetMozBorderEndWidth(NonNullHelper(Constify(arg0)), rv);
49688 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49689 0 : return false;
49690 : }
49691 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49692 :
49693 0 : return true;
49694 : }
49695 :
49696 : static const JSJitInfo MozBorderEndWidth_getterinfo = {
49697 : { (JSJitGetterOp)get_MozBorderEndWidth },
49698 : { prototypes::id::CSS2Properties },
49699 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49700 : JSJitInfo::Getter,
49701 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49702 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
49703 : false, /* isInfallible. False in setters. */
49704 : false, /* isMovable. Not relevant for setters. */
49705 : false, /* isEliminatable. Not relevant for setters. */
49706 : false, /* isAlwaysInSlot. Only relevant for getters. */
49707 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49708 : false, /* isTypedMethod. Only relevant for methods. */
49709 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49710 : };
49711 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49712 : static_assert(0 < 1, "There is no slot for us");
49713 : static const JSJitInfo MozBorderEndWidth_setterinfo = {
49714 : { (JSJitGetterOp)set_MozBorderEndWidth },
49715 : { prototypes::id::CSS2Properties },
49716 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49717 : JSJitInfo::Setter,
49718 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49719 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
49720 : false, /* isInfallible. False in setters. */
49721 : false, /* isMovable. Not relevant for setters. */
49722 : false, /* isEliminatable. Not relevant for setters. */
49723 : false, /* isAlwaysInSlot. Only relevant for getters. */
49724 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49725 : false, /* isTypedMethod. Only relevant for methods. */
49726 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49727 : };
49728 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49729 : static_assert(0 < 1, "There is no slot for us");
49730 :
49731 : static bool
49732 0 : get__moz_border_end_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
49733 : {
49734 0 : binding_detail::FastErrorResult rv;
49735 0 : DOMString result;
49736 0 : self->GetMozBorderEndWidth(result, rv);
49737 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49738 0 : return false;
49739 : }
49740 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49741 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
49742 0 : return false;
49743 : }
49744 0 : return true;
49745 : }
49746 :
49747 : static bool
49748 0 : set__moz_border_end_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
49749 : {
49750 0 : binding_detail::FakeString arg0;
49751 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
49752 0 : return false;
49753 : }
49754 0 : binding_detail::FastErrorResult rv;
49755 0 : self->SetMozBorderEndWidth(NonNullHelper(Constify(arg0)), rv);
49756 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49757 0 : return false;
49758 : }
49759 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49760 :
49761 0 : return true;
49762 : }
49763 :
49764 : static const JSJitInfo _moz_border_end_width_getterinfo = {
49765 : { (JSJitGetterOp)get__moz_border_end_width },
49766 : { prototypes::id::CSS2Properties },
49767 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49768 : JSJitInfo::Getter,
49769 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49770 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
49771 : false, /* isInfallible. False in setters. */
49772 : false, /* isMovable. Not relevant for setters. */
49773 : false, /* isEliminatable. Not relevant for setters. */
49774 : false, /* isAlwaysInSlot. Only relevant for getters. */
49775 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49776 : false, /* isTypedMethod. Only relevant for methods. */
49777 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49778 : };
49779 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49780 : static_assert(0 < 1, "There is no slot for us");
49781 : static const JSJitInfo _moz_border_end_width_setterinfo = {
49782 : { (JSJitGetterOp)set__moz_border_end_width },
49783 : { prototypes::id::CSS2Properties },
49784 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49785 : JSJitInfo::Setter,
49786 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49787 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
49788 : false, /* isInfallible. False in setters. */
49789 : false, /* isMovable. Not relevant for setters. */
49790 : false, /* isEliminatable. Not relevant for setters. */
49791 : false, /* isAlwaysInSlot. Only relevant for getters. */
49792 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49793 : false, /* isTypedMethod. Only relevant for methods. */
49794 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49795 : };
49796 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49797 : static_assert(0 < 1, "There is no slot for us");
49798 :
49799 : static bool
49800 0 : get_MozBorderStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
49801 : {
49802 0 : binding_detail::FastErrorResult rv;
49803 0 : DOMString result;
49804 0 : self->GetMozBorderStart(result, rv);
49805 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49806 0 : return false;
49807 : }
49808 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49809 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
49810 0 : return false;
49811 : }
49812 0 : return true;
49813 : }
49814 :
49815 : static bool
49816 0 : set_MozBorderStart(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
49817 : {
49818 0 : binding_detail::FakeString arg0;
49819 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
49820 0 : return false;
49821 : }
49822 0 : binding_detail::FastErrorResult rv;
49823 0 : self->SetMozBorderStart(NonNullHelper(Constify(arg0)), rv);
49824 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49825 0 : return false;
49826 : }
49827 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49828 :
49829 0 : return true;
49830 : }
49831 :
49832 : static const JSJitInfo MozBorderStart_getterinfo = {
49833 : { (JSJitGetterOp)get_MozBorderStart },
49834 : { prototypes::id::CSS2Properties },
49835 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49836 : JSJitInfo::Getter,
49837 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49838 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
49839 : false, /* isInfallible. False in setters. */
49840 : false, /* isMovable. Not relevant for setters. */
49841 : false, /* isEliminatable. Not relevant for setters. */
49842 : false, /* isAlwaysInSlot. Only relevant for getters. */
49843 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49844 : false, /* isTypedMethod. Only relevant for methods. */
49845 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49846 : };
49847 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49848 : static_assert(0 < 1, "There is no slot for us");
49849 : static const JSJitInfo MozBorderStart_setterinfo = {
49850 : { (JSJitGetterOp)set_MozBorderStart },
49851 : { prototypes::id::CSS2Properties },
49852 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49853 : JSJitInfo::Setter,
49854 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49855 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
49856 : false, /* isInfallible. False in setters. */
49857 : false, /* isMovable. Not relevant for setters. */
49858 : false, /* isEliminatable. Not relevant for setters. */
49859 : false, /* isAlwaysInSlot. Only relevant for getters. */
49860 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49861 : false, /* isTypedMethod. Only relevant for methods. */
49862 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49863 : };
49864 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49865 : static_assert(0 < 1, "There is no slot for us");
49866 :
49867 : static bool
49868 0 : get__moz_border_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
49869 : {
49870 0 : binding_detail::FastErrorResult rv;
49871 0 : DOMString result;
49872 0 : self->GetMozBorderStart(result, rv);
49873 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49874 0 : return false;
49875 : }
49876 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49877 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
49878 0 : return false;
49879 : }
49880 0 : return true;
49881 : }
49882 :
49883 : static bool
49884 0 : set__moz_border_start(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
49885 : {
49886 0 : binding_detail::FakeString arg0;
49887 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
49888 0 : return false;
49889 : }
49890 0 : binding_detail::FastErrorResult rv;
49891 0 : self->SetMozBorderStart(NonNullHelper(Constify(arg0)), rv);
49892 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49893 0 : return false;
49894 : }
49895 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49896 :
49897 0 : return true;
49898 : }
49899 :
49900 : static const JSJitInfo _moz_border_start_getterinfo = {
49901 : { (JSJitGetterOp)get__moz_border_start },
49902 : { prototypes::id::CSS2Properties },
49903 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49904 : JSJitInfo::Getter,
49905 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49906 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
49907 : false, /* isInfallible. False in setters. */
49908 : false, /* isMovable. Not relevant for setters. */
49909 : false, /* isEliminatable. Not relevant for setters. */
49910 : false, /* isAlwaysInSlot. Only relevant for getters. */
49911 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49912 : false, /* isTypedMethod. Only relevant for methods. */
49913 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49914 : };
49915 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49916 : static_assert(0 < 1, "There is no slot for us");
49917 : static const JSJitInfo _moz_border_start_setterinfo = {
49918 : { (JSJitGetterOp)set__moz_border_start },
49919 : { prototypes::id::CSS2Properties },
49920 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49921 : JSJitInfo::Setter,
49922 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49923 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
49924 : false, /* isInfallible. False in setters. */
49925 : false, /* isMovable. Not relevant for setters. */
49926 : false, /* isEliminatable. Not relevant for setters. */
49927 : false, /* isAlwaysInSlot. Only relevant for getters. */
49928 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49929 : false, /* isTypedMethod. Only relevant for methods. */
49930 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49931 : };
49932 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49933 : static_assert(0 < 1, "There is no slot for us");
49934 :
49935 : static bool
49936 0 : get_MozBorderStartColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
49937 : {
49938 0 : binding_detail::FastErrorResult rv;
49939 0 : DOMString result;
49940 0 : self->GetMozBorderStartColor(result, rv);
49941 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49942 0 : return false;
49943 : }
49944 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49945 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
49946 0 : return false;
49947 : }
49948 0 : return true;
49949 : }
49950 :
49951 : static bool
49952 0 : set_MozBorderStartColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
49953 : {
49954 0 : binding_detail::FakeString arg0;
49955 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
49956 0 : return false;
49957 : }
49958 0 : binding_detail::FastErrorResult rv;
49959 0 : self->SetMozBorderStartColor(NonNullHelper(Constify(arg0)), rv);
49960 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
49961 0 : return false;
49962 : }
49963 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
49964 :
49965 0 : return true;
49966 : }
49967 :
49968 : static const JSJitInfo MozBorderStartColor_getterinfo = {
49969 : { (JSJitGetterOp)get_MozBorderStartColor },
49970 : { prototypes::id::CSS2Properties },
49971 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49972 : JSJitInfo::Getter,
49973 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49974 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
49975 : false, /* isInfallible. False in setters. */
49976 : false, /* isMovable. Not relevant for setters. */
49977 : false, /* isEliminatable. Not relevant for setters. */
49978 : false, /* isAlwaysInSlot. Only relevant for getters. */
49979 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49980 : false, /* isTypedMethod. Only relevant for methods. */
49981 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49982 : };
49983 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
49984 : static_assert(0 < 1, "There is no slot for us");
49985 : static const JSJitInfo MozBorderStartColor_setterinfo = {
49986 : { (JSJitGetterOp)set_MozBorderStartColor },
49987 : { prototypes::id::CSS2Properties },
49988 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
49989 : JSJitInfo::Setter,
49990 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
49991 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
49992 : false, /* isInfallible. False in setters. */
49993 : false, /* isMovable. Not relevant for setters. */
49994 : false, /* isEliminatable. Not relevant for setters. */
49995 : false, /* isAlwaysInSlot. Only relevant for getters. */
49996 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
49997 : false, /* isTypedMethod. Only relevant for methods. */
49998 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
49999 : };
50000 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50001 : static_assert(0 < 1, "There is no slot for us");
50002 :
50003 : static bool
50004 0 : get__moz_border_start_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
50005 : {
50006 0 : binding_detail::FastErrorResult rv;
50007 0 : DOMString result;
50008 0 : self->GetMozBorderStartColor(result, rv);
50009 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50010 0 : return false;
50011 : }
50012 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50013 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
50014 0 : return false;
50015 : }
50016 0 : return true;
50017 : }
50018 :
50019 : static bool
50020 0 : set__moz_border_start_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
50021 : {
50022 0 : binding_detail::FakeString arg0;
50023 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
50024 0 : return false;
50025 : }
50026 0 : binding_detail::FastErrorResult rv;
50027 0 : self->SetMozBorderStartColor(NonNullHelper(Constify(arg0)), rv);
50028 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50029 0 : return false;
50030 : }
50031 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50032 :
50033 0 : return true;
50034 : }
50035 :
50036 : static const JSJitInfo _moz_border_start_color_getterinfo = {
50037 : { (JSJitGetterOp)get__moz_border_start_color },
50038 : { prototypes::id::CSS2Properties },
50039 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50040 : JSJitInfo::Getter,
50041 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50042 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
50043 : false, /* isInfallible. False in setters. */
50044 : false, /* isMovable. Not relevant for setters. */
50045 : false, /* isEliminatable. Not relevant for setters. */
50046 : false, /* isAlwaysInSlot. Only relevant for getters. */
50047 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50048 : false, /* isTypedMethod. Only relevant for methods. */
50049 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50050 : };
50051 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50052 : static_assert(0 < 1, "There is no slot for us");
50053 : static const JSJitInfo _moz_border_start_color_setterinfo = {
50054 : { (JSJitGetterOp)set__moz_border_start_color },
50055 : { prototypes::id::CSS2Properties },
50056 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50057 : JSJitInfo::Setter,
50058 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50059 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
50060 : false, /* isInfallible. False in setters. */
50061 : false, /* isMovable. Not relevant for setters. */
50062 : false, /* isEliminatable. Not relevant for setters. */
50063 : false, /* isAlwaysInSlot. Only relevant for getters. */
50064 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50065 : false, /* isTypedMethod. Only relevant for methods. */
50066 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50067 : };
50068 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50069 : static_assert(0 < 1, "There is no slot for us");
50070 :
50071 : static bool
50072 0 : get_MozBorderStartStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
50073 : {
50074 0 : binding_detail::FastErrorResult rv;
50075 0 : DOMString result;
50076 0 : self->GetMozBorderStartStyle(result, rv);
50077 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50078 0 : return false;
50079 : }
50080 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50081 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
50082 0 : return false;
50083 : }
50084 0 : return true;
50085 : }
50086 :
50087 : static bool
50088 0 : set_MozBorderStartStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
50089 : {
50090 0 : binding_detail::FakeString arg0;
50091 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
50092 0 : return false;
50093 : }
50094 0 : binding_detail::FastErrorResult rv;
50095 0 : self->SetMozBorderStartStyle(NonNullHelper(Constify(arg0)), rv);
50096 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50097 0 : return false;
50098 : }
50099 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50100 :
50101 0 : return true;
50102 : }
50103 :
50104 : static const JSJitInfo MozBorderStartStyle_getterinfo = {
50105 : { (JSJitGetterOp)get_MozBorderStartStyle },
50106 : { prototypes::id::CSS2Properties },
50107 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50108 : JSJitInfo::Getter,
50109 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50110 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
50111 : false, /* isInfallible. False in setters. */
50112 : false, /* isMovable. Not relevant for setters. */
50113 : false, /* isEliminatable. Not relevant for setters. */
50114 : false, /* isAlwaysInSlot. Only relevant for getters. */
50115 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50116 : false, /* isTypedMethod. Only relevant for methods. */
50117 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50118 : };
50119 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50120 : static_assert(0 < 1, "There is no slot for us");
50121 : static const JSJitInfo MozBorderStartStyle_setterinfo = {
50122 : { (JSJitGetterOp)set_MozBorderStartStyle },
50123 : { prototypes::id::CSS2Properties },
50124 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50125 : JSJitInfo::Setter,
50126 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50127 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
50128 : false, /* isInfallible. False in setters. */
50129 : false, /* isMovable. Not relevant for setters. */
50130 : false, /* isEliminatable. Not relevant for setters. */
50131 : false, /* isAlwaysInSlot. Only relevant for getters. */
50132 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50133 : false, /* isTypedMethod. Only relevant for methods. */
50134 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50135 : };
50136 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50137 : static_assert(0 < 1, "There is no slot for us");
50138 :
50139 : static bool
50140 0 : get__moz_border_start_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
50141 : {
50142 0 : binding_detail::FastErrorResult rv;
50143 0 : DOMString result;
50144 0 : self->GetMozBorderStartStyle(result, rv);
50145 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50146 0 : return false;
50147 : }
50148 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50149 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
50150 0 : return false;
50151 : }
50152 0 : return true;
50153 : }
50154 :
50155 : static bool
50156 0 : set__moz_border_start_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
50157 : {
50158 0 : binding_detail::FakeString arg0;
50159 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
50160 0 : return false;
50161 : }
50162 0 : binding_detail::FastErrorResult rv;
50163 0 : self->SetMozBorderStartStyle(NonNullHelper(Constify(arg0)), rv);
50164 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50165 0 : return false;
50166 : }
50167 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50168 :
50169 0 : return true;
50170 : }
50171 :
50172 : static const JSJitInfo _moz_border_start_style_getterinfo = {
50173 : { (JSJitGetterOp)get__moz_border_start_style },
50174 : { prototypes::id::CSS2Properties },
50175 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50176 : JSJitInfo::Getter,
50177 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50178 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
50179 : false, /* isInfallible. False in setters. */
50180 : false, /* isMovable. Not relevant for setters. */
50181 : false, /* isEliminatable. Not relevant for setters. */
50182 : false, /* isAlwaysInSlot. Only relevant for getters. */
50183 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50184 : false, /* isTypedMethod. Only relevant for methods. */
50185 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50186 : };
50187 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50188 : static_assert(0 < 1, "There is no slot for us");
50189 : static const JSJitInfo _moz_border_start_style_setterinfo = {
50190 : { (JSJitGetterOp)set__moz_border_start_style },
50191 : { prototypes::id::CSS2Properties },
50192 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50193 : JSJitInfo::Setter,
50194 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50195 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
50196 : false, /* isInfallible. False in setters. */
50197 : false, /* isMovable. Not relevant for setters. */
50198 : false, /* isEliminatable. Not relevant for setters. */
50199 : false, /* isAlwaysInSlot. Only relevant for getters. */
50200 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50201 : false, /* isTypedMethod. Only relevant for methods. */
50202 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50203 : };
50204 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50205 : static_assert(0 < 1, "There is no slot for us");
50206 :
50207 : static bool
50208 0 : get_MozBorderStartWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
50209 : {
50210 0 : binding_detail::FastErrorResult rv;
50211 0 : DOMString result;
50212 0 : self->GetMozBorderStartWidth(result, rv);
50213 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50214 0 : return false;
50215 : }
50216 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50217 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
50218 0 : return false;
50219 : }
50220 0 : return true;
50221 : }
50222 :
50223 : static bool
50224 0 : set_MozBorderStartWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
50225 : {
50226 0 : binding_detail::FakeString arg0;
50227 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
50228 0 : return false;
50229 : }
50230 0 : binding_detail::FastErrorResult rv;
50231 0 : self->SetMozBorderStartWidth(NonNullHelper(Constify(arg0)), rv);
50232 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50233 0 : return false;
50234 : }
50235 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50236 :
50237 0 : return true;
50238 : }
50239 :
50240 : static const JSJitInfo MozBorderStartWidth_getterinfo = {
50241 : { (JSJitGetterOp)get_MozBorderStartWidth },
50242 : { prototypes::id::CSS2Properties },
50243 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50244 : JSJitInfo::Getter,
50245 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50246 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
50247 : false, /* isInfallible. False in setters. */
50248 : false, /* isMovable. Not relevant for setters. */
50249 : false, /* isEliminatable. Not relevant for setters. */
50250 : false, /* isAlwaysInSlot. Only relevant for getters. */
50251 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50252 : false, /* isTypedMethod. Only relevant for methods. */
50253 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50254 : };
50255 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50256 : static_assert(0 < 1, "There is no slot for us");
50257 : static const JSJitInfo MozBorderStartWidth_setterinfo = {
50258 : { (JSJitGetterOp)set_MozBorderStartWidth },
50259 : { prototypes::id::CSS2Properties },
50260 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50261 : JSJitInfo::Setter,
50262 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50263 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
50264 : false, /* isInfallible. False in setters. */
50265 : false, /* isMovable. Not relevant for setters. */
50266 : false, /* isEliminatable. Not relevant for setters. */
50267 : false, /* isAlwaysInSlot. Only relevant for getters. */
50268 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50269 : false, /* isTypedMethod. Only relevant for methods. */
50270 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50271 : };
50272 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50273 : static_assert(0 < 1, "There is no slot for us");
50274 :
50275 : static bool
50276 0 : get__moz_border_start_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
50277 : {
50278 0 : binding_detail::FastErrorResult rv;
50279 0 : DOMString result;
50280 0 : self->GetMozBorderStartWidth(result, rv);
50281 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50282 0 : return false;
50283 : }
50284 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50285 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
50286 0 : return false;
50287 : }
50288 0 : return true;
50289 : }
50290 :
50291 : static bool
50292 0 : set__moz_border_start_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
50293 : {
50294 0 : binding_detail::FakeString arg0;
50295 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
50296 0 : return false;
50297 : }
50298 0 : binding_detail::FastErrorResult rv;
50299 0 : self->SetMozBorderStartWidth(NonNullHelper(Constify(arg0)), rv);
50300 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50301 0 : return false;
50302 : }
50303 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50304 :
50305 0 : return true;
50306 : }
50307 :
50308 : static const JSJitInfo _moz_border_start_width_getterinfo = {
50309 : { (JSJitGetterOp)get__moz_border_start_width },
50310 : { prototypes::id::CSS2Properties },
50311 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50312 : JSJitInfo::Getter,
50313 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50314 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
50315 : false, /* isInfallible. False in setters. */
50316 : false, /* isMovable. Not relevant for setters. */
50317 : false, /* isEliminatable. Not relevant for setters. */
50318 : false, /* isAlwaysInSlot. Only relevant for getters. */
50319 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50320 : false, /* isTypedMethod. Only relevant for methods. */
50321 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50322 : };
50323 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50324 : static_assert(0 < 1, "There is no slot for us");
50325 : static const JSJitInfo _moz_border_start_width_setterinfo = {
50326 : { (JSJitGetterOp)set__moz_border_start_width },
50327 : { prototypes::id::CSS2Properties },
50328 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50329 : JSJitInfo::Setter,
50330 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50331 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
50332 : false, /* isInfallible. False in setters. */
50333 : false, /* isMovable. Not relevant for setters. */
50334 : false, /* isEliminatable. Not relevant for setters. */
50335 : false, /* isAlwaysInSlot. Only relevant for getters. */
50336 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50337 : false, /* isTypedMethod. Only relevant for methods. */
50338 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50339 : };
50340 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50341 : static_assert(0 < 1, "There is no slot for us");
50342 :
50343 : static bool
50344 0 : get_MozHyphens(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
50345 : {
50346 0 : binding_detail::FastErrorResult rv;
50347 0 : DOMString result;
50348 0 : self->GetMozHyphens(result, rv);
50349 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50350 0 : return false;
50351 : }
50352 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50353 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
50354 0 : return false;
50355 : }
50356 0 : return true;
50357 : }
50358 :
50359 : static bool
50360 0 : set_MozHyphens(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
50361 : {
50362 0 : binding_detail::FakeString arg0;
50363 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
50364 0 : return false;
50365 : }
50366 0 : binding_detail::FastErrorResult rv;
50367 0 : self->SetMozHyphens(NonNullHelper(Constify(arg0)), rv);
50368 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50369 0 : return false;
50370 : }
50371 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50372 :
50373 0 : return true;
50374 : }
50375 :
50376 : static const JSJitInfo MozHyphens_getterinfo = {
50377 : { (JSJitGetterOp)get_MozHyphens },
50378 : { prototypes::id::CSS2Properties },
50379 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50380 : JSJitInfo::Getter,
50381 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50382 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
50383 : false, /* isInfallible. False in setters. */
50384 : false, /* isMovable. Not relevant for setters. */
50385 : false, /* isEliminatable. Not relevant for setters. */
50386 : false, /* isAlwaysInSlot. Only relevant for getters. */
50387 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50388 : false, /* isTypedMethod. Only relevant for methods. */
50389 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50390 : };
50391 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50392 : static_assert(0 < 1, "There is no slot for us");
50393 : static const JSJitInfo MozHyphens_setterinfo = {
50394 : { (JSJitGetterOp)set_MozHyphens },
50395 : { prototypes::id::CSS2Properties },
50396 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50397 : JSJitInfo::Setter,
50398 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50399 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
50400 : false, /* isInfallible. False in setters. */
50401 : false, /* isMovable. Not relevant for setters. */
50402 : false, /* isEliminatable. Not relevant for setters. */
50403 : false, /* isAlwaysInSlot. Only relevant for getters. */
50404 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50405 : false, /* isTypedMethod. Only relevant for methods. */
50406 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50407 : };
50408 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50409 : static_assert(0 < 1, "There is no slot for us");
50410 :
50411 : static bool
50412 0 : get__moz_hyphens(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
50413 : {
50414 0 : binding_detail::FastErrorResult rv;
50415 0 : DOMString result;
50416 0 : self->GetMozHyphens(result, rv);
50417 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50418 0 : return false;
50419 : }
50420 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50421 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
50422 0 : return false;
50423 : }
50424 0 : return true;
50425 : }
50426 :
50427 : static bool
50428 0 : set__moz_hyphens(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
50429 : {
50430 0 : binding_detail::FakeString arg0;
50431 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
50432 0 : return false;
50433 : }
50434 0 : binding_detail::FastErrorResult rv;
50435 0 : self->SetMozHyphens(NonNullHelper(Constify(arg0)), rv);
50436 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50437 0 : return false;
50438 : }
50439 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50440 :
50441 0 : return true;
50442 : }
50443 :
50444 : static const JSJitInfo _moz_hyphens_getterinfo = {
50445 : { (JSJitGetterOp)get__moz_hyphens },
50446 : { prototypes::id::CSS2Properties },
50447 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50448 : JSJitInfo::Getter,
50449 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50450 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
50451 : false, /* isInfallible. False in setters. */
50452 : false, /* isMovable. Not relevant for setters. */
50453 : false, /* isEliminatable. Not relevant for setters. */
50454 : false, /* isAlwaysInSlot. Only relevant for getters. */
50455 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50456 : false, /* isTypedMethod. Only relevant for methods. */
50457 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50458 : };
50459 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50460 : static_assert(0 < 1, "There is no slot for us");
50461 : static const JSJitInfo _moz_hyphens_setterinfo = {
50462 : { (JSJitGetterOp)set__moz_hyphens },
50463 : { prototypes::id::CSS2Properties },
50464 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50465 : JSJitInfo::Setter,
50466 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50467 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
50468 : false, /* isInfallible. False in setters. */
50469 : false, /* isMovable. Not relevant for setters. */
50470 : false, /* isEliminatable. Not relevant for setters. */
50471 : false, /* isAlwaysInSlot. Only relevant for getters. */
50472 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50473 : false, /* isTypedMethod. Only relevant for methods. */
50474 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50475 : };
50476 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50477 : static_assert(0 < 1, "There is no slot for us");
50478 :
50479 : static bool
50480 0 : get_MozColumnCount(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
50481 : {
50482 0 : binding_detail::FastErrorResult rv;
50483 0 : DOMString result;
50484 0 : self->GetMozColumnCount(result, rv);
50485 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50486 0 : return false;
50487 : }
50488 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50489 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
50490 0 : return false;
50491 : }
50492 0 : return true;
50493 : }
50494 :
50495 : static bool
50496 0 : set_MozColumnCount(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
50497 : {
50498 0 : binding_detail::FakeString arg0;
50499 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
50500 0 : return false;
50501 : }
50502 0 : binding_detail::FastErrorResult rv;
50503 0 : self->SetMozColumnCount(NonNullHelper(Constify(arg0)), rv);
50504 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50505 0 : return false;
50506 : }
50507 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50508 :
50509 0 : return true;
50510 : }
50511 :
50512 : static const JSJitInfo MozColumnCount_getterinfo = {
50513 : { (JSJitGetterOp)get_MozColumnCount },
50514 : { prototypes::id::CSS2Properties },
50515 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50516 : JSJitInfo::Getter,
50517 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50518 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
50519 : false, /* isInfallible. False in setters. */
50520 : false, /* isMovable. Not relevant for setters. */
50521 : false, /* isEliminatable. Not relevant for setters. */
50522 : false, /* isAlwaysInSlot. Only relevant for getters. */
50523 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50524 : false, /* isTypedMethod. Only relevant for methods. */
50525 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50526 : };
50527 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50528 : static_assert(0 < 1, "There is no slot for us");
50529 : static const JSJitInfo MozColumnCount_setterinfo = {
50530 : { (JSJitGetterOp)set_MozColumnCount },
50531 : { prototypes::id::CSS2Properties },
50532 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50533 : JSJitInfo::Setter,
50534 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50535 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
50536 : false, /* isInfallible. False in setters. */
50537 : false, /* isMovable. Not relevant for setters. */
50538 : false, /* isEliminatable. Not relevant for setters. */
50539 : false, /* isAlwaysInSlot. Only relevant for getters. */
50540 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50541 : false, /* isTypedMethod. Only relevant for methods. */
50542 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50543 : };
50544 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50545 : static_assert(0 < 1, "There is no slot for us");
50546 :
50547 : static bool
50548 0 : get__moz_column_count(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
50549 : {
50550 0 : binding_detail::FastErrorResult rv;
50551 0 : DOMString result;
50552 0 : self->GetMozColumnCount(result, rv);
50553 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50554 0 : return false;
50555 : }
50556 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50557 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
50558 0 : return false;
50559 : }
50560 0 : return true;
50561 : }
50562 :
50563 : static bool
50564 0 : set__moz_column_count(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
50565 : {
50566 0 : binding_detail::FakeString arg0;
50567 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
50568 0 : return false;
50569 : }
50570 0 : binding_detail::FastErrorResult rv;
50571 0 : self->SetMozColumnCount(NonNullHelper(Constify(arg0)), rv);
50572 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50573 0 : return false;
50574 : }
50575 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50576 :
50577 0 : return true;
50578 : }
50579 :
50580 : static const JSJitInfo _moz_column_count_getterinfo = {
50581 : { (JSJitGetterOp)get__moz_column_count },
50582 : { prototypes::id::CSS2Properties },
50583 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50584 : JSJitInfo::Getter,
50585 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50586 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
50587 : false, /* isInfallible. False in setters. */
50588 : false, /* isMovable. Not relevant for setters. */
50589 : false, /* isEliminatable. Not relevant for setters. */
50590 : false, /* isAlwaysInSlot. Only relevant for getters. */
50591 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50592 : false, /* isTypedMethod. Only relevant for methods. */
50593 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50594 : };
50595 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50596 : static_assert(0 < 1, "There is no slot for us");
50597 : static const JSJitInfo _moz_column_count_setterinfo = {
50598 : { (JSJitGetterOp)set__moz_column_count },
50599 : { prototypes::id::CSS2Properties },
50600 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50601 : JSJitInfo::Setter,
50602 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50603 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
50604 : false, /* isInfallible. False in setters. */
50605 : false, /* isMovable. Not relevant for setters. */
50606 : false, /* isEliminatable. Not relevant for setters. */
50607 : false, /* isAlwaysInSlot. Only relevant for getters. */
50608 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50609 : false, /* isTypedMethod. Only relevant for methods. */
50610 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50611 : };
50612 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50613 : static_assert(0 < 1, "There is no slot for us");
50614 :
50615 : static bool
50616 0 : get_MozColumnFill(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
50617 : {
50618 0 : binding_detail::FastErrorResult rv;
50619 0 : DOMString result;
50620 0 : self->GetMozColumnFill(result, rv);
50621 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50622 0 : return false;
50623 : }
50624 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50625 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
50626 0 : return false;
50627 : }
50628 0 : return true;
50629 : }
50630 :
50631 : static bool
50632 0 : set_MozColumnFill(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
50633 : {
50634 0 : binding_detail::FakeString arg0;
50635 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
50636 0 : return false;
50637 : }
50638 0 : binding_detail::FastErrorResult rv;
50639 0 : self->SetMozColumnFill(NonNullHelper(Constify(arg0)), rv);
50640 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50641 0 : return false;
50642 : }
50643 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50644 :
50645 0 : return true;
50646 : }
50647 :
50648 : static const JSJitInfo MozColumnFill_getterinfo = {
50649 : { (JSJitGetterOp)get_MozColumnFill },
50650 : { prototypes::id::CSS2Properties },
50651 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50652 : JSJitInfo::Getter,
50653 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50654 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
50655 : false, /* isInfallible. False in setters. */
50656 : false, /* isMovable. Not relevant for setters. */
50657 : false, /* isEliminatable. Not relevant for setters. */
50658 : false, /* isAlwaysInSlot. Only relevant for getters. */
50659 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50660 : false, /* isTypedMethod. Only relevant for methods. */
50661 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50662 : };
50663 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50664 : static_assert(0 < 1, "There is no slot for us");
50665 : static const JSJitInfo MozColumnFill_setterinfo = {
50666 : { (JSJitGetterOp)set_MozColumnFill },
50667 : { prototypes::id::CSS2Properties },
50668 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50669 : JSJitInfo::Setter,
50670 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50671 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
50672 : false, /* isInfallible. False in setters. */
50673 : false, /* isMovable. Not relevant for setters. */
50674 : false, /* isEliminatable. Not relevant for setters. */
50675 : false, /* isAlwaysInSlot. Only relevant for getters. */
50676 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50677 : false, /* isTypedMethod. Only relevant for methods. */
50678 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50679 : };
50680 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50681 : static_assert(0 < 1, "There is no slot for us");
50682 :
50683 : static bool
50684 0 : get__moz_column_fill(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
50685 : {
50686 0 : binding_detail::FastErrorResult rv;
50687 0 : DOMString result;
50688 0 : self->GetMozColumnFill(result, rv);
50689 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50690 0 : return false;
50691 : }
50692 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50693 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
50694 0 : return false;
50695 : }
50696 0 : return true;
50697 : }
50698 :
50699 : static bool
50700 0 : set__moz_column_fill(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
50701 : {
50702 0 : binding_detail::FakeString arg0;
50703 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
50704 0 : return false;
50705 : }
50706 0 : binding_detail::FastErrorResult rv;
50707 0 : self->SetMozColumnFill(NonNullHelper(Constify(arg0)), rv);
50708 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50709 0 : return false;
50710 : }
50711 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50712 :
50713 0 : return true;
50714 : }
50715 :
50716 : static const JSJitInfo _moz_column_fill_getterinfo = {
50717 : { (JSJitGetterOp)get__moz_column_fill },
50718 : { prototypes::id::CSS2Properties },
50719 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50720 : JSJitInfo::Getter,
50721 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50722 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
50723 : false, /* isInfallible. False in setters. */
50724 : false, /* isMovable. Not relevant for setters. */
50725 : false, /* isEliminatable. Not relevant for setters. */
50726 : false, /* isAlwaysInSlot. Only relevant for getters. */
50727 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50728 : false, /* isTypedMethod. Only relevant for methods. */
50729 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50730 : };
50731 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50732 : static_assert(0 < 1, "There is no slot for us");
50733 : static const JSJitInfo _moz_column_fill_setterinfo = {
50734 : { (JSJitGetterOp)set__moz_column_fill },
50735 : { prototypes::id::CSS2Properties },
50736 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50737 : JSJitInfo::Setter,
50738 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50739 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
50740 : false, /* isInfallible. False in setters. */
50741 : false, /* isMovable. Not relevant for setters. */
50742 : false, /* isEliminatable. Not relevant for setters. */
50743 : false, /* isAlwaysInSlot. Only relevant for getters. */
50744 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50745 : false, /* isTypedMethod. Only relevant for methods. */
50746 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50747 : };
50748 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50749 : static_assert(0 < 1, "There is no slot for us");
50750 :
50751 : static bool
50752 0 : get_MozColumnGap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
50753 : {
50754 0 : binding_detail::FastErrorResult rv;
50755 0 : DOMString result;
50756 0 : self->GetMozColumnGap(result, rv);
50757 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50758 0 : return false;
50759 : }
50760 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50761 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
50762 0 : return false;
50763 : }
50764 0 : return true;
50765 : }
50766 :
50767 : static bool
50768 0 : set_MozColumnGap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
50769 : {
50770 0 : binding_detail::FakeString arg0;
50771 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
50772 0 : return false;
50773 : }
50774 0 : binding_detail::FastErrorResult rv;
50775 0 : self->SetMozColumnGap(NonNullHelper(Constify(arg0)), rv);
50776 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50777 0 : return false;
50778 : }
50779 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50780 :
50781 0 : return true;
50782 : }
50783 :
50784 : static const JSJitInfo MozColumnGap_getterinfo = {
50785 : { (JSJitGetterOp)get_MozColumnGap },
50786 : { prototypes::id::CSS2Properties },
50787 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50788 : JSJitInfo::Getter,
50789 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50790 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
50791 : false, /* isInfallible. False in setters. */
50792 : false, /* isMovable. Not relevant for setters. */
50793 : false, /* isEliminatable. Not relevant for setters. */
50794 : false, /* isAlwaysInSlot. Only relevant for getters. */
50795 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50796 : false, /* isTypedMethod. Only relevant for methods. */
50797 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50798 : };
50799 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50800 : static_assert(0 < 1, "There is no slot for us");
50801 : static const JSJitInfo MozColumnGap_setterinfo = {
50802 : { (JSJitGetterOp)set_MozColumnGap },
50803 : { prototypes::id::CSS2Properties },
50804 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50805 : JSJitInfo::Setter,
50806 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50807 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
50808 : false, /* isInfallible. False in setters. */
50809 : false, /* isMovable. Not relevant for setters. */
50810 : false, /* isEliminatable. Not relevant for setters. */
50811 : false, /* isAlwaysInSlot. Only relevant for getters. */
50812 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50813 : false, /* isTypedMethod. Only relevant for methods. */
50814 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50815 : };
50816 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50817 : static_assert(0 < 1, "There is no slot for us");
50818 :
50819 : static bool
50820 0 : get__moz_column_gap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
50821 : {
50822 0 : binding_detail::FastErrorResult rv;
50823 0 : DOMString result;
50824 0 : self->GetMozColumnGap(result, rv);
50825 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50826 0 : return false;
50827 : }
50828 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50829 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
50830 0 : return false;
50831 : }
50832 0 : return true;
50833 : }
50834 :
50835 : static bool
50836 0 : set__moz_column_gap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
50837 : {
50838 0 : binding_detail::FakeString arg0;
50839 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
50840 0 : return false;
50841 : }
50842 0 : binding_detail::FastErrorResult rv;
50843 0 : self->SetMozColumnGap(NonNullHelper(Constify(arg0)), rv);
50844 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50845 0 : return false;
50846 : }
50847 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50848 :
50849 0 : return true;
50850 : }
50851 :
50852 : static const JSJitInfo _moz_column_gap_getterinfo = {
50853 : { (JSJitGetterOp)get__moz_column_gap },
50854 : { prototypes::id::CSS2Properties },
50855 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50856 : JSJitInfo::Getter,
50857 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50858 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
50859 : false, /* isInfallible. False in setters. */
50860 : false, /* isMovable. Not relevant for setters. */
50861 : false, /* isEliminatable. Not relevant for setters. */
50862 : false, /* isAlwaysInSlot. Only relevant for getters. */
50863 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50864 : false, /* isTypedMethod. Only relevant for methods. */
50865 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50866 : };
50867 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50868 : static_assert(0 < 1, "There is no slot for us");
50869 : static const JSJitInfo _moz_column_gap_setterinfo = {
50870 : { (JSJitGetterOp)set__moz_column_gap },
50871 : { prototypes::id::CSS2Properties },
50872 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50873 : JSJitInfo::Setter,
50874 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50875 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
50876 : false, /* isInfallible. False in setters. */
50877 : false, /* isMovable. Not relevant for setters. */
50878 : false, /* isEliminatable. Not relevant for setters. */
50879 : false, /* isAlwaysInSlot. Only relevant for getters. */
50880 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50881 : false, /* isTypedMethod. Only relevant for methods. */
50882 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50883 : };
50884 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50885 : static_assert(0 < 1, "There is no slot for us");
50886 :
50887 : static bool
50888 0 : get_MozColumnRule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
50889 : {
50890 0 : binding_detail::FastErrorResult rv;
50891 0 : DOMString result;
50892 0 : self->GetMozColumnRule(result, rv);
50893 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50894 0 : return false;
50895 : }
50896 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50897 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
50898 0 : return false;
50899 : }
50900 0 : return true;
50901 : }
50902 :
50903 : static bool
50904 0 : set_MozColumnRule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
50905 : {
50906 0 : binding_detail::FakeString arg0;
50907 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
50908 0 : return false;
50909 : }
50910 0 : binding_detail::FastErrorResult rv;
50911 0 : self->SetMozColumnRule(NonNullHelper(Constify(arg0)), rv);
50912 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50913 0 : return false;
50914 : }
50915 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50916 :
50917 0 : return true;
50918 : }
50919 :
50920 : static const JSJitInfo MozColumnRule_getterinfo = {
50921 : { (JSJitGetterOp)get_MozColumnRule },
50922 : { prototypes::id::CSS2Properties },
50923 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50924 : JSJitInfo::Getter,
50925 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50926 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
50927 : false, /* isInfallible. False in setters. */
50928 : false, /* isMovable. Not relevant for setters. */
50929 : false, /* isEliminatable. Not relevant for setters. */
50930 : false, /* isAlwaysInSlot. Only relevant for getters. */
50931 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50932 : false, /* isTypedMethod. Only relevant for methods. */
50933 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50934 : };
50935 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50936 : static_assert(0 < 1, "There is no slot for us");
50937 : static const JSJitInfo MozColumnRule_setterinfo = {
50938 : { (JSJitGetterOp)set_MozColumnRule },
50939 : { prototypes::id::CSS2Properties },
50940 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50941 : JSJitInfo::Setter,
50942 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50943 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
50944 : false, /* isInfallible. False in setters. */
50945 : false, /* isMovable. Not relevant for setters. */
50946 : false, /* isEliminatable. Not relevant for setters. */
50947 : false, /* isAlwaysInSlot. Only relevant for getters. */
50948 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
50949 : false, /* isTypedMethod. Only relevant for methods. */
50950 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
50951 : };
50952 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
50953 : static_assert(0 < 1, "There is no slot for us");
50954 :
50955 : static bool
50956 0 : get__moz_column_rule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
50957 : {
50958 0 : binding_detail::FastErrorResult rv;
50959 0 : DOMString result;
50960 0 : self->GetMozColumnRule(result, rv);
50961 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50962 0 : return false;
50963 : }
50964 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50965 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
50966 0 : return false;
50967 : }
50968 0 : return true;
50969 : }
50970 :
50971 : static bool
50972 0 : set__moz_column_rule(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
50973 : {
50974 0 : binding_detail::FakeString arg0;
50975 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
50976 0 : return false;
50977 : }
50978 0 : binding_detail::FastErrorResult rv;
50979 0 : self->SetMozColumnRule(NonNullHelper(Constify(arg0)), rv);
50980 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
50981 0 : return false;
50982 : }
50983 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
50984 :
50985 0 : return true;
50986 : }
50987 :
50988 : static const JSJitInfo _moz_column_rule_getterinfo = {
50989 : { (JSJitGetterOp)get__moz_column_rule },
50990 : { prototypes::id::CSS2Properties },
50991 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
50992 : JSJitInfo::Getter,
50993 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
50994 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
50995 : false, /* isInfallible. False in setters. */
50996 : false, /* isMovable. Not relevant for setters. */
50997 : false, /* isEliminatable. Not relevant for setters. */
50998 : false, /* isAlwaysInSlot. Only relevant for getters. */
50999 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51000 : false, /* isTypedMethod. Only relevant for methods. */
51001 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51002 : };
51003 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51004 : static_assert(0 < 1, "There is no slot for us");
51005 : static const JSJitInfo _moz_column_rule_setterinfo = {
51006 : { (JSJitGetterOp)set__moz_column_rule },
51007 : { prototypes::id::CSS2Properties },
51008 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51009 : JSJitInfo::Setter,
51010 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51011 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
51012 : false, /* isInfallible. False in setters. */
51013 : false, /* isMovable. Not relevant for setters. */
51014 : false, /* isEliminatable. Not relevant for setters. */
51015 : false, /* isAlwaysInSlot. Only relevant for getters. */
51016 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51017 : false, /* isTypedMethod. Only relevant for methods. */
51018 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51019 : };
51020 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51021 : static_assert(0 < 1, "There is no slot for us");
51022 :
51023 : static bool
51024 0 : get_MozColumnRuleColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
51025 : {
51026 0 : binding_detail::FastErrorResult rv;
51027 0 : DOMString result;
51028 0 : self->GetMozColumnRuleColor(result, rv);
51029 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51030 0 : return false;
51031 : }
51032 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51033 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
51034 0 : return false;
51035 : }
51036 0 : return true;
51037 : }
51038 :
51039 : static bool
51040 0 : set_MozColumnRuleColor(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
51041 : {
51042 0 : binding_detail::FakeString arg0;
51043 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
51044 0 : return false;
51045 : }
51046 0 : binding_detail::FastErrorResult rv;
51047 0 : self->SetMozColumnRuleColor(NonNullHelper(Constify(arg0)), rv);
51048 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51049 0 : return false;
51050 : }
51051 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51052 :
51053 0 : return true;
51054 : }
51055 :
51056 : static const JSJitInfo MozColumnRuleColor_getterinfo = {
51057 : { (JSJitGetterOp)get_MozColumnRuleColor },
51058 : { prototypes::id::CSS2Properties },
51059 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51060 : JSJitInfo::Getter,
51061 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51062 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
51063 : false, /* isInfallible. False in setters. */
51064 : false, /* isMovable. Not relevant for setters. */
51065 : false, /* isEliminatable. Not relevant for setters. */
51066 : false, /* isAlwaysInSlot. Only relevant for getters. */
51067 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51068 : false, /* isTypedMethod. Only relevant for methods. */
51069 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51070 : };
51071 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51072 : static_assert(0 < 1, "There is no slot for us");
51073 : static const JSJitInfo MozColumnRuleColor_setterinfo = {
51074 : { (JSJitGetterOp)set_MozColumnRuleColor },
51075 : { prototypes::id::CSS2Properties },
51076 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51077 : JSJitInfo::Setter,
51078 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51079 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
51080 : false, /* isInfallible. False in setters. */
51081 : false, /* isMovable. Not relevant for setters. */
51082 : false, /* isEliminatable. Not relevant for setters. */
51083 : false, /* isAlwaysInSlot. Only relevant for getters. */
51084 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51085 : false, /* isTypedMethod. Only relevant for methods. */
51086 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51087 : };
51088 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51089 : static_assert(0 < 1, "There is no slot for us");
51090 :
51091 : static bool
51092 0 : get__moz_column_rule_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
51093 : {
51094 0 : binding_detail::FastErrorResult rv;
51095 0 : DOMString result;
51096 0 : self->GetMozColumnRuleColor(result, rv);
51097 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51098 0 : return false;
51099 : }
51100 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51101 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
51102 0 : return false;
51103 : }
51104 0 : return true;
51105 : }
51106 :
51107 : static bool
51108 0 : set__moz_column_rule_color(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
51109 : {
51110 0 : binding_detail::FakeString arg0;
51111 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
51112 0 : return false;
51113 : }
51114 0 : binding_detail::FastErrorResult rv;
51115 0 : self->SetMozColumnRuleColor(NonNullHelper(Constify(arg0)), rv);
51116 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51117 0 : return false;
51118 : }
51119 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51120 :
51121 0 : return true;
51122 : }
51123 :
51124 : static const JSJitInfo _moz_column_rule_color_getterinfo = {
51125 : { (JSJitGetterOp)get__moz_column_rule_color },
51126 : { prototypes::id::CSS2Properties },
51127 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51128 : JSJitInfo::Getter,
51129 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51130 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
51131 : false, /* isInfallible. False in setters. */
51132 : false, /* isMovable. Not relevant for setters. */
51133 : false, /* isEliminatable. Not relevant for setters. */
51134 : false, /* isAlwaysInSlot. Only relevant for getters. */
51135 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51136 : false, /* isTypedMethod. Only relevant for methods. */
51137 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51138 : };
51139 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51140 : static_assert(0 < 1, "There is no slot for us");
51141 : static const JSJitInfo _moz_column_rule_color_setterinfo = {
51142 : { (JSJitGetterOp)set__moz_column_rule_color },
51143 : { prototypes::id::CSS2Properties },
51144 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51145 : JSJitInfo::Setter,
51146 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51147 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
51148 : false, /* isInfallible. False in setters. */
51149 : false, /* isMovable. Not relevant for setters. */
51150 : false, /* isEliminatable. Not relevant for setters. */
51151 : false, /* isAlwaysInSlot. Only relevant for getters. */
51152 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51153 : false, /* isTypedMethod. Only relevant for methods. */
51154 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51155 : };
51156 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51157 : static_assert(0 < 1, "There is no slot for us");
51158 :
51159 : static bool
51160 0 : get_MozColumnRuleStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
51161 : {
51162 0 : binding_detail::FastErrorResult rv;
51163 0 : DOMString result;
51164 0 : self->GetMozColumnRuleStyle(result, rv);
51165 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51166 0 : return false;
51167 : }
51168 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51169 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
51170 0 : return false;
51171 : }
51172 0 : return true;
51173 : }
51174 :
51175 : static bool
51176 0 : set_MozColumnRuleStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
51177 : {
51178 0 : binding_detail::FakeString arg0;
51179 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
51180 0 : return false;
51181 : }
51182 0 : binding_detail::FastErrorResult rv;
51183 0 : self->SetMozColumnRuleStyle(NonNullHelper(Constify(arg0)), rv);
51184 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51185 0 : return false;
51186 : }
51187 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51188 :
51189 0 : return true;
51190 : }
51191 :
51192 : static const JSJitInfo MozColumnRuleStyle_getterinfo = {
51193 : { (JSJitGetterOp)get_MozColumnRuleStyle },
51194 : { prototypes::id::CSS2Properties },
51195 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51196 : JSJitInfo::Getter,
51197 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51198 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
51199 : false, /* isInfallible. False in setters. */
51200 : false, /* isMovable. Not relevant for setters. */
51201 : false, /* isEliminatable. Not relevant for setters. */
51202 : false, /* isAlwaysInSlot. Only relevant for getters. */
51203 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51204 : false, /* isTypedMethod. Only relevant for methods. */
51205 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51206 : };
51207 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51208 : static_assert(0 < 1, "There is no slot for us");
51209 : static const JSJitInfo MozColumnRuleStyle_setterinfo = {
51210 : { (JSJitGetterOp)set_MozColumnRuleStyle },
51211 : { prototypes::id::CSS2Properties },
51212 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51213 : JSJitInfo::Setter,
51214 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51215 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
51216 : false, /* isInfallible. False in setters. */
51217 : false, /* isMovable. Not relevant for setters. */
51218 : false, /* isEliminatable. Not relevant for setters. */
51219 : false, /* isAlwaysInSlot. Only relevant for getters. */
51220 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51221 : false, /* isTypedMethod. Only relevant for methods. */
51222 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51223 : };
51224 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51225 : static_assert(0 < 1, "There is no slot for us");
51226 :
51227 : static bool
51228 0 : get__moz_column_rule_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
51229 : {
51230 0 : binding_detail::FastErrorResult rv;
51231 0 : DOMString result;
51232 0 : self->GetMozColumnRuleStyle(result, rv);
51233 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51234 0 : return false;
51235 : }
51236 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51237 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
51238 0 : return false;
51239 : }
51240 0 : return true;
51241 : }
51242 :
51243 : static bool
51244 0 : set__moz_column_rule_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
51245 : {
51246 0 : binding_detail::FakeString arg0;
51247 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
51248 0 : return false;
51249 : }
51250 0 : binding_detail::FastErrorResult rv;
51251 0 : self->SetMozColumnRuleStyle(NonNullHelper(Constify(arg0)), rv);
51252 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51253 0 : return false;
51254 : }
51255 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51256 :
51257 0 : return true;
51258 : }
51259 :
51260 : static const JSJitInfo _moz_column_rule_style_getterinfo = {
51261 : { (JSJitGetterOp)get__moz_column_rule_style },
51262 : { prototypes::id::CSS2Properties },
51263 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51264 : JSJitInfo::Getter,
51265 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51266 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
51267 : false, /* isInfallible. False in setters. */
51268 : false, /* isMovable. Not relevant for setters. */
51269 : false, /* isEliminatable. Not relevant for setters. */
51270 : false, /* isAlwaysInSlot. Only relevant for getters. */
51271 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51272 : false, /* isTypedMethod. Only relevant for methods. */
51273 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51274 : };
51275 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51276 : static_assert(0 < 1, "There is no slot for us");
51277 : static const JSJitInfo _moz_column_rule_style_setterinfo = {
51278 : { (JSJitGetterOp)set__moz_column_rule_style },
51279 : { prototypes::id::CSS2Properties },
51280 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51281 : JSJitInfo::Setter,
51282 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51283 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
51284 : false, /* isInfallible. False in setters. */
51285 : false, /* isMovable. Not relevant for setters. */
51286 : false, /* isEliminatable. Not relevant for setters. */
51287 : false, /* isAlwaysInSlot. Only relevant for getters. */
51288 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51289 : false, /* isTypedMethod. Only relevant for methods. */
51290 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51291 : };
51292 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51293 : static_assert(0 < 1, "There is no slot for us");
51294 :
51295 : static bool
51296 0 : get_MozColumnRuleWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
51297 : {
51298 0 : binding_detail::FastErrorResult rv;
51299 0 : DOMString result;
51300 0 : self->GetMozColumnRuleWidth(result, rv);
51301 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51302 0 : return false;
51303 : }
51304 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51305 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
51306 0 : return false;
51307 : }
51308 0 : return true;
51309 : }
51310 :
51311 : static bool
51312 0 : set_MozColumnRuleWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
51313 : {
51314 0 : binding_detail::FakeString arg0;
51315 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
51316 0 : return false;
51317 : }
51318 0 : binding_detail::FastErrorResult rv;
51319 0 : self->SetMozColumnRuleWidth(NonNullHelper(Constify(arg0)), rv);
51320 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51321 0 : return false;
51322 : }
51323 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51324 :
51325 0 : return true;
51326 : }
51327 :
51328 : static const JSJitInfo MozColumnRuleWidth_getterinfo = {
51329 : { (JSJitGetterOp)get_MozColumnRuleWidth },
51330 : { prototypes::id::CSS2Properties },
51331 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51332 : JSJitInfo::Getter,
51333 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51334 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
51335 : false, /* isInfallible. False in setters. */
51336 : false, /* isMovable. Not relevant for setters. */
51337 : false, /* isEliminatable. Not relevant for setters. */
51338 : false, /* isAlwaysInSlot. Only relevant for getters. */
51339 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51340 : false, /* isTypedMethod. Only relevant for methods. */
51341 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51342 : };
51343 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51344 : static_assert(0 < 1, "There is no slot for us");
51345 : static const JSJitInfo MozColumnRuleWidth_setterinfo = {
51346 : { (JSJitGetterOp)set_MozColumnRuleWidth },
51347 : { prototypes::id::CSS2Properties },
51348 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51349 : JSJitInfo::Setter,
51350 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51351 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
51352 : false, /* isInfallible. False in setters. */
51353 : false, /* isMovable. Not relevant for setters. */
51354 : false, /* isEliminatable. Not relevant for setters. */
51355 : false, /* isAlwaysInSlot. Only relevant for getters. */
51356 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51357 : false, /* isTypedMethod. Only relevant for methods. */
51358 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51359 : };
51360 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51361 : static_assert(0 < 1, "There is no slot for us");
51362 :
51363 : static bool
51364 0 : get__moz_column_rule_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
51365 : {
51366 0 : binding_detail::FastErrorResult rv;
51367 0 : DOMString result;
51368 0 : self->GetMozColumnRuleWidth(result, rv);
51369 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51370 0 : return false;
51371 : }
51372 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51373 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
51374 0 : return false;
51375 : }
51376 0 : return true;
51377 : }
51378 :
51379 : static bool
51380 0 : set__moz_column_rule_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
51381 : {
51382 0 : binding_detail::FakeString arg0;
51383 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
51384 0 : return false;
51385 : }
51386 0 : binding_detail::FastErrorResult rv;
51387 0 : self->SetMozColumnRuleWidth(NonNullHelper(Constify(arg0)), rv);
51388 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51389 0 : return false;
51390 : }
51391 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51392 :
51393 0 : return true;
51394 : }
51395 :
51396 : static const JSJitInfo _moz_column_rule_width_getterinfo = {
51397 : { (JSJitGetterOp)get__moz_column_rule_width },
51398 : { prototypes::id::CSS2Properties },
51399 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51400 : JSJitInfo::Getter,
51401 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51402 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
51403 : false, /* isInfallible. False in setters. */
51404 : false, /* isMovable. Not relevant for setters. */
51405 : false, /* isEliminatable. Not relevant for setters. */
51406 : false, /* isAlwaysInSlot. Only relevant for getters. */
51407 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51408 : false, /* isTypedMethod. Only relevant for methods. */
51409 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51410 : };
51411 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51412 : static_assert(0 < 1, "There is no slot for us");
51413 : static const JSJitInfo _moz_column_rule_width_setterinfo = {
51414 : { (JSJitGetterOp)set__moz_column_rule_width },
51415 : { prototypes::id::CSS2Properties },
51416 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51417 : JSJitInfo::Setter,
51418 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51419 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
51420 : false, /* isInfallible. False in setters. */
51421 : false, /* isMovable. Not relevant for setters. */
51422 : false, /* isEliminatable. Not relevant for setters. */
51423 : false, /* isAlwaysInSlot. Only relevant for getters. */
51424 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51425 : false, /* isTypedMethod. Only relevant for methods. */
51426 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51427 : };
51428 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51429 : static_assert(0 < 1, "There is no slot for us");
51430 :
51431 : static bool
51432 0 : get_MozColumnWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
51433 : {
51434 0 : binding_detail::FastErrorResult rv;
51435 0 : DOMString result;
51436 0 : self->GetMozColumnWidth(result, rv);
51437 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51438 0 : return false;
51439 : }
51440 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51441 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
51442 0 : return false;
51443 : }
51444 0 : return true;
51445 : }
51446 :
51447 : static bool
51448 0 : set_MozColumnWidth(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
51449 : {
51450 0 : binding_detail::FakeString arg0;
51451 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
51452 0 : return false;
51453 : }
51454 0 : binding_detail::FastErrorResult rv;
51455 0 : self->SetMozColumnWidth(NonNullHelper(Constify(arg0)), rv);
51456 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51457 0 : return false;
51458 : }
51459 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51460 :
51461 0 : return true;
51462 : }
51463 :
51464 : static const JSJitInfo MozColumnWidth_getterinfo = {
51465 : { (JSJitGetterOp)get_MozColumnWidth },
51466 : { prototypes::id::CSS2Properties },
51467 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51468 : JSJitInfo::Getter,
51469 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51470 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
51471 : false, /* isInfallible. False in setters. */
51472 : false, /* isMovable. Not relevant for setters. */
51473 : false, /* isEliminatable. Not relevant for setters. */
51474 : false, /* isAlwaysInSlot. Only relevant for getters. */
51475 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51476 : false, /* isTypedMethod. Only relevant for methods. */
51477 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51478 : };
51479 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51480 : static_assert(0 < 1, "There is no slot for us");
51481 : static const JSJitInfo MozColumnWidth_setterinfo = {
51482 : { (JSJitGetterOp)set_MozColumnWidth },
51483 : { prototypes::id::CSS2Properties },
51484 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51485 : JSJitInfo::Setter,
51486 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51487 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
51488 : false, /* isInfallible. False in setters. */
51489 : false, /* isMovable. Not relevant for setters. */
51490 : false, /* isEliminatable. Not relevant for setters. */
51491 : false, /* isAlwaysInSlot. Only relevant for getters. */
51492 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51493 : false, /* isTypedMethod. Only relevant for methods. */
51494 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51495 : };
51496 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51497 : static_assert(0 < 1, "There is no slot for us");
51498 :
51499 : static bool
51500 0 : get__moz_column_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
51501 : {
51502 0 : binding_detail::FastErrorResult rv;
51503 0 : DOMString result;
51504 0 : self->GetMozColumnWidth(result, rv);
51505 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51506 0 : return false;
51507 : }
51508 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51509 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
51510 0 : return false;
51511 : }
51512 0 : return true;
51513 : }
51514 :
51515 : static bool
51516 0 : set__moz_column_width(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
51517 : {
51518 0 : binding_detail::FakeString arg0;
51519 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
51520 0 : return false;
51521 : }
51522 0 : binding_detail::FastErrorResult rv;
51523 0 : self->SetMozColumnWidth(NonNullHelper(Constify(arg0)), rv);
51524 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51525 0 : return false;
51526 : }
51527 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51528 :
51529 0 : return true;
51530 : }
51531 :
51532 : static const JSJitInfo _moz_column_width_getterinfo = {
51533 : { (JSJitGetterOp)get__moz_column_width },
51534 : { prototypes::id::CSS2Properties },
51535 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51536 : JSJitInfo::Getter,
51537 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51538 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
51539 : false, /* isInfallible. False in setters. */
51540 : false, /* isMovable. Not relevant for setters. */
51541 : false, /* isEliminatable. Not relevant for setters. */
51542 : false, /* isAlwaysInSlot. Only relevant for getters. */
51543 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51544 : false, /* isTypedMethod. Only relevant for methods. */
51545 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51546 : };
51547 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51548 : static_assert(0 < 1, "There is no slot for us");
51549 : static const JSJitInfo _moz_column_width_setterinfo = {
51550 : { (JSJitGetterOp)set__moz_column_width },
51551 : { prototypes::id::CSS2Properties },
51552 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51553 : JSJitInfo::Setter,
51554 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51555 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
51556 : false, /* isInfallible. False in setters. */
51557 : false, /* isMovable. Not relevant for setters. */
51558 : false, /* isEliminatable. Not relevant for setters. */
51559 : false, /* isAlwaysInSlot. Only relevant for getters. */
51560 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51561 : false, /* isTypedMethod. Only relevant for methods. */
51562 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51563 : };
51564 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51565 : static_assert(0 < 1, "There is no slot for us");
51566 :
51567 : static bool
51568 0 : get_MozColumns(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
51569 : {
51570 0 : binding_detail::FastErrorResult rv;
51571 0 : DOMString result;
51572 0 : self->GetMozColumns(result, rv);
51573 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51574 0 : return false;
51575 : }
51576 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51577 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
51578 0 : return false;
51579 : }
51580 0 : return true;
51581 : }
51582 :
51583 : static bool
51584 0 : set_MozColumns(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
51585 : {
51586 0 : binding_detail::FakeString arg0;
51587 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
51588 0 : return false;
51589 : }
51590 0 : binding_detail::FastErrorResult rv;
51591 0 : self->SetMozColumns(NonNullHelper(Constify(arg0)), rv);
51592 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51593 0 : return false;
51594 : }
51595 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51596 :
51597 0 : return true;
51598 : }
51599 :
51600 : static const JSJitInfo MozColumns_getterinfo = {
51601 : { (JSJitGetterOp)get_MozColumns },
51602 : { prototypes::id::CSS2Properties },
51603 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51604 : JSJitInfo::Getter,
51605 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51606 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
51607 : false, /* isInfallible. False in setters. */
51608 : false, /* isMovable. Not relevant for setters. */
51609 : false, /* isEliminatable. Not relevant for setters. */
51610 : false, /* isAlwaysInSlot. Only relevant for getters. */
51611 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51612 : false, /* isTypedMethod. Only relevant for methods. */
51613 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51614 : };
51615 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51616 : static_assert(0 < 1, "There is no slot for us");
51617 : static const JSJitInfo MozColumns_setterinfo = {
51618 : { (JSJitGetterOp)set_MozColumns },
51619 : { prototypes::id::CSS2Properties },
51620 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51621 : JSJitInfo::Setter,
51622 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51623 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
51624 : false, /* isInfallible. False in setters. */
51625 : false, /* isMovable. Not relevant for setters. */
51626 : false, /* isEliminatable. Not relevant for setters. */
51627 : false, /* isAlwaysInSlot. Only relevant for getters. */
51628 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51629 : false, /* isTypedMethod. Only relevant for methods. */
51630 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51631 : };
51632 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51633 : static_assert(0 < 1, "There is no slot for us");
51634 :
51635 : static bool
51636 0 : get__moz_columns(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
51637 : {
51638 0 : binding_detail::FastErrorResult rv;
51639 0 : DOMString result;
51640 0 : self->GetMozColumns(result, rv);
51641 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51642 0 : return false;
51643 : }
51644 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51645 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
51646 0 : return false;
51647 : }
51648 0 : return true;
51649 : }
51650 :
51651 : static bool
51652 0 : set__moz_columns(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
51653 : {
51654 0 : binding_detail::FakeString arg0;
51655 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
51656 0 : return false;
51657 : }
51658 0 : binding_detail::FastErrorResult rv;
51659 0 : self->SetMozColumns(NonNullHelper(Constify(arg0)), rv);
51660 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51661 0 : return false;
51662 : }
51663 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51664 :
51665 0 : return true;
51666 : }
51667 :
51668 : static const JSJitInfo _moz_columns_getterinfo = {
51669 : { (JSJitGetterOp)get__moz_columns },
51670 : { prototypes::id::CSS2Properties },
51671 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51672 : JSJitInfo::Getter,
51673 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51674 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
51675 : false, /* isInfallible. False in setters. */
51676 : false, /* isMovable. Not relevant for setters. */
51677 : false, /* isEliminatable. Not relevant for setters. */
51678 : false, /* isAlwaysInSlot. Only relevant for getters. */
51679 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51680 : false, /* isTypedMethod. Only relevant for methods. */
51681 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51682 : };
51683 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51684 : static_assert(0 < 1, "There is no slot for us");
51685 : static const JSJitInfo _moz_columns_setterinfo = {
51686 : { (JSJitGetterOp)set__moz_columns },
51687 : { prototypes::id::CSS2Properties },
51688 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51689 : JSJitInfo::Setter,
51690 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51691 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
51692 : false, /* isInfallible. False in setters. */
51693 : false, /* isMovable. Not relevant for setters. */
51694 : false, /* isEliminatable. Not relevant for setters. */
51695 : false, /* isAlwaysInSlot. Only relevant for getters. */
51696 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51697 : false, /* isTypedMethod. Only relevant for methods. */
51698 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51699 : };
51700 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51701 : static_assert(0 < 1, "There is no slot for us");
51702 :
51703 : static bool
51704 0 : get_WebkitAnimation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
51705 : {
51706 0 : binding_detail::FastErrorResult rv;
51707 0 : DOMString result;
51708 0 : self->GetWebkitAnimation(result, rv);
51709 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51710 0 : return false;
51711 : }
51712 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51713 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
51714 0 : return false;
51715 : }
51716 0 : return true;
51717 : }
51718 :
51719 : static bool
51720 0 : set_WebkitAnimation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
51721 : {
51722 0 : binding_detail::FakeString arg0;
51723 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
51724 0 : return false;
51725 : }
51726 0 : binding_detail::FastErrorResult rv;
51727 0 : self->SetWebkitAnimation(NonNullHelper(Constify(arg0)), rv);
51728 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51729 0 : return false;
51730 : }
51731 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51732 :
51733 0 : return true;
51734 : }
51735 :
51736 : static const JSJitInfo WebkitAnimation_getterinfo = {
51737 : { (JSJitGetterOp)get_WebkitAnimation },
51738 : { prototypes::id::CSS2Properties },
51739 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51740 : JSJitInfo::Getter,
51741 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51742 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
51743 : false, /* isInfallible. False in setters. */
51744 : false, /* isMovable. Not relevant for setters. */
51745 : false, /* isEliminatable. Not relevant for setters. */
51746 : false, /* isAlwaysInSlot. Only relevant for getters. */
51747 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51748 : false, /* isTypedMethod. Only relevant for methods. */
51749 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51750 : };
51751 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51752 : static_assert(0 < 1, "There is no slot for us");
51753 : static const JSJitInfo WebkitAnimation_setterinfo = {
51754 : { (JSJitGetterOp)set_WebkitAnimation },
51755 : { prototypes::id::CSS2Properties },
51756 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51757 : JSJitInfo::Setter,
51758 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51759 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
51760 : false, /* isInfallible. False in setters. */
51761 : false, /* isMovable. Not relevant for setters. */
51762 : false, /* isEliminatable. Not relevant for setters. */
51763 : false, /* isAlwaysInSlot. Only relevant for getters. */
51764 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51765 : false, /* isTypedMethod. Only relevant for methods. */
51766 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51767 : };
51768 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51769 : static_assert(0 < 1, "There is no slot for us");
51770 :
51771 : static bool
51772 0 : get_webkitAnimation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
51773 : {
51774 0 : binding_detail::FastErrorResult rv;
51775 0 : DOMString result;
51776 0 : self->GetWebkitAnimation(result, rv);
51777 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51778 0 : return false;
51779 : }
51780 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51781 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
51782 0 : return false;
51783 : }
51784 0 : return true;
51785 : }
51786 :
51787 : static bool
51788 0 : set_webkitAnimation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
51789 : {
51790 0 : binding_detail::FakeString arg0;
51791 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
51792 0 : return false;
51793 : }
51794 0 : binding_detail::FastErrorResult rv;
51795 0 : self->SetWebkitAnimation(NonNullHelper(Constify(arg0)), rv);
51796 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51797 0 : return false;
51798 : }
51799 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51800 :
51801 0 : return true;
51802 : }
51803 :
51804 : static const JSJitInfo webkitAnimation_getterinfo = {
51805 : { (JSJitGetterOp)get_webkitAnimation },
51806 : { prototypes::id::CSS2Properties },
51807 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51808 : JSJitInfo::Getter,
51809 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51810 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
51811 : false, /* isInfallible. False in setters. */
51812 : false, /* isMovable. Not relevant for setters. */
51813 : false, /* isEliminatable. Not relevant for setters. */
51814 : false, /* isAlwaysInSlot. Only relevant for getters. */
51815 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51816 : false, /* isTypedMethod. Only relevant for methods. */
51817 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51818 : };
51819 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51820 : static_assert(0 < 1, "There is no slot for us");
51821 : static const JSJitInfo webkitAnimation_setterinfo = {
51822 : { (JSJitGetterOp)set_webkitAnimation },
51823 : { prototypes::id::CSS2Properties },
51824 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51825 : JSJitInfo::Setter,
51826 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51827 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
51828 : false, /* isInfallible. False in setters. */
51829 : false, /* isMovable. Not relevant for setters. */
51830 : false, /* isEliminatable. Not relevant for setters. */
51831 : false, /* isAlwaysInSlot. Only relevant for getters. */
51832 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51833 : false, /* isTypedMethod. Only relevant for methods. */
51834 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51835 : };
51836 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51837 : static_assert(0 < 1, "There is no slot for us");
51838 :
51839 : static bool
51840 0 : get__webkit_animation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
51841 : {
51842 0 : binding_detail::FastErrorResult rv;
51843 0 : DOMString result;
51844 0 : self->GetWebkitAnimation(result, rv);
51845 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51846 0 : return false;
51847 : }
51848 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51849 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
51850 0 : return false;
51851 : }
51852 0 : return true;
51853 : }
51854 :
51855 : static bool
51856 0 : set__webkit_animation(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
51857 : {
51858 0 : binding_detail::FakeString arg0;
51859 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
51860 0 : return false;
51861 : }
51862 0 : binding_detail::FastErrorResult rv;
51863 0 : self->SetWebkitAnimation(NonNullHelper(Constify(arg0)), rv);
51864 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51865 0 : return false;
51866 : }
51867 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51868 :
51869 0 : return true;
51870 : }
51871 :
51872 : static const JSJitInfo _webkit_animation_getterinfo = {
51873 : { (JSJitGetterOp)get__webkit_animation },
51874 : { prototypes::id::CSS2Properties },
51875 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51876 : JSJitInfo::Getter,
51877 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51878 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
51879 : false, /* isInfallible. False in setters. */
51880 : false, /* isMovable. Not relevant for setters. */
51881 : false, /* isEliminatable. Not relevant for setters. */
51882 : false, /* isAlwaysInSlot. Only relevant for getters. */
51883 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51884 : false, /* isTypedMethod. Only relevant for methods. */
51885 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51886 : };
51887 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51888 : static_assert(0 < 1, "There is no slot for us");
51889 : static const JSJitInfo _webkit_animation_setterinfo = {
51890 : { (JSJitGetterOp)set__webkit_animation },
51891 : { prototypes::id::CSS2Properties },
51892 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51893 : JSJitInfo::Setter,
51894 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51895 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
51896 : false, /* isInfallible. False in setters. */
51897 : false, /* isMovable. Not relevant for setters. */
51898 : false, /* isEliminatable. Not relevant for setters. */
51899 : false, /* isAlwaysInSlot. Only relevant for getters. */
51900 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51901 : false, /* isTypedMethod. Only relevant for methods. */
51902 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51903 : };
51904 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51905 : static_assert(0 < 1, "There is no slot for us");
51906 :
51907 : static bool
51908 0 : get_WebkitAnimationDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
51909 : {
51910 0 : binding_detail::FastErrorResult rv;
51911 0 : DOMString result;
51912 0 : self->GetWebkitAnimationDelay(result, rv);
51913 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51914 0 : return false;
51915 : }
51916 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51917 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
51918 0 : return false;
51919 : }
51920 0 : return true;
51921 : }
51922 :
51923 : static bool
51924 0 : set_WebkitAnimationDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
51925 : {
51926 0 : binding_detail::FakeString arg0;
51927 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
51928 0 : return false;
51929 : }
51930 0 : binding_detail::FastErrorResult rv;
51931 0 : self->SetWebkitAnimationDelay(NonNullHelper(Constify(arg0)), rv);
51932 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51933 0 : return false;
51934 : }
51935 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51936 :
51937 0 : return true;
51938 : }
51939 :
51940 : static const JSJitInfo WebkitAnimationDelay_getterinfo = {
51941 : { (JSJitGetterOp)get_WebkitAnimationDelay },
51942 : { prototypes::id::CSS2Properties },
51943 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51944 : JSJitInfo::Getter,
51945 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51946 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
51947 : false, /* isInfallible. False in setters. */
51948 : false, /* isMovable. Not relevant for setters. */
51949 : false, /* isEliminatable. Not relevant for setters. */
51950 : false, /* isAlwaysInSlot. Only relevant for getters. */
51951 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51952 : false, /* isTypedMethod. Only relevant for methods. */
51953 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51954 : };
51955 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51956 : static_assert(0 < 1, "There is no slot for us");
51957 : static const JSJitInfo WebkitAnimationDelay_setterinfo = {
51958 : { (JSJitGetterOp)set_WebkitAnimationDelay },
51959 : { prototypes::id::CSS2Properties },
51960 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
51961 : JSJitInfo::Setter,
51962 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
51963 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
51964 : false, /* isInfallible. False in setters. */
51965 : false, /* isMovable. Not relevant for setters. */
51966 : false, /* isEliminatable. Not relevant for setters. */
51967 : false, /* isAlwaysInSlot. Only relevant for getters. */
51968 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
51969 : false, /* isTypedMethod. Only relevant for methods. */
51970 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
51971 : };
51972 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
51973 : static_assert(0 < 1, "There is no slot for us");
51974 :
51975 : static bool
51976 0 : get_webkitAnimationDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
51977 : {
51978 0 : binding_detail::FastErrorResult rv;
51979 0 : DOMString result;
51980 0 : self->GetWebkitAnimationDelay(result, rv);
51981 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
51982 0 : return false;
51983 : }
51984 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
51985 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
51986 0 : return false;
51987 : }
51988 0 : return true;
51989 : }
51990 :
51991 : static bool
51992 0 : set_webkitAnimationDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
51993 : {
51994 0 : binding_detail::FakeString arg0;
51995 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
51996 0 : return false;
51997 : }
51998 0 : binding_detail::FastErrorResult rv;
51999 0 : self->SetWebkitAnimationDelay(NonNullHelper(Constify(arg0)), rv);
52000 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52001 0 : return false;
52002 : }
52003 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52004 :
52005 0 : return true;
52006 : }
52007 :
52008 : static const JSJitInfo webkitAnimationDelay_getterinfo = {
52009 : { (JSJitGetterOp)get_webkitAnimationDelay },
52010 : { prototypes::id::CSS2Properties },
52011 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52012 : JSJitInfo::Getter,
52013 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52014 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
52015 : false, /* isInfallible. False in setters. */
52016 : false, /* isMovable. Not relevant for setters. */
52017 : false, /* isEliminatable. Not relevant for setters. */
52018 : false, /* isAlwaysInSlot. Only relevant for getters. */
52019 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52020 : false, /* isTypedMethod. Only relevant for methods. */
52021 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52022 : };
52023 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52024 : static_assert(0 < 1, "There is no slot for us");
52025 : static const JSJitInfo webkitAnimationDelay_setterinfo = {
52026 : { (JSJitGetterOp)set_webkitAnimationDelay },
52027 : { prototypes::id::CSS2Properties },
52028 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52029 : JSJitInfo::Setter,
52030 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52031 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
52032 : false, /* isInfallible. False in setters. */
52033 : false, /* isMovable. Not relevant for setters. */
52034 : false, /* isEliminatable. Not relevant for setters. */
52035 : false, /* isAlwaysInSlot. Only relevant for getters. */
52036 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52037 : false, /* isTypedMethod. Only relevant for methods. */
52038 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52039 : };
52040 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52041 : static_assert(0 < 1, "There is no slot for us");
52042 :
52043 : static bool
52044 0 : get__webkit_animation_delay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
52045 : {
52046 0 : binding_detail::FastErrorResult rv;
52047 0 : DOMString result;
52048 0 : self->GetWebkitAnimationDelay(result, rv);
52049 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52050 0 : return false;
52051 : }
52052 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52053 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
52054 0 : return false;
52055 : }
52056 0 : return true;
52057 : }
52058 :
52059 : static bool
52060 0 : set__webkit_animation_delay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
52061 : {
52062 0 : binding_detail::FakeString arg0;
52063 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
52064 0 : return false;
52065 : }
52066 0 : binding_detail::FastErrorResult rv;
52067 0 : self->SetWebkitAnimationDelay(NonNullHelper(Constify(arg0)), rv);
52068 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52069 0 : return false;
52070 : }
52071 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52072 :
52073 0 : return true;
52074 : }
52075 :
52076 : static const JSJitInfo _webkit_animation_delay_getterinfo = {
52077 : { (JSJitGetterOp)get__webkit_animation_delay },
52078 : { prototypes::id::CSS2Properties },
52079 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52080 : JSJitInfo::Getter,
52081 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52082 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
52083 : false, /* isInfallible. False in setters. */
52084 : false, /* isMovable. Not relevant for setters. */
52085 : false, /* isEliminatable. Not relevant for setters. */
52086 : false, /* isAlwaysInSlot. Only relevant for getters. */
52087 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52088 : false, /* isTypedMethod. Only relevant for methods. */
52089 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52090 : };
52091 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52092 : static_assert(0 < 1, "There is no slot for us");
52093 : static const JSJitInfo _webkit_animation_delay_setterinfo = {
52094 : { (JSJitGetterOp)set__webkit_animation_delay },
52095 : { prototypes::id::CSS2Properties },
52096 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52097 : JSJitInfo::Setter,
52098 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52099 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
52100 : false, /* isInfallible. False in setters. */
52101 : false, /* isMovable. Not relevant for setters. */
52102 : false, /* isEliminatable. Not relevant for setters. */
52103 : false, /* isAlwaysInSlot. Only relevant for getters. */
52104 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52105 : false, /* isTypedMethod. Only relevant for methods. */
52106 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52107 : };
52108 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52109 : static_assert(0 < 1, "There is no slot for us");
52110 :
52111 : static bool
52112 0 : get_WebkitAnimationDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
52113 : {
52114 0 : binding_detail::FastErrorResult rv;
52115 0 : DOMString result;
52116 0 : self->GetWebkitAnimationDirection(result, rv);
52117 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52118 0 : return false;
52119 : }
52120 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52121 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
52122 0 : return false;
52123 : }
52124 0 : return true;
52125 : }
52126 :
52127 : static bool
52128 0 : set_WebkitAnimationDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
52129 : {
52130 0 : binding_detail::FakeString arg0;
52131 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
52132 0 : return false;
52133 : }
52134 0 : binding_detail::FastErrorResult rv;
52135 0 : self->SetWebkitAnimationDirection(NonNullHelper(Constify(arg0)), rv);
52136 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52137 0 : return false;
52138 : }
52139 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52140 :
52141 0 : return true;
52142 : }
52143 :
52144 : static const JSJitInfo WebkitAnimationDirection_getterinfo = {
52145 : { (JSJitGetterOp)get_WebkitAnimationDirection },
52146 : { prototypes::id::CSS2Properties },
52147 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52148 : JSJitInfo::Getter,
52149 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52150 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
52151 : false, /* isInfallible. False in setters. */
52152 : false, /* isMovable. Not relevant for setters. */
52153 : false, /* isEliminatable. Not relevant for setters. */
52154 : false, /* isAlwaysInSlot. Only relevant for getters. */
52155 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52156 : false, /* isTypedMethod. Only relevant for methods. */
52157 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52158 : };
52159 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52160 : static_assert(0 < 1, "There is no slot for us");
52161 : static const JSJitInfo WebkitAnimationDirection_setterinfo = {
52162 : { (JSJitGetterOp)set_WebkitAnimationDirection },
52163 : { prototypes::id::CSS2Properties },
52164 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52165 : JSJitInfo::Setter,
52166 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52167 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
52168 : false, /* isInfallible. False in setters. */
52169 : false, /* isMovable. Not relevant for setters. */
52170 : false, /* isEliminatable. Not relevant for setters. */
52171 : false, /* isAlwaysInSlot. Only relevant for getters. */
52172 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52173 : false, /* isTypedMethod. Only relevant for methods. */
52174 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52175 : };
52176 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52177 : static_assert(0 < 1, "There is no slot for us");
52178 :
52179 : static bool
52180 0 : get_webkitAnimationDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
52181 : {
52182 0 : binding_detail::FastErrorResult rv;
52183 0 : DOMString result;
52184 0 : self->GetWebkitAnimationDirection(result, rv);
52185 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52186 0 : return false;
52187 : }
52188 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52189 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
52190 0 : return false;
52191 : }
52192 0 : return true;
52193 : }
52194 :
52195 : static bool
52196 0 : set_webkitAnimationDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
52197 : {
52198 0 : binding_detail::FakeString arg0;
52199 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
52200 0 : return false;
52201 : }
52202 0 : binding_detail::FastErrorResult rv;
52203 0 : self->SetWebkitAnimationDirection(NonNullHelper(Constify(arg0)), rv);
52204 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52205 0 : return false;
52206 : }
52207 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52208 :
52209 0 : return true;
52210 : }
52211 :
52212 : static const JSJitInfo webkitAnimationDirection_getterinfo = {
52213 : { (JSJitGetterOp)get_webkitAnimationDirection },
52214 : { prototypes::id::CSS2Properties },
52215 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52216 : JSJitInfo::Getter,
52217 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52218 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
52219 : false, /* isInfallible. False in setters. */
52220 : false, /* isMovable. Not relevant for setters. */
52221 : false, /* isEliminatable. Not relevant for setters. */
52222 : false, /* isAlwaysInSlot. Only relevant for getters. */
52223 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52224 : false, /* isTypedMethod. Only relevant for methods. */
52225 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52226 : };
52227 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52228 : static_assert(0 < 1, "There is no slot for us");
52229 : static const JSJitInfo webkitAnimationDirection_setterinfo = {
52230 : { (JSJitGetterOp)set_webkitAnimationDirection },
52231 : { prototypes::id::CSS2Properties },
52232 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52233 : JSJitInfo::Setter,
52234 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52235 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
52236 : false, /* isInfallible. False in setters. */
52237 : false, /* isMovable. Not relevant for setters. */
52238 : false, /* isEliminatable. Not relevant for setters. */
52239 : false, /* isAlwaysInSlot. Only relevant for getters. */
52240 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52241 : false, /* isTypedMethod. Only relevant for methods. */
52242 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52243 : };
52244 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52245 : static_assert(0 < 1, "There is no slot for us");
52246 :
52247 : static bool
52248 0 : get__webkit_animation_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
52249 : {
52250 0 : binding_detail::FastErrorResult rv;
52251 0 : DOMString result;
52252 0 : self->GetWebkitAnimationDirection(result, rv);
52253 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52254 0 : return false;
52255 : }
52256 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52257 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
52258 0 : return false;
52259 : }
52260 0 : return true;
52261 : }
52262 :
52263 : static bool
52264 0 : set__webkit_animation_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
52265 : {
52266 0 : binding_detail::FakeString arg0;
52267 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
52268 0 : return false;
52269 : }
52270 0 : binding_detail::FastErrorResult rv;
52271 0 : self->SetWebkitAnimationDirection(NonNullHelper(Constify(arg0)), rv);
52272 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52273 0 : return false;
52274 : }
52275 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52276 :
52277 0 : return true;
52278 : }
52279 :
52280 : static const JSJitInfo _webkit_animation_direction_getterinfo = {
52281 : { (JSJitGetterOp)get__webkit_animation_direction },
52282 : { prototypes::id::CSS2Properties },
52283 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52284 : JSJitInfo::Getter,
52285 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52286 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
52287 : false, /* isInfallible. False in setters. */
52288 : false, /* isMovable. Not relevant for setters. */
52289 : false, /* isEliminatable. Not relevant for setters. */
52290 : false, /* isAlwaysInSlot. Only relevant for getters. */
52291 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52292 : false, /* isTypedMethod. Only relevant for methods. */
52293 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52294 : };
52295 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52296 : static_assert(0 < 1, "There is no slot for us");
52297 : static const JSJitInfo _webkit_animation_direction_setterinfo = {
52298 : { (JSJitGetterOp)set__webkit_animation_direction },
52299 : { prototypes::id::CSS2Properties },
52300 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52301 : JSJitInfo::Setter,
52302 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52303 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
52304 : false, /* isInfallible. False in setters. */
52305 : false, /* isMovable. Not relevant for setters. */
52306 : false, /* isEliminatable. Not relevant for setters. */
52307 : false, /* isAlwaysInSlot. Only relevant for getters. */
52308 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52309 : false, /* isTypedMethod. Only relevant for methods. */
52310 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52311 : };
52312 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52313 : static_assert(0 < 1, "There is no slot for us");
52314 :
52315 : static bool
52316 0 : get_WebkitAnimationDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
52317 : {
52318 0 : binding_detail::FastErrorResult rv;
52319 0 : DOMString result;
52320 0 : self->GetWebkitAnimationDuration(result, rv);
52321 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52322 0 : return false;
52323 : }
52324 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52325 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
52326 0 : return false;
52327 : }
52328 0 : return true;
52329 : }
52330 :
52331 : static bool
52332 0 : set_WebkitAnimationDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
52333 : {
52334 0 : binding_detail::FakeString arg0;
52335 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
52336 0 : return false;
52337 : }
52338 0 : binding_detail::FastErrorResult rv;
52339 0 : self->SetWebkitAnimationDuration(NonNullHelper(Constify(arg0)), rv);
52340 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52341 0 : return false;
52342 : }
52343 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52344 :
52345 0 : return true;
52346 : }
52347 :
52348 : static const JSJitInfo WebkitAnimationDuration_getterinfo = {
52349 : { (JSJitGetterOp)get_WebkitAnimationDuration },
52350 : { prototypes::id::CSS2Properties },
52351 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52352 : JSJitInfo::Getter,
52353 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52354 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
52355 : false, /* isInfallible. False in setters. */
52356 : false, /* isMovable. Not relevant for setters. */
52357 : false, /* isEliminatable. Not relevant for setters. */
52358 : false, /* isAlwaysInSlot. Only relevant for getters. */
52359 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52360 : false, /* isTypedMethod. Only relevant for methods. */
52361 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52362 : };
52363 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52364 : static_assert(0 < 1, "There is no slot for us");
52365 : static const JSJitInfo WebkitAnimationDuration_setterinfo = {
52366 : { (JSJitGetterOp)set_WebkitAnimationDuration },
52367 : { prototypes::id::CSS2Properties },
52368 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52369 : JSJitInfo::Setter,
52370 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52371 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
52372 : false, /* isInfallible. False in setters. */
52373 : false, /* isMovable. Not relevant for setters. */
52374 : false, /* isEliminatable. Not relevant for setters. */
52375 : false, /* isAlwaysInSlot. Only relevant for getters. */
52376 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52377 : false, /* isTypedMethod. Only relevant for methods. */
52378 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52379 : };
52380 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52381 : static_assert(0 < 1, "There is no slot for us");
52382 :
52383 : static bool
52384 0 : get_webkitAnimationDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
52385 : {
52386 0 : binding_detail::FastErrorResult rv;
52387 0 : DOMString result;
52388 0 : self->GetWebkitAnimationDuration(result, rv);
52389 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52390 0 : return false;
52391 : }
52392 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52393 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
52394 0 : return false;
52395 : }
52396 0 : return true;
52397 : }
52398 :
52399 : static bool
52400 0 : set_webkitAnimationDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
52401 : {
52402 0 : binding_detail::FakeString arg0;
52403 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
52404 0 : return false;
52405 : }
52406 0 : binding_detail::FastErrorResult rv;
52407 0 : self->SetWebkitAnimationDuration(NonNullHelper(Constify(arg0)), rv);
52408 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52409 0 : return false;
52410 : }
52411 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52412 :
52413 0 : return true;
52414 : }
52415 :
52416 : static const JSJitInfo webkitAnimationDuration_getterinfo = {
52417 : { (JSJitGetterOp)get_webkitAnimationDuration },
52418 : { prototypes::id::CSS2Properties },
52419 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52420 : JSJitInfo::Getter,
52421 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52422 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
52423 : false, /* isInfallible. False in setters. */
52424 : false, /* isMovable. Not relevant for setters. */
52425 : false, /* isEliminatable. Not relevant for setters. */
52426 : false, /* isAlwaysInSlot. Only relevant for getters. */
52427 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52428 : false, /* isTypedMethod. Only relevant for methods. */
52429 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52430 : };
52431 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52432 : static_assert(0 < 1, "There is no slot for us");
52433 : static const JSJitInfo webkitAnimationDuration_setterinfo = {
52434 : { (JSJitGetterOp)set_webkitAnimationDuration },
52435 : { prototypes::id::CSS2Properties },
52436 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52437 : JSJitInfo::Setter,
52438 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52439 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
52440 : false, /* isInfallible. False in setters. */
52441 : false, /* isMovable. Not relevant for setters. */
52442 : false, /* isEliminatable. Not relevant for setters. */
52443 : false, /* isAlwaysInSlot. Only relevant for getters. */
52444 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52445 : false, /* isTypedMethod. Only relevant for methods. */
52446 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52447 : };
52448 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52449 : static_assert(0 < 1, "There is no slot for us");
52450 :
52451 : static bool
52452 0 : get__webkit_animation_duration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
52453 : {
52454 0 : binding_detail::FastErrorResult rv;
52455 0 : DOMString result;
52456 0 : self->GetWebkitAnimationDuration(result, rv);
52457 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52458 0 : return false;
52459 : }
52460 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52461 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
52462 0 : return false;
52463 : }
52464 0 : return true;
52465 : }
52466 :
52467 : static bool
52468 0 : set__webkit_animation_duration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
52469 : {
52470 0 : binding_detail::FakeString arg0;
52471 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
52472 0 : return false;
52473 : }
52474 0 : binding_detail::FastErrorResult rv;
52475 0 : self->SetWebkitAnimationDuration(NonNullHelper(Constify(arg0)), rv);
52476 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52477 0 : return false;
52478 : }
52479 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52480 :
52481 0 : return true;
52482 : }
52483 :
52484 : static const JSJitInfo _webkit_animation_duration_getterinfo = {
52485 : { (JSJitGetterOp)get__webkit_animation_duration },
52486 : { prototypes::id::CSS2Properties },
52487 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52488 : JSJitInfo::Getter,
52489 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52490 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
52491 : false, /* isInfallible. False in setters. */
52492 : false, /* isMovable. Not relevant for setters. */
52493 : false, /* isEliminatable. Not relevant for setters. */
52494 : false, /* isAlwaysInSlot. Only relevant for getters. */
52495 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52496 : false, /* isTypedMethod. Only relevant for methods. */
52497 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52498 : };
52499 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52500 : static_assert(0 < 1, "There is no slot for us");
52501 : static const JSJitInfo _webkit_animation_duration_setterinfo = {
52502 : { (JSJitGetterOp)set__webkit_animation_duration },
52503 : { prototypes::id::CSS2Properties },
52504 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52505 : JSJitInfo::Setter,
52506 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52507 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
52508 : false, /* isInfallible. False in setters. */
52509 : false, /* isMovable. Not relevant for setters. */
52510 : false, /* isEliminatable. Not relevant for setters. */
52511 : false, /* isAlwaysInSlot. Only relevant for getters. */
52512 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52513 : false, /* isTypedMethod. Only relevant for methods. */
52514 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52515 : };
52516 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52517 : static_assert(0 < 1, "There is no slot for us");
52518 :
52519 : static bool
52520 0 : get_WebkitAnimationFillMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
52521 : {
52522 0 : binding_detail::FastErrorResult rv;
52523 0 : DOMString result;
52524 0 : self->GetWebkitAnimationFillMode(result, rv);
52525 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52526 0 : return false;
52527 : }
52528 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52529 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
52530 0 : return false;
52531 : }
52532 0 : return true;
52533 : }
52534 :
52535 : static bool
52536 0 : set_WebkitAnimationFillMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
52537 : {
52538 0 : binding_detail::FakeString arg0;
52539 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
52540 0 : return false;
52541 : }
52542 0 : binding_detail::FastErrorResult rv;
52543 0 : self->SetWebkitAnimationFillMode(NonNullHelper(Constify(arg0)), rv);
52544 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52545 0 : return false;
52546 : }
52547 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52548 :
52549 0 : return true;
52550 : }
52551 :
52552 : static const JSJitInfo WebkitAnimationFillMode_getterinfo = {
52553 : { (JSJitGetterOp)get_WebkitAnimationFillMode },
52554 : { prototypes::id::CSS2Properties },
52555 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52556 : JSJitInfo::Getter,
52557 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52558 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
52559 : false, /* isInfallible. False in setters. */
52560 : false, /* isMovable. Not relevant for setters. */
52561 : false, /* isEliminatable. Not relevant for setters. */
52562 : false, /* isAlwaysInSlot. Only relevant for getters. */
52563 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52564 : false, /* isTypedMethod. Only relevant for methods. */
52565 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52566 : };
52567 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52568 : static_assert(0 < 1, "There is no slot for us");
52569 : static const JSJitInfo WebkitAnimationFillMode_setterinfo = {
52570 : { (JSJitGetterOp)set_WebkitAnimationFillMode },
52571 : { prototypes::id::CSS2Properties },
52572 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52573 : JSJitInfo::Setter,
52574 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52575 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
52576 : false, /* isInfallible. False in setters. */
52577 : false, /* isMovable. Not relevant for setters. */
52578 : false, /* isEliminatable. Not relevant for setters. */
52579 : false, /* isAlwaysInSlot. Only relevant for getters. */
52580 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52581 : false, /* isTypedMethod. Only relevant for methods. */
52582 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52583 : };
52584 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52585 : static_assert(0 < 1, "There is no slot for us");
52586 :
52587 : static bool
52588 0 : get_webkitAnimationFillMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
52589 : {
52590 0 : binding_detail::FastErrorResult rv;
52591 0 : DOMString result;
52592 0 : self->GetWebkitAnimationFillMode(result, rv);
52593 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52594 0 : return false;
52595 : }
52596 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52597 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
52598 0 : return false;
52599 : }
52600 0 : return true;
52601 : }
52602 :
52603 : static bool
52604 0 : set_webkitAnimationFillMode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
52605 : {
52606 0 : binding_detail::FakeString arg0;
52607 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
52608 0 : return false;
52609 : }
52610 0 : binding_detail::FastErrorResult rv;
52611 0 : self->SetWebkitAnimationFillMode(NonNullHelper(Constify(arg0)), rv);
52612 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52613 0 : return false;
52614 : }
52615 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52616 :
52617 0 : return true;
52618 : }
52619 :
52620 : static const JSJitInfo webkitAnimationFillMode_getterinfo = {
52621 : { (JSJitGetterOp)get_webkitAnimationFillMode },
52622 : { prototypes::id::CSS2Properties },
52623 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52624 : JSJitInfo::Getter,
52625 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52626 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
52627 : false, /* isInfallible. False in setters. */
52628 : false, /* isMovable. Not relevant for setters. */
52629 : false, /* isEliminatable. Not relevant for setters. */
52630 : false, /* isAlwaysInSlot. Only relevant for getters. */
52631 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52632 : false, /* isTypedMethod. Only relevant for methods. */
52633 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52634 : };
52635 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52636 : static_assert(0 < 1, "There is no slot for us");
52637 : static const JSJitInfo webkitAnimationFillMode_setterinfo = {
52638 : { (JSJitGetterOp)set_webkitAnimationFillMode },
52639 : { prototypes::id::CSS2Properties },
52640 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52641 : JSJitInfo::Setter,
52642 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52643 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
52644 : false, /* isInfallible. False in setters. */
52645 : false, /* isMovable. Not relevant for setters. */
52646 : false, /* isEliminatable. Not relevant for setters. */
52647 : false, /* isAlwaysInSlot. Only relevant for getters. */
52648 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52649 : false, /* isTypedMethod. Only relevant for methods. */
52650 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52651 : };
52652 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52653 : static_assert(0 < 1, "There is no slot for us");
52654 :
52655 : static bool
52656 0 : get__webkit_animation_fill_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
52657 : {
52658 0 : binding_detail::FastErrorResult rv;
52659 0 : DOMString result;
52660 0 : self->GetWebkitAnimationFillMode(result, rv);
52661 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52662 0 : return false;
52663 : }
52664 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52665 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
52666 0 : return false;
52667 : }
52668 0 : return true;
52669 : }
52670 :
52671 : static bool
52672 0 : set__webkit_animation_fill_mode(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
52673 : {
52674 0 : binding_detail::FakeString arg0;
52675 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
52676 0 : return false;
52677 : }
52678 0 : binding_detail::FastErrorResult rv;
52679 0 : self->SetWebkitAnimationFillMode(NonNullHelper(Constify(arg0)), rv);
52680 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52681 0 : return false;
52682 : }
52683 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52684 :
52685 0 : return true;
52686 : }
52687 :
52688 : static const JSJitInfo _webkit_animation_fill_mode_getterinfo = {
52689 : { (JSJitGetterOp)get__webkit_animation_fill_mode },
52690 : { prototypes::id::CSS2Properties },
52691 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52692 : JSJitInfo::Getter,
52693 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52694 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
52695 : false, /* isInfallible. False in setters. */
52696 : false, /* isMovable. Not relevant for setters. */
52697 : false, /* isEliminatable. Not relevant for setters. */
52698 : false, /* isAlwaysInSlot. Only relevant for getters. */
52699 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52700 : false, /* isTypedMethod. Only relevant for methods. */
52701 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52702 : };
52703 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52704 : static_assert(0 < 1, "There is no slot for us");
52705 : static const JSJitInfo _webkit_animation_fill_mode_setterinfo = {
52706 : { (JSJitGetterOp)set__webkit_animation_fill_mode },
52707 : { prototypes::id::CSS2Properties },
52708 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52709 : JSJitInfo::Setter,
52710 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52711 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
52712 : false, /* isInfallible. False in setters. */
52713 : false, /* isMovable. Not relevant for setters. */
52714 : false, /* isEliminatable. Not relevant for setters. */
52715 : false, /* isAlwaysInSlot. Only relevant for getters. */
52716 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52717 : false, /* isTypedMethod. Only relevant for methods. */
52718 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52719 : };
52720 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52721 : static_assert(0 < 1, "There is no slot for us");
52722 :
52723 : static bool
52724 0 : get_WebkitAnimationIterationCount(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
52725 : {
52726 0 : binding_detail::FastErrorResult rv;
52727 0 : DOMString result;
52728 0 : self->GetWebkitAnimationIterationCount(result, rv);
52729 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52730 0 : return false;
52731 : }
52732 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52733 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
52734 0 : return false;
52735 : }
52736 0 : return true;
52737 : }
52738 :
52739 : static bool
52740 0 : set_WebkitAnimationIterationCount(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
52741 : {
52742 0 : binding_detail::FakeString arg0;
52743 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
52744 0 : return false;
52745 : }
52746 0 : binding_detail::FastErrorResult rv;
52747 0 : self->SetWebkitAnimationIterationCount(NonNullHelper(Constify(arg0)), rv);
52748 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52749 0 : return false;
52750 : }
52751 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52752 :
52753 0 : return true;
52754 : }
52755 :
52756 : static const JSJitInfo WebkitAnimationIterationCount_getterinfo = {
52757 : { (JSJitGetterOp)get_WebkitAnimationIterationCount },
52758 : { prototypes::id::CSS2Properties },
52759 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52760 : JSJitInfo::Getter,
52761 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52762 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
52763 : false, /* isInfallible. False in setters. */
52764 : false, /* isMovable. Not relevant for setters. */
52765 : false, /* isEliminatable. Not relevant for setters. */
52766 : false, /* isAlwaysInSlot. Only relevant for getters. */
52767 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52768 : false, /* isTypedMethod. Only relevant for methods. */
52769 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52770 : };
52771 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52772 : static_assert(0 < 1, "There is no slot for us");
52773 : static const JSJitInfo WebkitAnimationIterationCount_setterinfo = {
52774 : { (JSJitGetterOp)set_WebkitAnimationIterationCount },
52775 : { prototypes::id::CSS2Properties },
52776 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52777 : JSJitInfo::Setter,
52778 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52779 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
52780 : false, /* isInfallible. False in setters. */
52781 : false, /* isMovable. Not relevant for setters. */
52782 : false, /* isEliminatable. Not relevant for setters. */
52783 : false, /* isAlwaysInSlot. Only relevant for getters. */
52784 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52785 : false, /* isTypedMethod. Only relevant for methods. */
52786 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52787 : };
52788 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52789 : static_assert(0 < 1, "There is no slot for us");
52790 :
52791 : static bool
52792 0 : get_webkitAnimationIterationCount(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
52793 : {
52794 0 : binding_detail::FastErrorResult rv;
52795 0 : DOMString result;
52796 0 : self->GetWebkitAnimationIterationCount(result, rv);
52797 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52798 0 : return false;
52799 : }
52800 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52801 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
52802 0 : return false;
52803 : }
52804 0 : return true;
52805 : }
52806 :
52807 : static bool
52808 0 : set_webkitAnimationIterationCount(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
52809 : {
52810 0 : binding_detail::FakeString arg0;
52811 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
52812 0 : return false;
52813 : }
52814 0 : binding_detail::FastErrorResult rv;
52815 0 : self->SetWebkitAnimationIterationCount(NonNullHelper(Constify(arg0)), rv);
52816 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52817 0 : return false;
52818 : }
52819 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52820 :
52821 0 : return true;
52822 : }
52823 :
52824 : static const JSJitInfo webkitAnimationIterationCount_getterinfo = {
52825 : { (JSJitGetterOp)get_webkitAnimationIterationCount },
52826 : { prototypes::id::CSS2Properties },
52827 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52828 : JSJitInfo::Getter,
52829 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52830 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
52831 : false, /* isInfallible. False in setters. */
52832 : false, /* isMovable. Not relevant for setters. */
52833 : false, /* isEliminatable. Not relevant for setters. */
52834 : false, /* isAlwaysInSlot. Only relevant for getters. */
52835 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52836 : false, /* isTypedMethod. Only relevant for methods. */
52837 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52838 : };
52839 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52840 : static_assert(0 < 1, "There is no slot for us");
52841 : static const JSJitInfo webkitAnimationIterationCount_setterinfo = {
52842 : { (JSJitGetterOp)set_webkitAnimationIterationCount },
52843 : { prototypes::id::CSS2Properties },
52844 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52845 : JSJitInfo::Setter,
52846 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52847 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
52848 : false, /* isInfallible. False in setters. */
52849 : false, /* isMovable. Not relevant for setters. */
52850 : false, /* isEliminatable. Not relevant for setters. */
52851 : false, /* isAlwaysInSlot. Only relevant for getters. */
52852 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52853 : false, /* isTypedMethod. Only relevant for methods. */
52854 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52855 : };
52856 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52857 : static_assert(0 < 1, "There is no slot for us");
52858 :
52859 : static bool
52860 0 : get__webkit_animation_iteration_count(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
52861 : {
52862 0 : binding_detail::FastErrorResult rv;
52863 0 : DOMString result;
52864 0 : self->GetWebkitAnimationIterationCount(result, rv);
52865 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52866 0 : return false;
52867 : }
52868 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52869 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
52870 0 : return false;
52871 : }
52872 0 : return true;
52873 : }
52874 :
52875 : static bool
52876 0 : set__webkit_animation_iteration_count(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
52877 : {
52878 0 : binding_detail::FakeString arg0;
52879 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
52880 0 : return false;
52881 : }
52882 0 : binding_detail::FastErrorResult rv;
52883 0 : self->SetWebkitAnimationIterationCount(NonNullHelper(Constify(arg0)), rv);
52884 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52885 0 : return false;
52886 : }
52887 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52888 :
52889 0 : return true;
52890 : }
52891 :
52892 : static const JSJitInfo _webkit_animation_iteration_count_getterinfo = {
52893 : { (JSJitGetterOp)get__webkit_animation_iteration_count },
52894 : { prototypes::id::CSS2Properties },
52895 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52896 : JSJitInfo::Getter,
52897 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52898 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
52899 : false, /* isInfallible. False in setters. */
52900 : false, /* isMovable. Not relevant for setters. */
52901 : false, /* isEliminatable. Not relevant for setters. */
52902 : false, /* isAlwaysInSlot. Only relevant for getters. */
52903 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52904 : false, /* isTypedMethod. Only relevant for methods. */
52905 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52906 : };
52907 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52908 : static_assert(0 < 1, "There is no slot for us");
52909 : static const JSJitInfo _webkit_animation_iteration_count_setterinfo = {
52910 : { (JSJitGetterOp)set__webkit_animation_iteration_count },
52911 : { prototypes::id::CSS2Properties },
52912 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52913 : JSJitInfo::Setter,
52914 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52915 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
52916 : false, /* isInfallible. False in setters. */
52917 : false, /* isMovable. Not relevant for setters. */
52918 : false, /* isEliminatable. Not relevant for setters. */
52919 : false, /* isAlwaysInSlot. Only relevant for getters. */
52920 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52921 : false, /* isTypedMethod. Only relevant for methods. */
52922 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52923 : };
52924 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52925 : static_assert(0 < 1, "There is no slot for us");
52926 :
52927 : static bool
52928 0 : get_WebkitAnimationName(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
52929 : {
52930 0 : binding_detail::FastErrorResult rv;
52931 0 : DOMString result;
52932 0 : self->GetWebkitAnimationName(result, rv);
52933 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52934 0 : return false;
52935 : }
52936 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52937 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
52938 0 : return false;
52939 : }
52940 0 : return true;
52941 : }
52942 :
52943 : static bool
52944 0 : set_WebkitAnimationName(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
52945 : {
52946 0 : binding_detail::FakeString arg0;
52947 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
52948 0 : return false;
52949 : }
52950 0 : binding_detail::FastErrorResult rv;
52951 0 : self->SetWebkitAnimationName(NonNullHelper(Constify(arg0)), rv);
52952 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
52953 0 : return false;
52954 : }
52955 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
52956 :
52957 0 : return true;
52958 : }
52959 :
52960 : static const JSJitInfo WebkitAnimationName_getterinfo = {
52961 : { (JSJitGetterOp)get_WebkitAnimationName },
52962 : { prototypes::id::CSS2Properties },
52963 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52964 : JSJitInfo::Getter,
52965 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52966 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
52967 : false, /* isInfallible. False in setters. */
52968 : false, /* isMovable. Not relevant for setters. */
52969 : false, /* isEliminatable. Not relevant for setters. */
52970 : false, /* isAlwaysInSlot. Only relevant for getters. */
52971 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52972 : false, /* isTypedMethod. Only relevant for methods. */
52973 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52974 : };
52975 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52976 : static_assert(0 < 1, "There is no slot for us");
52977 : static const JSJitInfo WebkitAnimationName_setterinfo = {
52978 : { (JSJitGetterOp)set_WebkitAnimationName },
52979 : { prototypes::id::CSS2Properties },
52980 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
52981 : JSJitInfo::Setter,
52982 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
52983 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
52984 : false, /* isInfallible. False in setters. */
52985 : false, /* isMovable. Not relevant for setters. */
52986 : false, /* isEliminatable. Not relevant for setters. */
52987 : false, /* isAlwaysInSlot. Only relevant for getters. */
52988 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
52989 : false, /* isTypedMethod. Only relevant for methods. */
52990 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
52991 : };
52992 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
52993 : static_assert(0 < 1, "There is no slot for us");
52994 :
52995 : static bool
52996 0 : get_webkitAnimationName(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
52997 : {
52998 0 : binding_detail::FastErrorResult rv;
52999 0 : DOMString result;
53000 0 : self->GetWebkitAnimationName(result, rv);
53001 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53002 0 : return false;
53003 : }
53004 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53005 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
53006 0 : return false;
53007 : }
53008 0 : return true;
53009 : }
53010 :
53011 : static bool
53012 0 : set_webkitAnimationName(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
53013 : {
53014 0 : binding_detail::FakeString arg0;
53015 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
53016 0 : return false;
53017 : }
53018 0 : binding_detail::FastErrorResult rv;
53019 0 : self->SetWebkitAnimationName(NonNullHelper(Constify(arg0)), rv);
53020 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53021 0 : return false;
53022 : }
53023 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53024 :
53025 0 : return true;
53026 : }
53027 :
53028 : static const JSJitInfo webkitAnimationName_getterinfo = {
53029 : { (JSJitGetterOp)get_webkitAnimationName },
53030 : { prototypes::id::CSS2Properties },
53031 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53032 : JSJitInfo::Getter,
53033 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53034 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
53035 : false, /* isInfallible. False in setters. */
53036 : false, /* isMovable. Not relevant for setters. */
53037 : false, /* isEliminatable. Not relevant for setters. */
53038 : false, /* isAlwaysInSlot. Only relevant for getters. */
53039 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53040 : false, /* isTypedMethod. Only relevant for methods. */
53041 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53042 : };
53043 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53044 : static_assert(0 < 1, "There is no slot for us");
53045 : static const JSJitInfo webkitAnimationName_setterinfo = {
53046 : { (JSJitGetterOp)set_webkitAnimationName },
53047 : { prototypes::id::CSS2Properties },
53048 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53049 : JSJitInfo::Setter,
53050 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53051 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
53052 : false, /* isInfallible. False in setters. */
53053 : false, /* isMovable. Not relevant for setters. */
53054 : false, /* isEliminatable. Not relevant for setters. */
53055 : false, /* isAlwaysInSlot. Only relevant for getters. */
53056 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53057 : false, /* isTypedMethod. Only relevant for methods. */
53058 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53059 : };
53060 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53061 : static_assert(0 < 1, "There is no slot for us");
53062 :
53063 : static bool
53064 0 : get__webkit_animation_name(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
53065 : {
53066 0 : binding_detail::FastErrorResult rv;
53067 0 : DOMString result;
53068 0 : self->GetWebkitAnimationName(result, rv);
53069 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53070 0 : return false;
53071 : }
53072 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53073 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
53074 0 : return false;
53075 : }
53076 0 : return true;
53077 : }
53078 :
53079 : static bool
53080 0 : set__webkit_animation_name(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
53081 : {
53082 0 : binding_detail::FakeString arg0;
53083 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
53084 0 : return false;
53085 : }
53086 0 : binding_detail::FastErrorResult rv;
53087 0 : self->SetWebkitAnimationName(NonNullHelper(Constify(arg0)), rv);
53088 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53089 0 : return false;
53090 : }
53091 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53092 :
53093 0 : return true;
53094 : }
53095 :
53096 : static const JSJitInfo _webkit_animation_name_getterinfo = {
53097 : { (JSJitGetterOp)get__webkit_animation_name },
53098 : { prototypes::id::CSS2Properties },
53099 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53100 : JSJitInfo::Getter,
53101 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53102 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
53103 : false, /* isInfallible. False in setters. */
53104 : false, /* isMovable. Not relevant for setters. */
53105 : false, /* isEliminatable. Not relevant for setters. */
53106 : false, /* isAlwaysInSlot. Only relevant for getters. */
53107 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53108 : false, /* isTypedMethod. Only relevant for methods. */
53109 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53110 : };
53111 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53112 : static_assert(0 < 1, "There is no slot for us");
53113 : static const JSJitInfo _webkit_animation_name_setterinfo = {
53114 : { (JSJitGetterOp)set__webkit_animation_name },
53115 : { prototypes::id::CSS2Properties },
53116 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53117 : JSJitInfo::Setter,
53118 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53119 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
53120 : false, /* isInfallible. False in setters. */
53121 : false, /* isMovable. Not relevant for setters. */
53122 : false, /* isEliminatable. Not relevant for setters. */
53123 : false, /* isAlwaysInSlot. Only relevant for getters. */
53124 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53125 : false, /* isTypedMethod. Only relevant for methods. */
53126 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53127 : };
53128 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53129 : static_assert(0 < 1, "There is no slot for us");
53130 :
53131 : static bool
53132 0 : get_WebkitAnimationPlayState(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
53133 : {
53134 0 : binding_detail::FastErrorResult rv;
53135 0 : DOMString result;
53136 0 : self->GetWebkitAnimationPlayState(result, rv);
53137 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53138 0 : return false;
53139 : }
53140 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53141 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
53142 0 : return false;
53143 : }
53144 0 : return true;
53145 : }
53146 :
53147 : static bool
53148 0 : set_WebkitAnimationPlayState(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
53149 : {
53150 0 : binding_detail::FakeString arg0;
53151 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
53152 0 : return false;
53153 : }
53154 0 : binding_detail::FastErrorResult rv;
53155 0 : self->SetWebkitAnimationPlayState(NonNullHelper(Constify(arg0)), rv);
53156 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53157 0 : return false;
53158 : }
53159 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53160 :
53161 0 : return true;
53162 : }
53163 :
53164 : static const JSJitInfo WebkitAnimationPlayState_getterinfo = {
53165 : { (JSJitGetterOp)get_WebkitAnimationPlayState },
53166 : { prototypes::id::CSS2Properties },
53167 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53168 : JSJitInfo::Getter,
53169 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53170 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
53171 : false, /* isInfallible. False in setters. */
53172 : false, /* isMovable. Not relevant for setters. */
53173 : false, /* isEliminatable. Not relevant for setters. */
53174 : false, /* isAlwaysInSlot. Only relevant for getters. */
53175 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53176 : false, /* isTypedMethod. Only relevant for methods. */
53177 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53178 : };
53179 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53180 : static_assert(0 < 1, "There is no slot for us");
53181 : static const JSJitInfo WebkitAnimationPlayState_setterinfo = {
53182 : { (JSJitGetterOp)set_WebkitAnimationPlayState },
53183 : { prototypes::id::CSS2Properties },
53184 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53185 : JSJitInfo::Setter,
53186 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53187 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
53188 : false, /* isInfallible. False in setters. */
53189 : false, /* isMovable. Not relevant for setters. */
53190 : false, /* isEliminatable. Not relevant for setters. */
53191 : false, /* isAlwaysInSlot. Only relevant for getters. */
53192 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53193 : false, /* isTypedMethod. Only relevant for methods. */
53194 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53195 : };
53196 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53197 : static_assert(0 < 1, "There is no slot for us");
53198 :
53199 : static bool
53200 0 : get_webkitAnimationPlayState(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
53201 : {
53202 0 : binding_detail::FastErrorResult rv;
53203 0 : DOMString result;
53204 0 : self->GetWebkitAnimationPlayState(result, rv);
53205 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53206 0 : return false;
53207 : }
53208 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53209 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
53210 0 : return false;
53211 : }
53212 0 : return true;
53213 : }
53214 :
53215 : static bool
53216 0 : set_webkitAnimationPlayState(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
53217 : {
53218 0 : binding_detail::FakeString arg0;
53219 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
53220 0 : return false;
53221 : }
53222 0 : binding_detail::FastErrorResult rv;
53223 0 : self->SetWebkitAnimationPlayState(NonNullHelper(Constify(arg0)), rv);
53224 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53225 0 : return false;
53226 : }
53227 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53228 :
53229 0 : return true;
53230 : }
53231 :
53232 : static const JSJitInfo webkitAnimationPlayState_getterinfo = {
53233 : { (JSJitGetterOp)get_webkitAnimationPlayState },
53234 : { prototypes::id::CSS2Properties },
53235 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53236 : JSJitInfo::Getter,
53237 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53238 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
53239 : false, /* isInfallible. False in setters. */
53240 : false, /* isMovable. Not relevant for setters. */
53241 : false, /* isEliminatable. Not relevant for setters. */
53242 : false, /* isAlwaysInSlot. Only relevant for getters. */
53243 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53244 : false, /* isTypedMethod. Only relevant for methods. */
53245 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53246 : };
53247 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53248 : static_assert(0 < 1, "There is no slot for us");
53249 : static const JSJitInfo webkitAnimationPlayState_setterinfo = {
53250 : { (JSJitGetterOp)set_webkitAnimationPlayState },
53251 : { prototypes::id::CSS2Properties },
53252 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53253 : JSJitInfo::Setter,
53254 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53255 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
53256 : false, /* isInfallible. False in setters. */
53257 : false, /* isMovable. Not relevant for setters. */
53258 : false, /* isEliminatable. Not relevant for setters. */
53259 : false, /* isAlwaysInSlot. Only relevant for getters. */
53260 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53261 : false, /* isTypedMethod. Only relevant for methods. */
53262 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53263 : };
53264 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53265 : static_assert(0 < 1, "There is no slot for us");
53266 :
53267 : static bool
53268 0 : get__webkit_animation_play_state(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
53269 : {
53270 0 : binding_detail::FastErrorResult rv;
53271 0 : DOMString result;
53272 0 : self->GetWebkitAnimationPlayState(result, rv);
53273 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53274 0 : return false;
53275 : }
53276 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53277 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
53278 0 : return false;
53279 : }
53280 0 : return true;
53281 : }
53282 :
53283 : static bool
53284 0 : set__webkit_animation_play_state(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
53285 : {
53286 0 : binding_detail::FakeString arg0;
53287 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
53288 0 : return false;
53289 : }
53290 0 : binding_detail::FastErrorResult rv;
53291 0 : self->SetWebkitAnimationPlayState(NonNullHelper(Constify(arg0)), rv);
53292 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53293 0 : return false;
53294 : }
53295 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53296 :
53297 0 : return true;
53298 : }
53299 :
53300 : static const JSJitInfo _webkit_animation_play_state_getterinfo = {
53301 : { (JSJitGetterOp)get__webkit_animation_play_state },
53302 : { prototypes::id::CSS2Properties },
53303 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53304 : JSJitInfo::Getter,
53305 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53306 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
53307 : false, /* isInfallible. False in setters. */
53308 : false, /* isMovable. Not relevant for setters. */
53309 : false, /* isEliminatable. Not relevant for setters. */
53310 : false, /* isAlwaysInSlot. Only relevant for getters. */
53311 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53312 : false, /* isTypedMethod. Only relevant for methods. */
53313 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53314 : };
53315 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53316 : static_assert(0 < 1, "There is no slot for us");
53317 : static const JSJitInfo _webkit_animation_play_state_setterinfo = {
53318 : { (JSJitGetterOp)set__webkit_animation_play_state },
53319 : { prototypes::id::CSS2Properties },
53320 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53321 : JSJitInfo::Setter,
53322 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53323 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
53324 : false, /* isInfallible. False in setters. */
53325 : false, /* isMovable. Not relevant for setters. */
53326 : false, /* isEliminatable. Not relevant for setters. */
53327 : false, /* isAlwaysInSlot. Only relevant for getters. */
53328 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53329 : false, /* isTypedMethod. Only relevant for methods. */
53330 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53331 : };
53332 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53333 : static_assert(0 < 1, "There is no slot for us");
53334 :
53335 : static bool
53336 0 : get_WebkitAnimationTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
53337 : {
53338 0 : binding_detail::FastErrorResult rv;
53339 0 : DOMString result;
53340 0 : self->GetWebkitAnimationTimingFunction(result, rv);
53341 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53342 0 : return false;
53343 : }
53344 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53345 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
53346 0 : return false;
53347 : }
53348 0 : return true;
53349 : }
53350 :
53351 : static bool
53352 0 : set_WebkitAnimationTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
53353 : {
53354 0 : binding_detail::FakeString arg0;
53355 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
53356 0 : return false;
53357 : }
53358 0 : binding_detail::FastErrorResult rv;
53359 0 : self->SetWebkitAnimationTimingFunction(NonNullHelper(Constify(arg0)), rv);
53360 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53361 0 : return false;
53362 : }
53363 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53364 :
53365 0 : return true;
53366 : }
53367 :
53368 : static const JSJitInfo WebkitAnimationTimingFunction_getterinfo = {
53369 : { (JSJitGetterOp)get_WebkitAnimationTimingFunction },
53370 : { prototypes::id::CSS2Properties },
53371 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53372 : JSJitInfo::Getter,
53373 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53374 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
53375 : false, /* isInfallible. False in setters. */
53376 : false, /* isMovable. Not relevant for setters. */
53377 : false, /* isEliminatable. Not relevant for setters. */
53378 : false, /* isAlwaysInSlot. Only relevant for getters. */
53379 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53380 : false, /* isTypedMethod. Only relevant for methods. */
53381 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53382 : };
53383 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53384 : static_assert(0 < 1, "There is no slot for us");
53385 : static const JSJitInfo WebkitAnimationTimingFunction_setterinfo = {
53386 : { (JSJitGetterOp)set_WebkitAnimationTimingFunction },
53387 : { prototypes::id::CSS2Properties },
53388 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53389 : JSJitInfo::Setter,
53390 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53391 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
53392 : false, /* isInfallible. False in setters. */
53393 : false, /* isMovable. Not relevant for setters. */
53394 : false, /* isEliminatable. Not relevant for setters. */
53395 : false, /* isAlwaysInSlot. Only relevant for getters. */
53396 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53397 : false, /* isTypedMethod. Only relevant for methods. */
53398 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53399 : };
53400 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53401 : static_assert(0 < 1, "There is no slot for us");
53402 :
53403 : static bool
53404 0 : get_webkitAnimationTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
53405 : {
53406 0 : binding_detail::FastErrorResult rv;
53407 0 : DOMString result;
53408 0 : self->GetWebkitAnimationTimingFunction(result, rv);
53409 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53410 0 : return false;
53411 : }
53412 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53413 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
53414 0 : return false;
53415 : }
53416 0 : return true;
53417 : }
53418 :
53419 : static bool
53420 0 : set_webkitAnimationTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
53421 : {
53422 0 : binding_detail::FakeString arg0;
53423 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
53424 0 : return false;
53425 : }
53426 0 : binding_detail::FastErrorResult rv;
53427 0 : self->SetWebkitAnimationTimingFunction(NonNullHelper(Constify(arg0)), rv);
53428 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53429 0 : return false;
53430 : }
53431 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53432 :
53433 0 : return true;
53434 : }
53435 :
53436 : static const JSJitInfo webkitAnimationTimingFunction_getterinfo = {
53437 : { (JSJitGetterOp)get_webkitAnimationTimingFunction },
53438 : { prototypes::id::CSS2Properties },
53439 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53440 : JSJitInfo::Getter,
53441 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53442 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
53443 : false, /* isInfallible. False in setters. */
53444 : false, /* isMovable. Not relevant for setters. */
53445 : false, /* isEliminatable. Not relevant for setters. */
53446 : false, /* isAlwaysInSlot. Only relevant for getters. */
53447 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53448 : false, /* isTypedMethod. Only relevant for methods. */
53449 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53450 : };
53451 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53452 : static_assert(0 < 1, "There is no slot for us");
53453 : static const JSJitInfo webkitAnimationTimingFunction_setterinfo = {
53454 : { (JSJitGetterOp)set_webkitAnimationTimingFunction },
53455 : { prototypes::id::CSS2Properties },
53456 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53457 : JSJitInfo::Setter,
53458 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53459 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
53460 : false, /* isInfallible. False in setters. */
53461 : false, /* isMovable. Not relevant for setters. */
53462 : false, /* isEliminatable. Not relevant for setters. */
53463 : false, /* isAlwaysInSlot. Only relevant for getters. */
53464 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53465 : false, /* isTypedMethod. Only relevant for methods. */
53466 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53467 : };
53468 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53469 : static_assert(0 < 1, "There is no slot for us");
53470 :
53471 : static bool
53472 0 : get__webkit_animation_timing_function(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
53473 : {
53474 0 : binding_detail::FastErrorResult rv;
53475 0 : DOMString result;
53476 0 : self->GetWebkitAnimationTimingFunction(result, rv);
53477 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53478 0 : return false;
53479 : }
53480 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53481 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
53482 0 : return false;
53483 : }
53484 0 : return true;
53485 : }
53486 :
53487 : static bool
53488 0 : set__webkit_animation_timing_function(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
53489 : {
53490 0 : binding_detail::FakeString arg0;
53491 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
53492 0 : return false;
53493 : }
53494 0 : binding_detail::FastErrorResult rv;
53495 0 : self->SetWebkitAnimationTimingFunction(NonNullHelper(Constify(arg0)), rv);
53496 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53497 0 : return false;
53498 : }
53499 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53500 :
53501 0 : return true;
53502 : }
53503 :
53504 : static const JSJitInfo _webkit_animation_timing_function_getterinfo = {
53505 : { (JSJitGetterOp)get__webkit_animation_timing_function },
53506 : { prototypes::id::CSS2Properties },
53507 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53508 : JSJitInfo::Getter,
53509 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53510 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
53511 : false, /* isInfallible. False in setters. */
53512 : false, /* isMovable. Not relevant for setters. */
53513 : false, /* isEliminatable. Not relevant for setters. */
53514 : false, /* isAlwaysInSlot. Only relevant for getters. */
53515 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53516 : false, /* isTypedMethod. Only relevant for methods. */
53517 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53518 : };
53519 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53520 : static_assert(0 < 1, "There is no slot for us");
53521 : static const JSJitInfo _webkit_animation_timing_function_setterinfo = {
53522 : { (JSJitGetterOp)set__webkit_animation_timing_function },
53523 : { prototypes::id::CSS2Properties },
53524 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53525 : JSJitInfo::Setter,
53526 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53527 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
53528 : false, /* isInfallible. False in setters. */
53529 : false, /* isMovable. Not relevant for setters. */
53530 : false, /* isEliminatable. Not relevant for setters. */
53531 : false, /* isAlwaysInSlot. Only relevant for getters. */
53532 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53533 : false, /* isTypedMethod. Only relevant for methods. */
53534 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53535 : };
53536 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53537 : static_assert(0 < 1, "There is no slot for us");
53538 :
53539 : static bool
53540 0 : get_WebkitFilter(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
53541 : {
53542 0 : binding_detail::FastErrorResult rv;
53543 0 : DOMString result;
53544 0 : self->GetWebkitFilter(result, rv);
53545 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53546 0 : return false;
53547 : }
53548 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53549 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
53550 0 : return false;
53551 : }
53552 0 : return true;
53553 : }
53554 :
53555 : static bool
53556 0 : set_WebkitFilter(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
53557 : {
53558 0 : binding_detail::FakeString arg0;
53559 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
53560 0 : return false;
53561 : }
53562 0 : binding_detail::FastErrorResult rv;
53563 0 : self->SetWebkitFilter(NonNullHelper(Constify(arg0)), rv);
53564 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53565 0 : return false;
53566 : }
53567 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53568 :
53569 0 : return true;
53570 : }
53571 :
53572 : static const JSJitInfo WebkitFilter_getterinfo = {
53573 : { (JSJitGetterOp)get_WebkitFilter },
53574 : { prototypes::id::CSS2Properties },
53575 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53576 : JSJitInfo::Getter,
53577 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53578 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
53579 : false, /* isInfallible. False in setters. */
53580 : false, /* isMovable. Not relevant for setters. */
53581 : false, /* isEliminatable. Not relevant for setters. */
53582 : false, /* isAlwaysInSlot. Only relevant for getters. */
53583 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53584 : false, /* isTypedMethod. Only relevant for methods. */
53585 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53586 : };
53587 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53588 : static_assert(0 < 1, "There is no slot for us");
53589 : static const JSJitInfo WebkitFilter_setterinfo = {
53590 : { (JSJitGetterOp)set_WebkitFilter },
53591 : { prototypes::id::CSS2Properties },
53592 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53593 : JSJitInfo::Setter,
53594 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53595 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
53596 : false, /* isInfallible. False in setters. */
53597 : false, /* isMovable. Not relevant for setters. */
53598 : false, /* isEliminatable. Not relevant for setters. */
53599 : false, /* isAlwaysInSlot. Only relevant for getters. */
53600 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53601 : false, /* isTypedMethod. Only relevant for methods. */
53602 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53603 : };
53604 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53605 : static_assert(0 < 1, "There is no slot for us");
53606 :
53607 : static bool
53608 0 : get_webkitFilter(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
53609 : {
53610 0 : binding_detail::FastErrorResult rv;
53611 0 : DOMString result;
53612 0 : self->GetWebkitFilter(result, rv);
53613 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53614 0 : return false;
53615 : }
53616 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53617 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
53618 0 : return false;
53619 : }
53620 0 : return true;
53621 : }
53622 :
53623 : static bool
53624 0 : set_webkitFilter(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
53625 : {
53626 0 : binding_detail::FakeString arg0;
53627 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
53628 0 : return false;
53629 : }
53630 0 : binding_detail::FastErrorResult rv;
53631 0 : self->SetWebkitFilter(NonNullHelper(Constify(arg0)), rv);
53632 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53633 0 : return false;
53634 : }
53635 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53636 :
53637 0 : return true;
53638 : }
53639 :
53640 : static const JSJitInfo webkitFilter_getterinfo = {
53641 : { (JSJitGetterOp)get_webkitFilter },
53642 : { prototypes::id::CSS2Properties },
53643 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53644 : JSJitInfo::Getter,
53645 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53646 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
53647 : false, /* isInfallible. False in setters. */
53648 : false, /* isMovable. Not relevant for setters. */
53649 : false, /* isEliminatable. Not relevant for setters. */
53650 : false, /* isAlwaysInSlot. Only relevant for getters. */
53651 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53652 : false, /* isTypedMethod. Only relevant for methods. */
53653 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53654 : };
53655 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53656 : static_assert(0 < 1, "There is no slot for us");
53657 : static const JSJitInfo webkitFilter_setterinfo = {
53658 : { (JSJitGetterOp)set_webkitFilter },
53659 : { prototypes::id::CSS2Properties },
53660 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53661 : JSJitInfo::Setter,
53662 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53663 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
53664 : false, /* isInfallible. False in setters. */
53665 : false, /* isMovable. Not relevant for setters. */
53666 : false, /* isEliminatable. Not relevant for setters. */
53667 : false, /* isAlwaysInSlot. Only relevant for getters. */
53668 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53669 : false, /* isTypedMethod. Only relevant for methods. */
53670 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53671 : };
53672 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53673 : static_assert(0 < 1, "There is no slot for us");
53674 :
53675 : static bool
53676 0 : get__webkit_filter(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
53677 : {
53678 0 : binding_detail::FastErrorResult rv;
53679 0 : DOMString result;
53680 0 : self->GetWebkitFilter(result, rv);
53681 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53682 0 : return false;
53683 : }
53684 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53685 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
53686 0 : return false;
53687 : }
53688 0 : return true;
53689 : }
53690 :
53691 : static bool
53692 0 : set__webkit_filter(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
53693 : {
53694 0 : binding_detail::FakeString arg0;
53695 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
53696 0 : return false;
53697 : }
53698 0 : binding_detail::FastErrorResult rv;
53699 0 : self->SetWebkitFilter(NonNullHelper(Constify(arg0)), rv);
53700 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53701 0 : return false;
53702 : }
53703 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53704 :
53705 0 : return true;
53706 : }
53707 :
53708 : static const JSJitInfo _webkit_filter_getterinfo = {
53709 : { (JSJitGetterOp)get__webkit_filter },
53710 : { prototypes::id::CSS2Properties },
53711 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53712 : JSJitInfo::Getter,
53713 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53714 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
53715 : false, /* isInfallible. False in setters. */
53716 : false, /* isMovable. Not relevant for setters. */
53717 : false, /* isEliminatable. Not relevant for setters. */
53718 : false, /* isAlwaysInSlot. Only relevant for getters. */
53719 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53720 : false, /* isTypedMethod. Only relevant for methods. */
53721 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53722 : };
53723 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53724 : static_assert(0 < 1, "There is no slot for us");
53725 : static const JSJitInfo _webkit_filter_setterinfo = {
53726 : { (JSJitGetterOp)set__webkit_filter },
53727 : { prototypes::id::CSS2Properties },
53728 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53729 : JSJitInfo::Setter,
53730 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53731 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
53732 : false, /* isInfallible. False in setters. */
53733 : false, /* isMovable. Not relevant for setters. */
53734 : false, /* isEliminatable. Not relevant for setters. */
53735 : false, /* isAlwaysInSlot. Only relevant for getters. */
53736 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53737 : false, /* isTypedMethod. Only relevant for methods. */
53738 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53739 : };
53740 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53741 : static_assert(0 < 1, "There is no slot for us");
53742 :
53743 : static bool
53744 0 : get_WebkitTextSizeAdjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
53745 : {
53746 0 : binding_detail::FastErrorResult rv;
53747 0 : DOMString result;
53748 0 : self->GetWebkitTextSizeAdjust(result, rv);
53749 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53750 0 : return false;
53751 : }
53752 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53753 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
53754 0 : return false;
53755 : }
53756 0 : return true;
53757 : }
53758 :
53759 : static bool
53760 0 : set_WebkitTextSizeAdjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
53761 : {
53762 0 : binding_detail::FakeString arg0;
53763 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
53764 0 : return false;
53765 : }
53766 0 : binding_detail::FastErrorResult rv;
53767 0 : self->SetWebkitTextSizeAdjust(NonNullHelper(Constify(arg0)), rv);
53768 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53769 0 : return false;
53770 : }
53771 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53772 :
53773 0 : return true;
53774 : }
53775 :
53776 : static const JSJitInfo WebkitTextSizeAdjust_getterinfo = {
53777 : { (JSJitGetterOp)get_WebkitTextSizeAdjust },
53778 : { prototypes::id::CSS2Properties },
53779 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53780 : JSJitInfo::Getter,
53781 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53782 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
53783 : false, /* isInfallible. False in setters. */
53784 : false, /* isMovable. Not relevant for setters. */
53785 : false, /* isEliminatable. Not relevant for setters. */
53786 : false, /* isAlwaysInSlot. Only relevant for getters. */
53787 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53788 : false, /* isTypedMethod. Only relevant for methods. */
53789 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53790 : };
53791 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53792 : static_assert(0 < 1, "There is no slot for us");
53793 : static const JSJitInfo WebkitTextSizeAdjust_setterinfo = {
53794 : { (JSJitGetterOp)set_WebkitTextSizeAdjust },
53795 : { prototypes::id::CSS2Properties },
53796 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53797 : JSJitInfo::Setter,
53798 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53799 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
53800 : false, /* isInfallible. False in setters. */
53801 : false, /* isMovable. Not relevant for setters. */
53802 : false, /* isEliminatable. Not relevant for setters. */
53803 : false, /* isAlwaysInSlot. Only relevant for getters. */
53804 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53805 : false, /* isTypedMethod. Only relevant for methods. */
53806 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53807 : };
53808 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53809 : static_assert(0 < 1, "There is no slot for us");
53810 :
53811 : static bool
53812 0 : get_webkitTextSizeAdjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
53813 : {
53814 0 : binding_detail::FastErrorResult rv;
53815 0 : DOMString result;
53816 0 : self->GetWebkitTextSizeAdjust(result, rv);
53817 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53818 0 : return false;
53819 : }
53820 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53821 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
53822 0 : return false;
53823 : }
53824 0 : return true;
53825 : }
53826 :
53827 : static bool
53828 0 : set_webkitTextSizeAdjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
53829 : {
53830 0 : binding_detail::FakeString arg0;
53831 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
53832 0 : return false;
53833 : }
53834 0 : binding_detail::FastErrorResult rv;
53835 0 : self->SetWebkitTextSizeAdjust(NonNullHelper(Constify(arg0)), rv);
53836 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53837 0 : return false;
53838 : }
53839 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53840 :
53841 0 : return true;
53842 : }
53843 :
53844 : static const JSJitInfo webkitTextSizeAdjust_getterinfo = {
53845 : { (JSJitGetterOp)get_webkitTextSizeAdjust },
53846 : { prototypes::id::CSS2Properties },
53847 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53848 : JSJitInfo::Getter,
53849 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53850 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
53851 : false, /* isInfallible. False in setters. */
53852 : false, /* isMovable. Not relevant for setters. */
53853 : false, /* isEliminatable. Not relevant for setters. */
53854 : false, /* isAlwaysInSlot. Only relevant for getters. */
53855 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53856 : false, /* isTypedMethod. Only relevant for methods. */
53857 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53858 : };
53859 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53860 : static_assert(0 < 1, "There is no slot for us");
53861 : static const JSJitInfo webkitTextSizeAdjust_setterinfo = {
53862 : { (JSJitGetterOp)set_webkitTextSizeAdjust },
53863 : { prototypes::id::CSS2Properties },
53864 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53865 : JSJitInfo::Setter,
53866 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53867 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
53868 : false, /* isInfallible. False in setters. */
53869 : false, /* isMovable. Not relevant for setters. */
53870 : false, /* isEliminatable. Not relevant for setters. */
53871 : false, /* isAlwaysInSlot. Only relevant for getters. */
53872 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53873 : false, /* isTypedMethod. Only relevant for methods. */
53874 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53875 : };
53876 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53877 : static_assert(0 < 1, "There is no slot for us");
53878 :
53879 : static bool
53880 0 : get__webkit_text_size_adjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
53881 : {
53882 0 : binding_detail::FastErrorResult rv;
53883 0 : DOMString result;
53884 0 : self->GetWebkitTextSizeAdjust(result, rv);
53885 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53886 0 : return false;
53887 : }
53888 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53889 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
53890 0 : return false;
53891 : }
53892 0 : return true;
53893 : }
53894 :
53895 : static bool
53896 0 : set__webkit_text_size_adjust(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
53897 : {
53898 0 : binding_detail::FakeString arg0;
53899 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
53900 0 : return false;
53901 : }
53902 0 : binding_detail::FastErrorResult rv;
53903 0 : self->SetWebkitTextSizeAdjust(NonNullHelper(Constify(arg0)), rv);
53904 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53905 0 : return false;
53906 : }
53907 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53908 :
53909 0 : return true;
53910 : }
53911 :
53912 : static const JSJitInfo _webkit_text_size_adjust_getterinfo = {
53913 : { (JSJitGetterOp)get__webkit_text_size_adjust },
53914 : { prototypes::id::CSS2Properties },
53915 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53916 : JSJitInfo::Getter,
53917 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53918 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
53919 : false, /* isInfallible. False in setters. */
53920 : false, /* isMovable. Not relevant for setters. */
53921 : false, /* isEliminatable. Not relevant for setters. */
53922 : false, /* isAlwaysInSlot. Only relevant for getters. */
53923 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53924 : false, /* isTypedMethod. Only relevant for methods. */
53925 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53926 : };
53927 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53928 : static_assert(0 < 1, "There is no slot for us");
53929 : static const JSJitInfo _webkit_text_size_adjust_setterinfo = {
53930 : { (JSJitGetterOp)set__webkit_text_size_adjust },
53931 : { prototypes::id::CSS2Properties },
53932 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53933 : JSJitInfo::Setter,
53934 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53935 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
53936 : false, /* isInfallible. False in setters. */
53937 : false, /* isMovable. Not relevant for setters. */
53938 : false, /* isEliminatable. Not relevant for setters. */
53939 : false, /* isAlwaysInSlot. Only relevant for getters. */
53940 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53941 : false, /* isTypedMethod. Only relevant for methods. */
53942 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53943 : };
53944 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53945 : static_assert(0 < 1, "There is no slot for us");
53946 :
53947 : static bool
53948 0 : get_WebkitTransform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
53949 : {
53950 0 : binding_detail::FastErrorResult rv;
53951 0 : DOMString result;
53952 0 : self->GetWebkitTransform(result, rv);
53953 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53954 0 : return false;
53955 : }
53956 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53957 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
53958 0 : return false;
53959 : }
53960 0 : return true;
53961 : }
53962 :
53963 : static bool
53964 0 : set_WebkitTransform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
53965 : {
53966 0 : binding_detail::FakeString arg0;
53967 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
53968 0 : return false;
53969 : }
53970 0 : binding_detail::FastErrorResult rv;
53971 0 : self->SetWebkitTransform(NonNullHelper(Constify(arg0)), rv);
53972 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
53973 0 : return false;
53974 : }
53975 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
53976 :
53977 0 : return true;
53978 : }
53979 :
53980 : static const JSJitInfo WebkitTransform_getterinfo = {
53981 : { (JSJitGetterOp)get_WebkitTransform },
53982 : { prototypes::id::CSS2Properties },
53983 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
53984 : JSJitInfo::Getter,
53985 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
53986 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
53987 : false, /* isInfallible. False in setters. */
53988 : false, /* isMovable. Not relevant for setters. */
53989 : false, /* isEliminatable. Not relevant for setters. */
53990 : false, /* isAlwaysInSlot. Only relevant for getters. */
53991 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
53992 : false, /* isTypedMethod. Only relevant for methods. */
53993 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
53994 : };
53995 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
53996 : static_assert(0 < 1, "There is no slot for us");
53997 : static const JSJitInfo WebkitTransform_setterinfo = {
53998 : { (JSJitGetterOp)set_WebkitTransform },
53999 : { prototypes::id::CSS2Properties },
54000 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54001 : JSJitInfo::Setter,
54002 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54003 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
54004 : false, /* isInfallible. False in setters. */
54005 : false, /* isMovable. Not relevant for setters. */
54006 : false, /* isEliminatable. Not relevant for setters. */
54007 : false, /* isAlwaysInSlot. Only relevant for getters. */
54008 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54009 : false, /* isTypedMethod. Only relevant for methods. */
54010 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54011 : };
54012 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54013 : static_assert(0 < 1, "There is no slot for us");
54014 :
54015 : static bool
54016 0 : get_webkitTransform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
54017 : {
54018 0 : binding_detail::FastErrorResult rv;
54019 0 : DOMString result;
54020 0 : self->GetWebkitTransform(result, rv);
54021 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54022 0 : return false;
54023 : }
54024 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54025 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
54026 0 : return false;
54027 : }
54028 0 : return true;
54029 : }
54030 :
54031 : static bool
54032 0 : set_webkitTransform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
54033 : {
54034 0 : binding_detail::FakeString arg0;
54035 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
54036 0 : return false;
54037 : }
54038 0 : binding_detail::FastErrorResult rv;
54039 0 : self->SetWebkitTransform(NonNullHelper(Constify(arg0)), rv);
54040 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54041 0 : return false;
54042 : }
54043 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54044 :
54045 0 : return true;
54046 : }
54047 :
54048 : static const JSJitInfo webkitTransform_getterinfo = {
54049 : { (JSJitGetterOp)get_webkitTransform },
54050 : { prototypes::id::CSS2Properties },
54051 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54052 : JSJitInfo::Getter,
54053 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54054 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
54055 : false, /* isInfallible. False in setters. */
54056 : false, /* isMovable. Not relevant for setters. */
54057 : false, /* isEliminatable. Not relevant for setters. */
54058 : false, /* isAlwaysInSlot. Only relevant for getters. */
54059 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54060 : false, /* isTypedMethod. Only relevant for methods. */
54061 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54062 : };
54063 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54064 : static_assert(0 < 1, "There is no slot for us");
54065 : static const JSJitInfo webkitTransform_setterinfo = {
54066 : { (JSJitGetterOp)set_webkitTransform },
54067 : { prototypes::id::CSS2Properties },
54068 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54069 : JSJitInfo::Setter,
54070 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54071 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
54072 : false, /* isInfallible. False in setters. */
54073 : false, /* isMovable. Not relevant for setters. */
54074 : false, /* isEliminatable. Not relevant for setters. */
54075 : false, /* isAlwaysInSlot. Only relevant for getters. */
54076 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54077 : false, /* isTypedMethod. Only relevant for methods. */
54078 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54079 : };
54080 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54081 : static_assert(0 < 1, "There is no slot for us");
54082 :
54083 : static bool
54084 0 : get__webkit_transform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
54085 : {
54086 0 : binding_detail::FastErrorResult rv;
54087 0 : DOMString result;
54088 0 : self->GetWebkitTransform(result, rv);
54089 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54090 0 : return false;
54091 : }
54092 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54093 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
54094 0 : return false;
54095 : }
54096 0 : return true;
54097 : }
54098 :
54099 : static bool
54100 0 : set__webkit_transform(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
54101 : {
54102 0 : binding_detail::FakeString arg0;
54103 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
54104 0 : return false;
54105 : }
54106 0 : binding_detail::FastErrorResult rv;
54107 0 : self->SetWebkitTransform(NonNullHelper(Constify(arg0)), rv);
54108 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54109 0 : return false;
54110 : }
54111 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54112 :
54113 0 : return true;
54114 : }
54115 :
54116 : static const JSJitInfo _webkit_transform_getterinfo = {
54117 : { (JSJitGetterOp)get__webkit_transform },
54118 : { prototypes::id::CSS2Properties },
54119 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54120 : JSJitInfo::Getter,
54121 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54122 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
54123 : false, /* isInfallible. False in setters. */
54124 : false, /* isMovable. Not relevant for setters. */
54125 : false, /* isEliminatable. Not relevant for setters. */
54126 : false, /* isAlwaysInSlot. Only relevant for getters. */
54127 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54128 : false, /* isTypedMethod. Only relevant for methods. */
54129 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54130 : };
54131 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54132 : static_assert(0 < 1, "There is no slot for us");
54133 : static const JSJitInfo _webkit_transform_setterinfo = {
54134 : { (JSJitGetterOp)set__webkit_transform },
54135 : { prototypes::id::CSS2Properties },
54136 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54137 : JSJitInfo::Setter,
54138 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54139 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
54140 : false, /* isInfallible. False in setters. */
54141 : false, /* isMovable. Not relevant for setters. */
54142 : false, /* isEliminatable. Not relevant for setters. */
54143 : false, /* isAlwaysInSlot. Only relevant for getters. */
54144 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54145 : false, /* isTypedMethod. Only relevant for methods. */
54146 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54147 : };
54148 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54149 : static_assert(0 < 1, "There is no slot for us");
54150 :
54151 : static bool
54152 0 : get_WebkitTransformOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
54153 : {
54154 0 : binding_detail::FastErrorResult rv;
54155 0 : DOMString result;
54156 0 : self->GetWebkitTransformOrigin(result, rv);
54157 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54158 0 : return false;
54159 : }
54160 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54161 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
54162 0 : return false;
54163 : }
54164 0 : return true;
54165 : }
54166 :
54167 : static bool
54168 0 : set_WebkitTransformOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
54169 : {
54170 0 : binding_detail::FakeString arg0;
54171 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
54172 0 : return false;
54173 : }
54174 0 : binding_detail::FastErrorResult rv;
54175 0 : self->SetWebkitTransformOrigin(NonNullHelper(Constify(arg0)), rv);
54176 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54177 0 : return false;
54178 : }
54179 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54180 :
54181 0 : return true;
54182 : }
54183 :
54184 : static const JSJitInfo WebkitTransformOrigin_getterinfo = {
54185 : { (JSJitGetterOp)get_WebkitTransformOrigin },
54186 : { prototypes::id::CSS2Properties },
54187 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54188 : JSJitInfo::Getter,
54189 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54190 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
54191 : false, /* isInfallible. False in setters. */
54192 : false, /* isMovable. Not relevant for setters. */
54193 : false, /* isEliminatable. Not relevant for setters. */
54194 : false, /* isAlwaysInSlot. Only relevant for getters. */
54195 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54196 : false, /* isTypedMethod. Only relevant for methods. */
54197 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54198 : };
54199 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54200 : static_assert(0 < 1, "There is no slot for us");
54201 : static const JSJitInfo WebkitTransformOrigin_setterinfo = {
54202 : { (JSJitGetterOp)set_WebkitTransformOrigin },
54203 : { prototypes::id::CSS2Properties },
54204 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54205 : JSJitInfo::Setter,
54206 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54207 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
54208 : false, /* isInfallible. False in setters. */
54209 : false, /* isMovable. Not relevant for setters. */
54210 : false, /* isEliminatable. Not relevant for setters. */
54211 : false, /* isAlwaysInSlot. Only relevant for getters. */
54212 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54213 : false, /* isTypedMethod. Only relevant for methods. */
54214 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54215 : };
54216 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54217 : static_assert(0 < 1, "There is no slot for us");
54218 :
54219 : static bool
54220 0 : get_webkitTransformOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
54221 : {
54222 0 : binding_detail::FastErrorResult rv;
54223 0 : DOMString result;
54224 0 : self->GetWebkitTransformOrigin(result, rv);
54225 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54226 0 : return false;
54227 : }
54228 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54229 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
54230 0 : return false;
54231 : }
54232 0 : return true;
54233 : }
54234 :
54235 : static bool
54236 0 : set_webkitTransformOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
54237 : {
54238 0 : binding_detail::FakeString arg0;
54239 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
54240 0 : return false;
54241 : }
54242 0 : binding_detail::FastErrorResult rv;
54243 0 : self->SetWebkitTransformOrigin(NonNullHelper(Constify(arg0)), rv);
54244 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54245 0 : return false;
54246 : }
54247 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54248 :
54249 0 : return true;
54250 : }
54251 :
54252 : static const JSJitInfo webkitTransformOrigin_getterinfo = {
54253 : { (JSJitGetterOp)get_webkitTransformOrigin },
54254 : { prototypes::id::CSS2Properties },
54255 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54256 : JSJitInfo::Getter,
54257 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54258 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
54259 : false, /* isInfallible. False in setters. */
54260 : false, /* isMovable. Not relevant for setters. */
54261 : false, /* isEliminatable. Not relevant for setters. */
54262 : false, /* isAlwaysInSlot. Only relevant for getters. */
54263 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54264 : false, /* isTypedMethod. Only relevant for methods. */
54265 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54266 : };
54267 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54268 : static_assert(0 < 1, "There is no slot for us");
54269 : static const JSJitInfo webkitTransformOrigin_setterinfo = {
54270 : { (JSJitGetterOp)set_webkitTransformOrigin },
54271 : { prototypes::id::CSS2Properties },
54272 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54273 : JSJitInfo::Setter,
54274 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54275 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
54276 : false, /* isInfallible. False in setters. */
54277 : false, /* isMovable. Not relevant for setters. */
54278 : false, /* isEliminatable. Not relevant for setters. */
54279 : false, /* isAlwaysInSlot. Only relevant for getters. */
54280 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54281 : false, /* isTypedMethod. Only relevant for methods. */
54282 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54283 : };
54284 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54285 : static_assert(0 < 1, "There is no slot for us");
54286 :
54287 : static bool
54288 0 : get__webkit_transform_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
54289 : {
54290 0 : binding_detail::FastErrorResult rv;
54291 0 : DOMString result;
54292 0 : self->GetWebkitTransformOrigin(result, rv);
54293 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54294 0 : return false;
54295 : }
54296 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54297 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
54298 0 : return false;
54299 : }
54300 0 : return true;
54301 : }
54302 :
54303 : static bool
54304 0 : set__webkit_transform_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
54305 : {
54306 0 : binding_detail::FakeString arg0;
54307 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
54308 0 : return false;
54309 : }
54310 0 : binding_detail::FastErrorResult rv;
54311 0 : self->SetWebkitTransformOrigin(NonNullHelper(Constify(arg0)), rv);
54312 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54313 0 : return false;
54314 : }
54315 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54316 :
54317 0 : return true;
54318 : }
54319 :
54320 : static const JSJitInfo _webkit_transform_origin_getterinfo = {
54321 : { (JSJitGetterOp)get__webkit_transform_origin },
54322 : { prototypes::id::CSS2Properties },
54323 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54324 : JSJitInfo::Getter,
54325 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54326 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
54327 : false, /* isInfallible. False in setters. */
54328 : false, /* isMovable. Not relevant for setters. */
54329 : false, /* isEliminatable. Not relevant for setters. */
54330 : false, /* isAlwaysInSlot. Only relevant for getters. */
54331 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54332 : false, /* isTypedMethod. Only relevant for methods. */
54333 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54334 : };
54335 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54336 : static_assert(0 < 1, "There is no slot for us");
54337 : static const JSJitInfo _webkit_transform_origin_setterinfo = {
54338 : { (JSJitGetterOp)set__webkit_transform_origin },
54339 : { prototypes::id::CSS2Properties },
54340 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54341 : JSJitInfo::Setter,
54342 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54343 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
54344 : false, /* isInfallible. False in setters. */
54345 : false, /* isMovable. Not relevant for setters. */
54346 : false, /* isEliminatable. Not relevant for setters. */
54347 : false, /* isAlwaysInSlot. Only relevant for getters. */
54348 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54349 : false, /* isTypedMethod. Only relevant for methods. */
54350 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54351 : };
54352 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54353 : static_assert(0 < 1, "There is no slot for us");
54354 :
54355 : static bool
54356 0 : get_WebkitTransformStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
54357 : {
54358 0 : binding_detail::FastErrorResult rv;
54359 0 : DOMString result;
54360 0 : self->GetWebkitTransformStyle(result, rv);
54361 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54362 0 : return false;
54363 : }
54364 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54365 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
54366 0 : return false;
54367 : }
54368 0 : return true;
54369 : }
54370 :
54371 : static bool
54372 0 : set_WebkitTransformStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
54373 : {
54374 0 : binding_detail::FakeString arg0;
54375 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
54376 0 : return false;
54377 : }
54378 0 : binding_detail::FastErrorResult rv;
54379 0 : self->SetWebkitTransformStyle(NonNullHelper(Constify(arg0)), rv);
54380 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54381 0 : return false;
54382 : }
54383 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54384 :
54385 0 : return true;
54386 : }
54387 :
54388 : static const JSJitInfo WebkitTransformStyle_getterinfo = {
54389 : { (JSJitGetterOp)get_WebkitTransformStyle },
54390 : { prototypes::id::CSS2Properties },
54391 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54392 : JSJitInfo::Getter,
54393 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54394 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
54395 : false, /* isInfallible. False in setters. */
54396 : false, /* isMovable. Not relevant for setters. */
54397 : false, /* isEliminatable. Not relevant for setters. */
54398 : false, /* isAlwaysInSlot. Only relevant for getters. */
54399 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54400 : false, /* isTypedMethod. Only relevant for methods. */
54401 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54402 : };
54403 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54404 : static_assert(0 < 1, "There is no slot for us");
54405 : static const JSJitInfo WebkitTransformStyle_setterinfo = {
54406 : { (JSJitGetterOp)set_WebkitTransformStyle },
54407 : { prototypes::id::CSS2Properties },
54408 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54409 : JSJitInfo::Setter,
54410 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54411 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
54412 : false, /* isInfallible. False in setters. */
54413 : false, /* isMovable. Not relevant for setters. */
54414 : false, /* isEliminatable. Not relevant for setters. */
54415 : false, /* isAlwaysInSlot. Only relevant for getters. */
54416 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54417 : false, /* isTypedMethod. Only relevant for methods. */
54418 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54419 : };
54420 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54421 : static_assert(0 < 1, "There is no slot for us");
54422 :
54423 : static bool
54424 0 : get_webkitTransformStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
54425 : {
54426 0 : binding_detail::FastErrorResult rv;
54427 0 : DOMString result;
54428 0 : self->GetWebkitTransformStyle(result, rv);
54429 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54430 0 : return false;
54431 : }
54432 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54433 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
54434 0 : return false;
54435 : }
54436 0 : return true;
54437 : }
54438 :
54439 : static bool
54440 0 : set_webkitTransformStyle(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
54441 : {
54442 0 : binding_detail::FakeString arg0;
54443 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
54444 0 : return false;
54445 : }
54446 0 : binding_detail::FastErrorResult rv;
54447 0 : self->SetWebkitTransformStyle(NonNullHelper(Constify(arg0)), rv);
54448 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54449 0 : return false;
54450 : }
54451 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54452 :
54453 0 : return true;
54454 : }
54455 :
54456 : static const JSJitInfo webkitTransformStyle_getterinfo = {
54457 : { (JSJitGetterOp)get_webkitTransformStyle },
54458 : { prototypes::id::CSS2Properties },
54459 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54460 : JSJitInfo::Getter,
54461 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54462 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
54463 : false, /* isInfallible. False in setters. */
54464 : false, /* isMovable. Not relevant for setters. */
54465 : false, /* isEliminatable. Not relevant for setters. */
54466 : false, /* isAlwaysInSlot. Only relevant for getters. */
54467 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54468 : false, /* isTypedMethod. Only relevant for methods. */
54469 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54470 : };
54471 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54472 : static_assert(0 < 1, "There is no slot for us");
54473 : static const JSJitInfo webkitTransformStyle_setterinfo = {
54474 : { (JSJitGetterOp)set_webkitTransformStyle },
54475 : { prototypes::id::CSS2Properties },
54476 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54477 : JSJitInfo::Setter,
54478 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54479 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
54480 : false, /* isInfallible. False in setters. */
54481 : false, /* isMovable. Not relevant for setters. */
54482 : false, /* isEliminatable. Not relevant for setters. */
54483 : false, /* isAlwaysInSlot. Only relevant for getters. */
54484 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54485 : false, /* isTypedMethod. Only relevant for methods. */
54486 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54487 : };
54488 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54489 : static_assert(0 < 1, "There is no slot for us");
54490 :
54491 : static bool
54492 0 : get__webkit_transform_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
54493 : {
54494 0 : binding_detail::FastErrorResult rv;
54495 0 : DOMString result;
54496 0 : self->GetWebkitTransformStyle(result, rv);
54497 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54498 0 : return false;
54499 : }
54500 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54501 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
54502 0 : return false;
54503 : }
54504 0 : return true;
54505 : }
54506 :
54507 : static bool
54508 0 : set__webkit_transform_style(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
54509 : {
54510 0 : binding_detail::FakeString arg0;
54511 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
54512 0 : return false;
54513 : }
54514 0 : binding_detail::FastErrorResult rv;
54515 0 : self->SetWebkitTransformStyle(NonNullHelper(Constify(arg0)), rv);
54516 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54517 0 : return false;
54518 : }
54519 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54520 :
54521 0 : return true;
54522 : }
54523 :
54524 : static const JSJitInfo _webkit_transform_style_getterinfo = {
54525 : { (JSJitGetterOp)get__webkit_transform_style },
54526 : { prototypes::id::CSS2Properties },
54527 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54528 : JSJitInfo::Getter,
54529 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54530 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
54531 : false, /* isInfallible. False in setters. */
54532 : false, /* isMovable. Not relevant for setters. */
54533 : false, /* isEliminatable. Not relevant for setters. */
54534 : false, /* isAlwaysInSlot. Only relevant for getters. */
54535 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54536 : false, /* isTypedMethod. Only relevant for methods. */
54537 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54538 : };
54539 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54540 : static_assert(0 < 1, "There is no slot for us");
54541 : static const JSJitInfo _webkit_transform_style_setterinfo = {
54542 : { (JSJitGetterOp)set__webkit_transform_style },
54543 : { prototypes::id::CSS2Properties },
54544 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54545 : JSJitInfo::Setter,
54546 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54547 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
54548 : false, /* isInfallible. False in setters. */
54549 : false, /* isMovable. Not relevant for setters. */
54550 : false, /* isEliminatable. Not relevant for setters. */
54551 : false, /* isAlwaysInSlot. Only relevant for getters. */
54552 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54553 : false, /* isTypedMethod. Only relevant for methods. */
54554 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54555 : };
54556 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54557 : static_assert(0 < 1, "There is no slot for us");
54558 :
54559 : static bool
54560 0 : get_WebkitBackfaceVisibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
54561 : {
54562 0 : binding_detail::FastErrorResult rv;
54563 0 : DOMString result;
54564 0 : self->GetWebkitBackfaceVisibility(result, rv);
54565 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54566 0 : return false;
54567 : }
54568 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54569 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
54570 0 : return false;
54571 : }
54572 0 : return true;
54573 : }
54574 :
54575 : static bool
54576 0 : set_WebkitBackfaceVisibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
54577 : {
54578 0 : binding_detail::FakeString arg0;
54579 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
54580 0 : return false;
54581 : }
54582 0 : binding_detail::FastErrorResult rv;
54583 0 : self->SetWebkitBackfaceVisibility(NonNullHelper(Constify(arg0)), rv);
54584 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54585 0 : return false;
54586 : }
54587 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54588 :
54589 0 : return true;
54590 : }
54591 :
54592 : static const JSJitInfo WebkitBackfaceVisibility_getterinfo = {
54593 : { (JSJitGetterOp)get_WebkitBackfaceVisibility },
54594 : { prototypes::id::CSS2Properties },
54595 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54596 : JSJitInfo::Getter,
54597 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54598 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
54599 : false, /* isInfallible. False in setters. */
54600 : false, /* isMovable. Not relevant for setters. */
54601 : false, /* isEliminatable. Not relevant for setters. */
54602 : false, /* isAlwaysInSlot. Only relevant for getters. */
54603 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54604 : false, /* isTypedMethod. Only relevant for methods. */
54605 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54606 : };
54607 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54608 : static_assert(0 < 1, "There is no slot for us");
54609 : static const JSJitInfo WebkitBackfaceVisibility_setterinfo = {
54610 : { (JSJitGetterOp)set_WebkitBackfaceVisibility },
54611 : { prototypes::id::CSS2Properties },
54612 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54613 : JSJitInfo::Setter,
54614 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54615 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
54616 : false, /* isInfallible. False in setters. */
54617 : false, /* isMovable. Not relevant for setters. */
54618 : false, /* isEliminatable. Not relevant for setters. */
54619 : false, /* isAlwaysInSlot. Only relevant for getters. */
54620 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54621 : false, /* isTypedMethod. Only relevant for methods. */
54622 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54623 : };
54624 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54625 : static_assert(0 < 1, "There is no slot for us");
54626 :
54627 : static bool
54628 0 : get_webkitBackfaceVisibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
54629 : {
54630 0 : binding_detail::FastErrorResult rv;
54631 0 : DOMString result;
54632 0 : self->GetWebkitBackfaceVisibility(result, rv);
54633 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54634 0 : return false;
54635 : }
54636 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54637 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
54638 0 : return false;
54639 : }
54640 0 : return true;
54641 : }
54642 :
54643 : static bool
54644 0 : set_webkitBackfaceVisibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
54645 : {
54646 0 : binding_detail::FakeString arg0;
54647 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
54648 0 : return false;
54649 : }
54650 0 : binding_detail::FastErrorResult rv;
54651 0 : self->SetWebkitBackfaceVisibility(NonNullHelper(Constify(arg0)), rv);
54652 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54653 0 : return false;
54654 : }
54655 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54656 :
54657 0 : return true;
54658 : }
54659 :
54660 : static const JSJitInfo webkitBackfaceVisibility_getterinfo = {
54661 : { (JSJitGetterOp)get_webkitBackfaceVisibility },
54662 : { prototypes::id::CSS2Properties },
54663 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54664 : JSJitInfo::Getter,
54665 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54666 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
54667 : false, /* isInfallible. False in setters. */
54668 : false, /* isMovable. Not relevant for setters. */
54669 : false, /* isEliminatable. Not relevant for setters. */
54670 : false, /* isAlwaysInSlot. Only relevant for getters. */
54671 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54672 : false, /* isTypedMethod. Only relevant for methods. */
54673 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54674 : };
54675 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54676 : static_assert(0 < 1, "There is no slot for us");
54677 : static const JSJitInfo webkitBackfaceVisibility_setterinfo = {
54678 : { (JSJitGetterOp)set_webkitBackfaceVisibility },
54679 : { prototypes::id::CSS2Properties },
54680 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54681 : JSJitInfo::Setter,
54682 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54683 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
54684 : false, /* isInfallible. False in setters. */
54685 : false, /* isMovable. Not relevant for setters. */
54686 : false, /* isEliminatable. Not relevant for setters. */
54687 : false, /* isAlwaysInSlot. Only relevant for getters. */
54688 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54689 : false, /* isTypedMethod. Only relevant for methods. */
54690 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54691 : };
54692 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54693 : static_assert(0 < 1, "There is no slot for us");
54694 :
54695 : static bool
54696 0 : get__webkit_backface_visibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
54697 : {
54698 0 : binding_detail::FastErrorResult rv;
54699 0 : DOMString result;
54700 0 : self->GetWebkitBackfaceVisibility(result, rv);
54701 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54702 0 : return false;
54703 : }
54704 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54705 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
54706 0 : return false;
54707 : }
54708 0 : return true;
54709 : }
54710 :
54711 : static bool
54712 0 : set__webkit_backface_visibility(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
54713 : {
54714 0 : binding_detail::FakeString arg0;
54715 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
54716 0 : return false;
54717 : }
54718 0 : binding_detail::FastErrorResult rv;
54719 0 : self->SetWebkitBackfaceVisibility(NonNullHelper(Constify(arg0)), rv);
54720 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54721 0 : return false;
54722 : }
54723 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54724 :
54725 0 : return true;
54726 : }
54727 :
54728 : static const JSJitInfo _webkit_backface_visibility_getterinfo = {
54729 : { (JSJitGetterOp)get__webkit_backface_visibility },
54730 : { prototypes::id::CSS2Properties },
54731 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54732 : JSJitInfo::Getter,
54733 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54734 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
54735 : false, /* isInfallible. False in setters. */
54736 : false, /* isMovable. Not relevant for setters. */
54737 : false, /* isEliminatable. Not relevant for setters. */
54738 : false, /* isAlwaysInSlot. Only relevant for getters. */
54739 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54740 : false, /* isTypedMethod. Only relevant for methods. */
54741 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54742 : };
54743 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54744 : static_assert(0 < 1, "There is no slot for us");
54745 : static const JSJitInfo _webkit_backface_visibility_setterinfo = {
54746 : { (JSJitGetterOp)set__webkit_backface_visibility },
54747 : { prototypes::id::CSS2Properties },
54748 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54749 : JSJitInfo::Setter,
54750 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54751 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
54752 : false, /* isInfallible. False in setters. */
54753 : false, /* isMovable. Not relevant for setters. */
54754 : false, /* isEliminatable. Not relevant for setters. */
54755 : false, /* isAlwaysInSlot. Only relevant for getters. */
54756 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54757 : false, /* isTypedMethod. Only relevant for methods. */
54758 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54759 : };
54760 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54761 : static_assert(0 < 1, "There is no slot for us");
54762 :
54763 : static bool
54764 0 : get_WebkitPerspective(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
54765 : {
54766 0 : binding_detail::FastErrorResult rv;
54767 0 : DOMString result;
54768 0 : self->GetWebkitPerspective(result, rv);
54769 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54770 0 : return false;
54771 : }
54772 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54773 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
54774 0 : return false;
54775 : }
54776 0 : return true;
54777 : }
54778 :
54779 : static bool
54780 0 : set_WebkitPerspective(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
54781 : {
54782 0 : binding_detail::FakeString arg0;
54783 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
54784 0 : return false;
54785 : }
54786 0 : binding_detail::FastErrorResult rv;
54787 0 : self->SetWebkitPerspective(NonNullHelper(Constify(arg0)), rv);
54788 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54789 0 : return false;
54790 : }
54791 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54792 :
54793 0 : return true;
54794 : }
54795 :
54796 : static const JSJitInfo WebkitPerspective_getterinfo = {
54797 : { (JSJitGetterOp)get_WebkitPerspective },
54798 : { prototypes::id::CSS2Properties },
54799 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54800 : JSJitInfo::Getter,
54801 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54802 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
54803 : false, /* isInfallible. False in setters. */
54804 : false, /* isMovable. Not relevant for setters. */
54805 : false, /* isEliminatable. Not relevant for setters. */
54806 : false, /* isAlwaysInSlot. Only relevant for getters. */
54807 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54808 : false, /* isTypedMethod. Only relevant for methods. */
54809 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54810 : };
54811 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54812 : static_assert(0 < 1, "There is no slot for us");
54813 : static const JSJitInfo WebkitPerspective_setterinfo = {
54814 : { (JSJitGetterOp)set_WebkitPerspective },
54815 : { prototypes::id::CSS2Properties },
54816 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54817 : JSJitInfo::Setter,
54818 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54819 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
54820 : false, /* isInfallible. False in setters. */
54821 : false, /* isMovable. Not relevant for setters. */
54822 : false, /* isEliminatable. Not relevant for setters. */
54823 : false, /* isAlwaysInSlot. Only relevant for getters. */
54824 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54825 : false, /* isTypedMethod. Only relevant for methods. */
54826 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54827 : };
54828 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54829 : static_assert(0 < 1, "There is no slot for us");
54830 :
54831 : static bool
54832 0 : get_webkitPerspective(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
54833 : {
54834 0 : binding_detail::FastErrorResult rv;
54835 0 : DOMString result;
54836 0 : self->GetWebkitPerspective(result, rv);
54837 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54838 0 : return false;
54839 : }
54840 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54841 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
54842 0 : return false;
54843 : }
54844 0 : return true;
54845 : }
54846 :
54847 : static bool
54848 0 : set_webkitPerspective(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
54849 : {
54850 0 : binding_detail::FakeString arg0;
54851 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
54852 0 : return false;
54853 : }
54854 0 : binding_detail::FastErrorResult rv;
54855 0 : self->SetWebkitPerspective(NonNullHelper(Constify(arg0)), rv);
54856 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54857 0 : return false;
54858 : }
54859 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54860 :
54861 0 : return true;
54862 : }
54863 :
54864 : static const JSJitInfo webkitPerspective_getterinfo = {
54865 : { (JSJitGetterOp)get_webkitPerspective },
54866 : { prototypes::id::CSS2Properties },
54867 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54868 : JSJitInfo::Getter,
54869 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54870 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
54871 : false, /* isInfallible. False in setters. */
54872 : false, /* isMovable. Not relevant for setters. */
54873 : false, /* isEliminatable. Not relevant for setters. */
54874 : false, /* isAlwaysInSlot. Only relevant for getters. */
54875 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54876 : false, /* isTypedMethod. Only relevant for methods. */
54877 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54878 : };
54879 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54880 : static_assert(0 < 1, "There is no slot for us");
54881 : static const JSJitInfo webkitPerspective_setterinfo = {
54882 : { (JSJitGetterOp)set_webkitPerspective },
54883 : { prototypes::id::CSS2Properties },
54884 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54885 : JSJitInfo::Setter,
54886 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54887 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
54888 : false, /* isInfallible. False in setters. */
54889 : false, /* isMovable. Not relevant for setters. */
54890 : false, /* isEliminatable. Not relevant for setters. */
54891 : false, /* isAlwaysInSlot. Only relevant for getters. */
54892 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54893 : false, /* isTypedMethod. Only relevant for methods. */
54894 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54895 : };
54896 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54897 : static_assert(0 < 1, "There is no slot for us");
54898 :
54899 : static bool
54900 0 : get__webkit_perspective(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
54901 : {
54902 0 : binding_detail::FastErrorResult rv;
54903 0 : DOMString result;
54904 0 : self->GetWebkitPerspective(result, rv);
54905 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54906 0 : return false;
54907 : }
54908 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54909 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
54910 0 : return false;
54911 : }
54912 0 : return true;
54913 : }
54914 :
54915 : static bool
54916 0 : set__webkit_perspective(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
54917 : {
54918 0 : binding_detail::FakeString arg0;
54919 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
54920 0 : return false;
54921 : }
54922 0 : binding_detail::FastErrorResult rv;
54923 0 : self->SetWebkitPerspective(NonNullHelper(Constify(arg0)), rv);
54924 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54925 0 : return false;
54926 : }
54927 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54928 :
54929 0 : return true;
54930 : }
54931 :
54932 : static const JSJitInfo _webkit_perspective_getterinfo = {
54933 : { (JSJitGetterOp)get__webkit_perspective },
54934 : { prototypes::id::CSS2Properties },
54935 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54936 : JSJitInfo::Getter,
54937 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54938 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
54939 : false, /* isInfallible. False in setters. */
54940 : false, /* isMovable. Not relevant for setters. */
54941 : false, /* isEliminatable. Not relevant for setters. */
54942 : false, /* isAlwaysInSlot. Only relevant for getters. */
54943 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54944 : false, /* isTypedMethod. Only relevant for methods. */
54945 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54946 : };
54947 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54948 : static_assert(0 < 1, "There is no slot for us");
54949 : static const JSJitInfo _webkit_perspective_setterinfo = {
54950 : { (JSJitGetterOp)set__webkit_perspective },
54951 : { prototypes::id::CSS2Properties },
54952 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
54953 : JSJitInfo::Setter,
54954 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
54955 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
54956 : false, /* isInfallible. False in setters. */
54957 : false, /* isMovable. Not relevant for setters. */
54958 : false, /* isEliminatable. Not relevant for setters. */
54959 : false, /* isAlwaysInSlot. Only relevant for getters. */
54960 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
54961 : false, /* isTypedMethod. Only relevant for methods. */
54962 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
54963 : };
54964 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
54965 : static_assert(0 < 1, "There is no slot for us");
54966 :
54967 : static bool
54968 0 : get_WebkitPerspectiveOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
54969 : {
54970 0 : binding_detail::FastErrorResult rv;
54971 0 : DOMString result;
54972 0 : self->GetWebkitPerspectiveOrigin(result, rv);
54973 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54974 0 : return false;
54975 : }
54976 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54977 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
54978 0 : return false;
54979 : }
54980 0 : return true;
54981 : }
54982 :
54983 : static bool
54984 0 : set_WebkitPerspectiveOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
54985 : {
54986 0 : binding_detail::FakeString arg0;
54987 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
54988 0 : return false;
54989 : }
54990 0 : binding_detail::FastErrorResult rv;
54991 0 : self->SetWebkitPerspectiveOrigin(NonNullHelper(Constify(arg0)), rv);
54992 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
54993 0 : return false;
54994 : }
54995 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
54996 :
54997 0 : return true;
54998 : }
54999 :
55000 : static const JSJitInfo WebkitPerspectiveOrigin_getterinfo = {
55001 : { (JSJitGetterOp)get_WebkitPerspectiveOrigin },
55002 : { prototypes::id::CSS2Properties },
55003 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55004 : JSJitInfo::Getter,
55005 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55006 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
55007 : false, /* isInfallible. False in setters. */
55008 : false, /* isMovable. Not relevant for setters. */
55009 : false, /* isEliminatable. Not relevant for setters. */
55010 : false, /* isAlwaysInSlot. Only relevant for getters. */
55011 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55012 : false, /* isTypedMethod. Only relevant for methods. */
55013 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55014 : };
55015 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55016 : static_assert(0 < 1, "There is no slot for us");
55017 : static const JSJitInfo WebkitPerspectiveOrigin_setterinfo = {
55018 : { (JSJitGetterOp)set_WebkitPerspectiveOrigin },
55019 : { prototypes::id::CSS2Properties },
55020 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55021 : JSJitInfo::Setter,
55022 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55023 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
55024 : false, /* isInfallible. False in setters. */
55025 : false, /* isMovable. Not relevant for setters. */
55026 : false, /* isEliminatable. Not relevant for setters. */
55027 : false, /* isAlwaysInSlot. Only relevant for getters. */
55028 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55029 : false, /* isTypedMethod. Only relevant for methods. */
55030 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55031 : };
55032 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55033 : static_assert(0 < 1, "There is no slot for us");
55034 :
55035 : static bool
55036 0 : get_webkitPerspectiveOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
55037 : {
55038 0 : binding_detail::FastErrorResult rv;
55039 0 : DOMString result;
55040 0 : self->GetWebkitPerspectiveOrigin(result, rv);
55041 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55042 0 : return false;
55043 : }
55044 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55045 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
55046 0 : return false;
55047 : }
55048 0 : return true;
55049 : }
55050 :
55051 : static bool
55052 0 : set_webkitPerspectiveOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
55053 : {
55054 0 : binding_detail::FakeString arg0;
55055 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
55056 0 : return false;
55057 : }
55058 0 : binding_detail::FastErrorResult rv;
55059 0 : self->SetWebkitPerspectiveOrigin(NonNullHelper(Constify(arg0)), rv);
55060 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55061 0 : return false;
55062 : }
55063 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55064 :
55065 0 : return true;
55066 : }
55067 :
55068 : static const JSJitInfo webkitPerspectiveOrigin_getterinfo = {
55069 : { (JSJitGetterOp)get_webkitPerspectiveOrigin },
55070 : { prototypes::id::CSS2Properties },
55071 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55072 : JSJitInfo::Getter,
55073 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55074 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
55075 : false, /* isInfallible. False in setters. */
55076 : false, /* isMovable. Not relevant for setters. */
55077 : false, /* isEliminatable. Not relevant for setters. */
55078 : false, /* isAlwaysInSlot. Only relevant for getters. */
55079 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55080 : false, /* isTypedMethod. Only relevant for methods. */
55081 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55082 : };
55083 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55084 : static_assert(0 < 1, "There is no slot for us");
55085 : static const JSJitInfo webkitPerspectiveOrigin_setterinfo = {
55086 : { (JSJitGetterOp)set_webkitPerspectiveOrigin },
55087 : { prototypes::id::CSS2Properties },
55088 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55089 : JSJitInfo::Setter,
55090 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55091 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
55092 : false, /* isInfallible. False in setters. */
55093 : false, /* isMovable. Not relevant for setters. */
55094 : false, /* isEliminatable. Not relevant for setters. */
55095 : false, /* isAlwaysInSlot. Only relevant for getters. */
55096 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55097 : false, /* isTypedMethod. Only relevant for methods. */
55098 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55099 : };
55100 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55101 : static_assert(0 < 1, "There is no slot for us");
55102 :
55103 : static bool
55104 0 : get__webkit_perspective_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
55105 : {
55106 0 : binding_detail::FastErrorResult rv;
55107 0 : DOMString result;
55108 0 : self->GetWebkitPerspectiveOrigin(result, rv);
55109 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55110 0 : return false;
55111 : }
55112 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55113 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
55114 0 : return false;
55115 : }
55116 0 : return true;
55117 : }
55118 :
55119 : static bool
55120 0 : set__webkit_perspective_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
55121 : {
55122 0 : binding_detail::FakeString arg0;
55123 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
55124 0 : return false;
55125 : }
55126 0 : binding_detail::FastErrorResult rv;
55127 0 : self->SetWebkitPerspectiveOrigin(NonNullHelper(Constify(arg0)), rv);
55128 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55129 0 : return false;
55130 : }
55131 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55132 :
55133 0 : return true;
55134 : }
55135 :
55136 : static const JSJitInfo _webkit_perspective_origin_getterinfo = {
55137 : { (JSJitGetterOp)get__webkit_perspective_origin },
55138 : { prototypes::id::CSS2Properties },
55139 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55140 : JSJitInfo::Getter,
55141 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55142 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
55143 : false, /* isInfallible. False in setters. */
55144 : false, /* isMovable. Not relevant for setters. */
55145 : false, /* isEliminatable. Not relevant for setters. */
55146 : false, /* isAlwaysInSlot. Only relevant for getters. */
55147 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55148 : false, /* isTypedMethod. Only relevant for methods. */
55149 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55150 : };
55151 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55152 : static_assert(0 < 1, "There is no slot for us");
55153 : static const JSJitInfo _webkit_perspective_origin_setterinfo = {
55154 : { (JSJitGetterOp)set__webkit_perspective_origin },
55155 : { prototypes::id::CSS2Properties },
55156 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55157 : JSJitInfo::Setter,
55158 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55159 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
55160 : false, /* isInfallible. False in setters. */
55161 : false, /* isMovable. Not relevant for setters. */
55162 : false, /* isEliminatable. Not relevant for setters. */
55163 : false, /* isAlwaysInSlot. Only relevant for getters. */
55164 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55165 : false, /* isTypedMethod. Only relevant for methods. */
55166 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55167 : };
55168 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55169 : static_assert(0 < 1, "There is no slot for us");
55170 :
55171 : static bool
55172 0 : get_WebkitTransition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
55173 : {
55174 0 : binding_detail::FastErrorResult rv;
55175 0 : DOMString result;
55176 0 : self->GetWebkitTransition(result, rv);
55177 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55178 0 : return false;
55179 : }
55180 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55181 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
55182 0 : return false;
55183 : }
55184 0 : return true;
55185 : }
55186 :
55187 : static bool
55188 0 : set_WebkitTransition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
55189 : {
55190 0 : binding_detail::FakeString arg0;
55191 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
55192 0 : return false;
55193 : }
55194 0 : binding_detail::FastErrorResult rv;
55195 0 : self->SetWebkitTransition(NonNullHelper(Constify(arg0)), rv);
55196 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55197 0 : return false;
55198 : }
55199 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55200 :
55201 0 : return true;
55202 : }
55203 :
55204 : static const JSJitInfo WebkitTransition_getterinfo = {
55205 : { (JSJitGetterOp)get_WebkitTransition },
55206 : { prototypes::id::CSS2Properties },
55207 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55208 : JSJitInfo::Getter,
55209 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55210 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
55211 : false, /* isInfallible. False in setters. */
55212 : false, /* isMovable. Not relevant for setters. */
55213 : false, /* isEliminatable. Not relevant for setters. */
55214 : false, /* isAlwaysInSlot. Only relevant for getters. */
55215 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55216 : false, /* isTypedMethod. Only relevant for methods. */
55217 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55218 : };
55219 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55220 : static_assert(0 < 1, "There is no slot for us");
55221 : static const JSJitInfo WebkitTransition_setterinfo = {
55222 : { (JSJitGetterOp)set_WebkitTransition },
55223 : { prototypes::id::CSS2Properties },
55224 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55225 : JSJitInfo::Setter,
55226 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55227 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
55228 : false, /* isInfallible. False in setters. */
55229 : false, /* isMovable. Not relevant for setters. */
55230 : false, /* isEliminatable. Not relevant for setters. */
55231 : false, /* isAlwaysInSlot. Only relevant for getters. */
55232 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55233 : false, /* isTypedMethod. Only relevant for methods. */
55234 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55235 : };
55236 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55237 : static_assert(0 < 1, "There is no slot for us");
55238 :
55239 : static bool
55240 0 : get_webkitTransition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
55241 : {
55242 0 : binding_detail::FastErrorResult rv;
55243 0 : DOMString result;
55244 0 : self->GetWebkitTransition(result, rv);
55245 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55246 0 : return false;
55247 : }
55248 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55249 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
55250 0 : return false;
55251 : }
55252 0 : return true;
55253 : }
55254 :
55255 : static bool
55256 0 : set_webkitTransition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
55257 : {
55258 0 : binding_detail::FakeString arg0;
55259 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
55260 0 : return false;
55261 : }
55262 0 : binding_detail::FastErrorResult rv;
55263 0 : self->SetWebkitTransition(NonNullHelper(Constify(arg0)), rv);
55264 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55265 0 : return false;
55266 : }
55267 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55268 :
55269 0 : return true;
55270 : }
55271 :
55272 : static const JSJitInfo webkitTransition_getterinfo = {
55273 : { (JSJitGetterOp)get_webkitTransition },
55274 : { prototypes::id::CSS2Properties },
55275 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55276 : JSJitInfo::Getter,
55277 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55278 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
55279 : false, /* isInfallible. False in setters. */
55280 : false, /* isMovable. Not relevant for setters. */
55281 : false, /* isEliminatable. Not relevant for setters. */
55282 : false, /* isAlwaysInSlot. Only relevant for getters. */
55283 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55284 : false, /* isTypedMethod. Only relevant for methods. */
55285 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55286 : };
55287 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55288 : static_assert(0 < 1, "There is no slot for us");
55289 : static const JSJitInfo webkitTransition_setterinfo = {
55290 : { (JSJitGetterOp)set_webkitTransition },
55291 : { prototypes::id::CSS2Properties },
55292 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55293 : JSJitInfo::Setter,
55294 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55295 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
55296 : false, /* isInfallible. False in setters. */
55297 : false, /* isMovable. Not relevant for setters. */
55298 : false, /* isEliminatable. Not relevant for setters. */
55299 : false, /* isAlwaysInSlot. Only relevant for getters. */
55300 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55301 : false, /* isTypedMethod. Only relevant for methods. */
55302 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55303 : };
55304 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55305 : static_assert(0 < 1, "There is no slot for us");
55306 :
55307 : static bool
55308 0 : get__webkit_transition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
55309 : {
55310 0 : binding_detail::FastErrorResult rv;
55311 0 : DOMString result;
55312 0 : self->GetWebkitTransition(result, rv);
55313 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55314 0 : return false;
55315 : }
55316 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55317 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
55318 0 : return false;
55319 : }
55320 0 : return true;
55321 : }
55322 :
55323 : static bool
55324 0 : set__webkit_transition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
55325 : {
55326 0 : binding_detail::FakeString arg0;
55327 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
55328 0 : return false;
55329 : }
55330 0 : binding_detail::FastErrorResult rv;
55331 0 : self->SetWebkitTransition(NonNullHelper(Constify(arg0)), rv);
55332 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55333 0 : return false;
55334 : }
55335 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55336 :
55337 0 : return true;
55338 : }
55339 :
55340 : static const JSJitInfo _webkit_transition_getterinfo = {
55341 : { (JSJitGetterOp)get__webkit_transition },
55342 : { prototypes::id::CSS2Properties },
55343 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55344 : JSJitInfo::Getter,
55345 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55346 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
55347 : false, /* isInfallible. False in setters. */
55348 : false, /* isMovable. Not relevant for setters. */
55349 : false, /* isEliminatable. Not relevant for setters. */
55350 : false, /* isAlwaysInSlot. Only relevant for getters. */
55351 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55352 : false, /* isTypedMethod. Only relevant for methods. */
55353 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55354 : };
55355 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55356 : static_assert(0 < 1, "There is no slot for us");
55357 : static const JSJitInfo _webkit_transition_setterinfo = {
55358 : { (JSJitGetterOp)set__webkit_transition },
55359 : { prototypes::id::CSS2Properties },
55360 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55361 : JSJitInfo::Setter,
55362 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55363 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
55364 : false, /* isInfallible. False in setters. */
55365 : false, /* isMovable. Not relevant for setters. */
55366 : false, /* isEliminatable. Not relevant for setters. */
55367 : false, /* isAlwaysInSlot. Only relevant for getters. */
55368 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55369 : false, /* isTypedMethod. Only relevant for methods. */
55370 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55371 : };
55372 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55373 : static_assert(0 < 1, "There is no slot for us");
55374 :
55375 : static bool
55376 0 : get_WebkitTransitionDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
55377 : {
55378 0 : binding_detail::FastErrorResult rv;
55379 0 : DOMString result;
55380 0 : self->GetWebkitTransitionDelay(result, rv);
55381 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55382 0 : return false;
55383 : }
55384 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55385 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
55386 0 : return false;
55387 : }
55388 0 : return true;
55389 : }
55390 :
55391 : static bool
55392 0 : set_WebkitTransitionDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
55393 : {
55394 0 : binding_detail::FakeString arg0;
55395 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
55396 0 : return false;
55397 : }
55398 0 : binding_detail::FastErrorResult rv;
55399 0 : self->SetWebkitTransitionDelay(NonNullHelper(Constify(arg0)), rv);
55400 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55401 0 : return false;
55402 : }
55403 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55404 :
55405 0 : return true;
55406 : }
55407 :
55408 : static const JSJitInfo WebkitTransitionDelay_getterinfo = {
55409 : { (JSJitGetterOp)get_WebkitTransitionDelay },
55410 : { prototypes::id::CSS2Properties },
55411 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55412 : JSJitInfo::Getter,
55413 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55414 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
55415 : false, /* isInfallible. False in setters. */
55416 : false, /* isMovable. Not relevant for setters. */
55417 : false, /* isEliminatable. Not relevant for setters. */
55418 : false, /* isAlwaysInSlot. Only relevant for getters. */
55419 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55420 : false, /* isTypedMethod. Only relevant for methods. */
55421 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55422 : };
55423 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55424 : static_assert(0 < 1, "There is no slot for us");
55425 : static const JSJitInfo WebkitTransitionDelay_setterinfo = {
55426 : { (JSJitGetterOp)set_WebkitTransitionDelay },
55427 : { prototypes::id::CSS2Properties },
55428 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55429 : JSJitInfo::Setter,
55430 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55431 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
55432 : false, /* isInfallible. False in setters. */
55433 : false, /* isMovable. Not relevant for setters. */
55434 : false, /* isEliminatable. Not relevant for setters. */
55435 : false, /* isAlwaysInSlot. Only relevant for getters. */
55436 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55437 : false, /* isTypedMethod. Only relevant for methods. */
55438 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55439 : };
55440 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55441 : static_assert(0 < 1, "There is no slot for us");
55442 :
55443 : static bool
55444 0 : get_webkitTransitionDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
55445 : {
55446 0 : binding_detail::FastErrorResult rv;
55447 0 : DOMString result;
55448 0 : self->GetWebkitTransitionDelay(result, rv);
55449 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55450 0 : return false;
55451 : }
55452 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55453 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
55454 0 : return false;
55455 : }
55456 0 : return true;
55457 : }
55458 :
55459 : static bool
55460 0 : set_webkitTransitionDelay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
55461 : {
55462 0 : binding_detail::FakeString arg0;
55463 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
55464 0 : return false;
55465 : }
55466 0 : binding_detail::FastErrorResult rv;
55467 0 : self->SetWebkitTransitionDelay(NonNullHelper(Constify(arg0)), rv);
55468 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55469 0 : return false;
55470 : }
55471 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55472 :
55473 0 : return true;
55474 : }
55475 :
55476 : static const JSJitInfo webkitTransitionDelay_getterinfo = {
55477 : { (JSJitGetterOp)get_webkitTransitionDelay },
55478 : { prototypes::id::CSS2Properties },
55479 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55480 : JSJitInfo::Getter,
55481 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55482 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
55483 : false, /* isInfallible. False in setters. */
55484 : false, /* isMovable. Not relevant for setters. */
55485 : false, /* isEliminatable. Not relevant for setters. */
55486 : false, /* isAlwaysInSlot. Only relevant for getters. */
55487 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55488 : false, /* isTypedMethod. Only relevant for methods. */
55489 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55490 : };
55491 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55492 : static_assert(0 < 1, "There is no slot for us");
55493 : static const JSJitInfo webkitTransitionDelay_setterinfo = {
55494 : { (JSJitGetterOp)set_webkitTransitionDelay },
55495 : { prototypes::id::CSS2Properties },
55496 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55497 : JSJitInfo::Setter,
55498 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55499 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
55500 : false, /* isInfallible. False in setters. */
55501 : false, /* isMovable. Not relevant for setters. */
55502 : false, /* isEliminatable. Not relevant for setters. */
55503 : false, /* isAlwaysInSlot. Only relevant for getters. */
55504 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55505 : false, /* isTypedMethod. Only relevant for methods. */
55506 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55507 : };
55508 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55509 : static_assert(0 < 1, "There is no slot for us");
55510 :
55511 : static bool
55512 0 : get__webkit_transition_delay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
55513 : {
55514 0 : binding_detail::FastErrorResult rv;
55515 0 : DOMString result;
55516 0 : self->GetWebkitTransitionDelay(result, rv);
55517 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55518 0 : return false;
55519 : }
55520 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55521 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
55522 0 : return false;
55523 : }
55524 0 : return true;
55525 : }
55526 :
55527 : static bool
55528 0 : set__webkit_transition_delay(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
55529 : {
55530 0 : binding_detail::FakeString arg0;
55531 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
55532 0 : return false;
55533 : }
55534 0 : binding_detail::FastErrorResult rv;
55535 0 : self->SetWebkitTransitionDelay(NonNullHelper(Constify(arg0)), rv);
55536 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55537 0 : return false;
55538 : }
55539 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55540 :
55541 0 : return true;
55542 : }
55543 :
55544 : static const JSJitInfo _webkit_transition_delay_getterinfo = {
55545 : { (JSJitGetterOp)get__webkit_transition_delay },
55546 : { prototypes::id::CSS2Properties },
55547 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55548 : JSJitInfo::Getter,
55549 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55550 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
55551 : false, /* isInfallible. False in setters. */
55552 : false, /* isMovable. Not relevant for setters. */
55553 : false, /* isEliminatable. Not relevant for setters. */
55554 : false, /* isAlwaysInSlot. Only relevant for getters. */
55555 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55556 : false, /* isTypedMethod. Only relevant for methods. */
55557 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55558 : };
55559 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55560 : static_assert(0 < 1, "There is no slot for us");
55561 : static const JSJitInfo _webkit_transition_delay_setterinfo = {
55562 : { (JSJitGetterOp)set__webkit_transition_delay },
55563 : { prototypes::id::CSS2Properties },
55564 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55565 : JSJitInfo::Setter,
55566 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55567 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
55568 : false, /* isInfallible. False in setters. */
55569 : false, /* isMovable. Not relevant for setters. */
55570 : false, /* isEliminatable. Not relevant for setters. */
55571 : false, /* isAlwaysInSlot. Only relevant for getters. */
55572 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55573 : false, /* isTypedMethod. Only relevant for methods. */
55574 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55575 : };
55576 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55577 : static_assert(0 < 1, "There is no slot for us");
55578 :
55579 : static bool
55580 0 : get_WebkitTransitionDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
55581 : {
55582 0 : binding_detail::FastErrorResult rv;
55583 0 : DOMString result;
55584 0 : self->GetWebkitTransitionDuration(result, rv);
55585 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55586 0 : return false;
55587 : }
55588 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55589 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
55590 0 : return false;
55591 : }
55592 0 : return true;
55593 : }
55594 :
55595 : static bool
55596 0 : set_WebkitTransitionDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
55597 : {
55598 0 : binding_detail::FakeString arg0;
55599 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
55600 0 : return false;
55601 : }
55602 0 : binding_detail::FastErrorResult rv;
55603 0 : self->SetWebkitTransitionDuration(NonNullHelper(Constify(arg0)), rv);
55604 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55605 0 : return false;
55606 : }
55607 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55608 :
55609 0 : return true;
55610 : }
55611 :
55612 : static const JSJitInfo WebkitTransitionDuration_getterinfo = {
55613 : { (JSJitGetterOp)get_WebkitTransitionDuration },
55614 : { prototypes::id::CSS2Properties },
55615 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55616 : JSJitInfo::Getter,
55617 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55618 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
55619 : false, /* isInfallible. False in setters. */
55620 : false, /* isMovable. Not relevant for setters. */
55621 : false, /* isEliminatable. Not relevant for setters. */
55622 : false, /* isAlwaysInSlot. Only relevant for getters. */
55623 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55624 : false, /* isTypedMethod. Only relevant for methods. */
55625 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55626 : };
55627 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55628 : static_assert(0 < 1, "There is no slot for us");
55629 : static const JSJitInfo WebkitTransitionDuration_setterinfo = {
55630 : { (JSJitGetterOp)set_WebkitTransitionDuration },
55631 : { prototypes::id::CSS2Properties },
55632 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55633 : JSJitInfo::Setter,
55634 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55635 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
55636 : false, /* isInfallible. False in setters. */
55637 : false, /* isMovable. Not relevant for setters. */
55638 : false, /* isEliminatable. Not relevant for setters. */
55639 : false, /* isAlwaysInSlot. Only relevant for getters. */
55640 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55641 : false, /* isTypedMethod. Only relevant for methods. */
55642 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55643 : };
55644 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55645 : static_assert(0 < 1, "There is no slot for us");
55646 :
55647 : static bool
55648 0 : get_webkitTransitionDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
55649 : {
55650 0 : binding_detail::FastErrorResult rv;
55651 0 : DOMString result;
55652 0 : self->GetWebkitTransitionDuration(result, rv);
55653 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55654 0 : return false;
55655 : }
55656 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55657 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
55658 0 : return false;
55659 : }
55660 0 : return true;
55661 : }
55662 :
55663 : static bool
55664 0 : set_webkitTransitionDuration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
55665 : {
55666 0 : binding_detail::FakeString arg0;
55667 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
55668 0 : return false;
55669 : }
55670 0 : binding_detail::FastErrorResult rv;
55671 0 : self->SetWebkitTransitionDuration(NonNullHelper(Constify(arg0)), rv);
55672 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55673 0 : return false;
55674 : }
55675 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55676 :
55677 0 : return true;
55678 : }
55679 :
55680 : static const JSJitInfo webkitTransitionDuration_getterinfo = {
55681 : { (JSJitGetterOp)get_webkitTransitionDuration },
55682 : { prototypes::id::CSS2Properties },
55683 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55684 : JSJitInfo::Getter,
55685 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55686 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
55687 : false, /* isInfallible. False in setters. */
55688 : false, /* isMovable. Not relevant for setters. */
55689 : false, /* isEliminatable. Not relevant for setters. */
55690 : false, /* isAlwaysInSlot. Only relevant for getters. */
55691 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55692 : false, /* isTypedMethod. Only relevant for methods. */
55693 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55694 : };
55695 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55696 : static_assert(0 < 1, "There is no slot for us");
55697 : static const JSJitInfo webkitTransitionDuration_setterinfo = {
55698 : { (JSJitGetterOp)set_webkitTransitionDuration },
55699 : { prototypes::id::CSS2Properties },
55700 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55701 : JSJitInfo::Setter,
55702 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55703 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
55704 : false, /* isInfallible. False in setters. */
55705 : false, /* isMovable. Not relevant for setters. */
55706 : false, /* isEliminatable. Not relevant for setters. */
55707 : false, /* isAlwaysInSlot. Only relevant for getters. */
55708 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55709 : false, /* isTypedMethod. Only relevant for methods. */
55710 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55711 : };
55712 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55713 : static_assert(0 < 1, "There is no slot for us");
55714 :
55715 : static bool
55716 0 : get__webkit_transition_duration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
55717 : {
55718 0 : binding_detail::FastErrorResult rv;
55719 0 : DOMString result;
55720 0 : self->GetWebkitTransitionDuration(result, rv);
55721 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55722 0 : return false;
55723 : }
55724 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55725 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
55726 0 : return false;
55727 : }
55728 0 : return true;
55729 : }
55730 :
55731 : static bool
55732 0 : set__webkit_transition_duration(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
55733 : {
55734 0 : binding_detail::FakeString arg0;
55735 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
55736 0 : return false;
55737 : }
55738 0 : binding_detail::FastErrorResult rv;
55739 0 : self->SetWebkitTransitionDuration(NonNullHelper(Constify(arg0)), rv);
55740 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55741 0 : return false;
55742 : }
55743 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55744 :
55745 0 : return true;
55746 : }
55747 :
55748 : static const JSJitInfo _webkit_transition_duration_getterinfo = {
55749 : { (JSJitGetterOp)get__webkit_transition_duration },
55750 : { prototypes::id::CSS2Properties },
55751 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55752 : JSJitInfo::Getter,
55753 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55754 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
55755 : false, /* isInfallible. False in setters. */
55756 : false, /* isMovable. Not relevant for setters. */
55757 : false, /* isEliminatable. Not relevant for setters. */
55758 : false, /* isAlwaysInSlot. Only relevant for getters. */
55759 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55760 : false, /* isTypedMethod. Only relevant for methods. */
55761 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55762 : };
55763 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55764 : static_assert(0 < 1, "There is no slot for us");
55765 : static const JSJitInfo _webkit_transition_duration_setterinfo = {
55766 : { (JSJitGetterOp)set__webkit_transition_duration },
55767 : { prototypes::id::CSS2Properties },
55768 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55769 : JSJitInfo::Setter,
55770 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55771 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
55772 : false, /* isInfallible. False in setters. */
55773 : false, /* isMovable. Not relevant for setters. */
55774 : false, /* isEliminatable. Not relevant for setters. */
55775 : false, /* isAlwaysInSlot. Only relevant for getters. */
55776 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55777 : false, /* isTypedMethod. Only relevant for methods. */
55778 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55779 : };
55780 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55781 : static_assert(0 < 1, "There is no slot for us");
55782 :
55783 : static bool
55784 0 : get_WebkitTransitionProperty(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
55785 : {
55786 0 : binding_detail::FastErrorResult rv;
55787 0 : DOMString result;
55788 0 : self->GetWebkitTransitionProperty(result, rv);
55789 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55790 0 : return false;
55791 : }
55792 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55793 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
55794 0 : return false;
55795 : }
55796 0 : return true;
55797 : }
55798 :
55799 : static bool
55800 0 : set_WebkitTransitionProperty(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
55801 : {
55802 0 : binding_detail::FakeString arg0;
55803 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
55804 0 : return false;
55805 : }
55806 0 : binding_detail::FastErrorResult rv;
55807 0 : self->SetWebkitTransitionProperty(NonNullHelper(Constify(arg0)), rv);
55808 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55809 0 : return false;
55810 : }
55811 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55812 :
55813 0 : return true;
55814 : }
55815 :
55816 : static const JSJitInfo WebkitTransitionProperty_getterinfo = {
55817 : { (JSJitGetterOp)get_WebkitTransitionProperty },
55818 : { prototypes::id::CSS2Properties },
55819 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55820 : JSJitInfo::Getter,
55821 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55822 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
55823 : false, /* isInfallible. False in setters. */
55824 : false, /* isMovable. Not relevant for setters. */
55825 : false, /* isEliminatable. Not relevant for setters. */
55826 : false, /* isAlwaysInSlot. Only relevant for getters. */
55827 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55828 : false, /* isTypedMethod. Only relevant for methods. */
55829 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55830 : };
55831 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55832 : static_assert(0 < 1, "There is no slot for us");
55833 : static const JSJitInfo WebkitTransitionProperty_setterinfo = {
55834 : { (JSJitGetterOp)set_WebkitTransitionProperty },
55835 : { prototypes::id::CSS2Properties },
55836 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55837 : JSJitInfo::Setter,
55838 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55839 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
55840 : false, /* isInfallible. False in setters. */
55841 : false, /* isMovable. Not relevant for setters. */
55842 : false, /* isEliminatable. Not relevant for setters. */
55843 : false, /* isAlwaysInSlot. Only relevant for getters. */
55844 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55845 : false, /* isTypedMethod. Only relevant for methods. */
55846 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55847 : };
55848 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55849 : static_assert(0 < 1, "There is no slot for us");
55850 :
55851 : static bool
55852 0 : get_webkitTransitionProperty(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
55853 : {
55854 0 : binding_detail::FastErrorResult rv;
55855 0 : DOMString result;
55856 0 : self->GetWebkitTransitionProperty(result, rv);
55857 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55858 0 : return false;
55859 : }
55860 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55861 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
55862 0 : return false;
55863 : }
55864 0 : return true;
55865 : }
55866 :
55867 : static bool
55868 0 : set_webkitTransitionProperty(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
55869 : {
55870 0 : binding_detail::FakeString arg0;
55871 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
55872 0 : return false;
55873 : }
55874 0 : binding_detail::FastErrorResult rv;
55875 0 : self->SetWebkitTransitionProperty(NonNullHelper(Constify(arg0)), rv);
55876 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55877 0 : return false;
55878 : }
55879 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55880 :
55881 0 : return true;
55882 : }
55883 :
55884 : static const JSJitInfo webkitTransitionProperty_getterinfo = {
55885 : { (JSJitGetterOp)get_webkitTransitionProperty },
55886 : { prototypes::id::CSS2Properties },
55887 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55888 : JSJitInfo::Getter,
55889 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55890 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
55891 : false, /* isInfallible. False in setters. */
55892 : false, /* isMovable. Not relevant for setters. */
55893 : false, /* isEliminatable. Not relevant for setters. */
55894 : false, /* isAlwaysInSlot. Only relevant for getters. */
55895 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55896 : false, /* isTypedMethod. Only relevant for methods. */
55897 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55898 : };
55899 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55900 : static_assert(0 < 1, "There is no slot for us");
55901 : static const JSJitInfo webkitTransitionProperty_setterinfo = {
55902 : { (JSJitGetterOp)set_webkitTransitionProperty },
55903 : { prototypes::id::CSS2Properties },
55904 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55905 : JSJitInfo::Setter,
55906 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55907 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
55908 : false, /* isInfallible. False in setters. */
55909 : false, /* isMovable. Not relevant for setters. */
55910 : false, /* isEliminatable. Not relevant for setters. */
55911 : false, /* isAlwaysInSlot. Only relevant for getters. */
55912 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55913 : false, /* isTypedMethod. Only relevant for methods. */
55914 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55915 : };
55916 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55917 : static_assert(0 < 1, "There is no slot for us");
55918 :
55919 : static bool
55920 0 : get__webkit_transition_property(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
55921 : {
55922 0 : binding_detail::FastErrorResult rv;
55923 0 : DOMString result;
55924 0 : self->GetWebkitTransitionProperty(result, rv);
55925 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55926 0 : return false;
55927 : }
55928 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55929 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
55930 0 : return false;
55931 : }
55932 0 : return true;
55933 : }
55934 :
55935 : static bool
55936 0 : set__webkit_transition_property(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
55937 : {
55938 0 : binding_detail::FakeString arg0;
55939 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
55940 0 : return false;
55941 : }
55942 0 : binding_detail::FastErrorResult rv;
55943 0 : self->SetWebkitTransitionProperty(NonNullHelper(Constify(arg0)), rv);
55944 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55945 0 : return false;
55946 : }
55947 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55948 :
55949 0 : return true;
55950 : }
55951 :
55952 : static const JSJitInfo _webkit_transition_property_getterinfo = {
55953 : { (JSJitGetterOp)get__webkit_transition_property },
55954 : { prototypes::id::CSS2Properties },
55955 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55956 : JSJitInfo::Getter,
55957 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55958 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
55959 : false, /* isInfallible. False in setters. */
55960 : false, /* isMovable. Not relevant for setters. */
55961 : false, /* isEliminatable. Not relevant for setters. */
55962 : false, /* isAlwaysInSlot. Only relevant for getters. */
55963 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55964 : false, /* isTypedMethod. Only relevant for methods. */
55965 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55966 : };
55967 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55968 : static_assert(0 < 1, "There is no slot for us");
55969 : static const JSJitInfo _webkit_transition_property_setterinfo = {
55970 : { (JSJitGetterOp)set__webkit_transition_property },
55971 : { prototypes::id::CSS2Properties },
55972 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
55973 : JSJitInfo::Setter,
55974 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
55975 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
55976 : false, /* isInfallible. False in setters. */
55977 : false, /* isMovable. Not relevant for setters. */
55978 : false, /* isEliminatable. Not relevant for setters. */
55979 : false, /* isAlwaysInSlot. Only relevant for getters. */
55980 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
55981 : false, /* isTypedMethod. Only relevant for methods. */
55982 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
55983 : };
55984 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
55985 : static_assert(0 < 1, "There is no slot for us");
55986 :
55987 : static bool
55988 0 : get_WebkitTransitionTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
55989 : {
55990 0 : binding_detail::FastErrorResult rv;
55991 0 : DOMString result;
55992 0 : self->GetWebkitTransitionTimingFunction(result, rv);
55993 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
55994 0 : return false;
55995 : }
55996 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
55997 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
55998 0 : return false;
55999 : }
56000 0 : return true;
56001 : }
56002 :
56003 : static bool
56004 0 : set_WebkitTransitionTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
56005 : {
56006 0 : binding_detail::FakeString arg0;
56007 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
56008 0 : return false;
56009 : }
56010 0 : binding_detail::FastErrorResult rv;
56011 0 : self->SetWebkitTransitionTimingFunction(NonNullHelper(Constify(arg0)), rv);
56012 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56013 0 : return false;
56014 : }
56015 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56016 :
56017 0 : return true;
56018 : }
56019 :
56020 : static const JSJitInfo WebkitTransitionTimingFunction_getterinfo = {
56021 : { (JSJitGetterOp)get_WebkitTransitionTimingFunction },
56022 : { prototypes::id::CSS2Properties },
56023 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56024 : JSJitInfo::Getter,
56025 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56026 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
56027 : false, /* isInfallible. False in setters. */
56028 : false, /* isMovable. Not relevant for setters. */
56029 : false, /* isEliminatable. Not relevant for setters. */
56030 : false, /* isAlwaysInSlot. Only relevant for getters. */
56031 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56032 : false, /* isTypedMethod. Only relevant for methods. */
56033 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56034 : };
56035 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56036 : static_assert(0 < 1, "There is no slot for us");
56037 : static const JSJitInfo WebkitTransitionTimingFunction_setterinfo = {
56038 : { (JSJitGetterOp)set_WebkitTransitionTimingFunction },
56039 : { prototypes::id::CSS2Properties },
56040 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56041 : JSJitInfo::Setter,
56042 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56043 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
56044 : false, /* isInfallible. False in setters. */
56045 : false, /* isMovable. Not relevant for setters. */
56046 : false, /* isEliminatable. Not relevant for setters. */
56047 : false, /* isAlwaysInSlot. Only relevant for getters. */
56048 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56049 : false, /* isTypedMethod. Only relevant for methods. */
56050 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56051 : };
56052 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56053 : static_assert(0 < 1, "There is no slot for us");
56054 :
56055 : static bool
56056 0 : get_webkitTransitionTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
56057 : {
56058 0 : binding_detail::FastErrorResult rv;
56059 0 : DOMString result;
56060 0 : self->GetWebkitTransitionTimingFunction(result, rv);
56061 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56062 0 : return false;
56063 : }
56064 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56065 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
56066 0 : return false;
56067 : }
56068 0 : return true;
56069 : }
56070 :
56071 : static bool
56072 0 : set_webkitTransitionTimingFunction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
56073 : {
56074 0 : binding_detail::FakeString arg0;
56075 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
56076 0 : return false;
56077 : }
56078 0 : binding_detail::FastErrorResult rv;
56079 0 : self->SetWebkitTransitionTimingFunction(NonNullHelper(Constify(arg0)), rv);
56080 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56081 0 : return false;
56082 : }
56083 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56084 :
56085 0 : return true;
56086 : }
56087 :
56088 : static const JSJitInfo webkitTransitionTimingFunction_getterinfo = {
56089 : { (JSJitGetterOp)get_webkitTransitionTimingFunction },
56090 : { prototypes::id::CSS2Properties },
56091 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56092 : JSJitInfo::Getter,
56093 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56094 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
56095 : false, /* isInfallible. False in setters. */
56096 : false, /* isMovable. Not relevant for setters. */
56097 : false, /* isEliminatable. Not relevant for setters. */
56098 : false, /* isAlwaysInSlot. Only relevant for getters. */
56099 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56100 : false, /* isTypedMethod. Only relevant for methods. */
56101 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56102 : };
56103 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56104 : static_assert(0 < 1, "There is no slot for us");
56105 : static const JSJitInfo webkitTransitionTimingFunction_setterinfo = {
56106 : { (JSJitGetterOp)set_webkitTransitionTimingFunction },
56107 : { prototypes::id::CSS2Properties },
56108 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56109 : JSJitInfo::Setter,
56110 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56111 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
56112 : false, /* isInfallible. False in setters. */
56113 : false, /* isMovable. Not relevant for setters. */
56114 : false, /* isEliminatable. Not relevant for setters. */
56115 : false, /* isAlwaysInSlot. Only relevant for getters. */
56116 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56117 : false, /* isTypedMethod. Only relevant for methods. */
56118 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56119 : };
56120 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56121 : static_assert(0 < 1, "There is no slot for us");
56122 :
56123 : static bool
56124 0 : get__webkit_transition_timing_function(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
56125 : {
56126 0 : binding_detail::FastErrorResult rv;
56127 0 : DOMString result;
56128 0 : self->GetWebkitTransitionTimingFunction(result, rv);
56129 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56130 0 : return false;
56131 : }
56132 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56133 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
56134 0 : return false;
56135 : }
56136 0 : return true;
56137 : }
56138 :
56139 : static bool
56140 0 : set__webkit_transition_timing_function(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
56141 : {
56142 0 : binding_detail::FakeString arg0;
56143 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
56144 0 : return false;
56145 : }
56146 0 : binding_detail::FastErrorResult rv;
56147 0 : self->SetWebkitTransitionTimingFunction(NonNullHelper(Constify(arg0)), rv);
56148 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56149 0 : return false;
56150 : }
56151 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56152 :
56153 0 : return true;
56154 : }
56155 :
56156 : static const JSJitInfo _webkit_transition_timing_function_getterinfo = {
56157 : { (JSJitGetterOp)get__webkit_transition_timing_function },
56158 : { prototypes::id::CSS2Properties },
56159 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56160 : JSJitInfo::Getter,
56161 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56162 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
56163 : false, /* isInfallible. False in setters. */
56164 : false, /* isMovable. Not relevant for setters. */
56165 : false, /* isEliminatable. Not relevant for setters. */
56166 : false, /* isAlwaysInSlot. Only relevant for getters. */
56167 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56168 : false, /* isTypedMethod. Only relevant for methods. */
56169 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56170 : };
56171 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56172 : static_assert(0 < 1, "There is no slot for us");
56173 : static const JSJitInfo _webkit_transition_timing_function_setterinfo = {
56174 : { (JSJitGetterOp)set__webkit_transition_timing_function },
56175 : { prototypes::id::CSS2Properties },
56176 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56177 : JSJitInfo::Setter,
56178 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56179 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
56180 : false, /* isInfallible. False in setters. */
56181 : false, /* isMovable. Not relevant for setters. */
56182 : false, /* isEliminatable. Not relevant for setters. */
56183 : false, /* isAlwaysInSlot. Only relevant for getters. */
56184 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56185 : false, /* isTypedMethod. Only relevant for methods. */
56186 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56187 : };
56188 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56189 : static_assert(0 < 1, "There is no slot for us");
56190 :
56191 : static bool
56192 0 : get_WebkitBorderRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
56193 : {
56194 0 : binding_detail::FastErrorResult rv;
56195 0 : DOMString result;
56196 0 : self->GetWebkitBorderRadius(result, rv);
56197 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56198 0 : return false;
56199 : }
56200 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56201 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
56202 0 : return false;
56203 : }
56204 0 : return true;
56205 : }
56206 :
56207 : static bool
56208 0 : set_WebkitBorderRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
56209 : {
56210 0 : binding_detail::FakeString arg0;
56211 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
56212 0 : return false;
56213 : }
56214 0 : binding_detail::FastErrorResult rv;
56215 0 : self->SetWebkitBorderRadius(NonNullHelper(Constify(arg0)), rv);
56216 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56217 0 : return false;
56218 : }
56219 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56220 :
56221 0 : return true;
56222 : }
56223 :
56224 : static const JSJitInfo WebkitBorderRadius_getterinfo = {
56225 : { (JSJitGetterOp)get_WebkitBorderRadius },
56226 : { prototypes::id::CSS2Properties },
56227 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56228 : JSJitInfo::Getter,
56229 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56230 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
56231 : false, /* isInfallible. False in setters. */
56232 : false, /* isMovable. Not relevant for setters. */
56233 : false, /* isEliminatable. Not relevant for setters. */
56234 : false, /* isAlwaysInSlot. Only relevant for getters. */
56235 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56236 : false, /* isTypedMethod. Only relevant for methods. */
56237 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56238 : };
56239 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56240 : static_assert(0 < 1, "There is no slot for us");
56241 : static const JSJitInfo WebkitBorderRadius_setterinfo = {
56242 : { (JSJitGetterOp)set_WebkitBorderRadius },
56243 : { prototypes::id::CSS2Properties },
56244 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56245 : JSJitInfo::Setter,
56246 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56247 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
56248 : false, /* isInfallible. False in setters. */
56249 : false, /* isMovable. Not relevant for setters. */
56250 : false, /* isEliminatable. Not relevant for setters. */
56251 : false, /* isAlwaysInSlot. Only relevant for getters. */
56252 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56253 : false, /* isTypedMethod. Only relevant for methods. */
56254 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56255 : };
56256 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56257 : static_assert(0 < 1, "There is no slot for us");
56258 :
56259 : static bool
56260 0 : get_webkitBorderRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
56261 : {
56262 0 : binding_detail::FastErrorResult rv;
56263 0 : DOMString result;
56264 0 : self->GetWebkitBorderRadius(result, rv);
56265 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56266 0 : return false;
56267 : }
56268 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56269 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
56270 0 : return false;
56271 : }
56272 0 : return true;
56273 : }
56274 :
56275 : static bool
56276 0 : set_webkitBorderRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
56277 : {
56278 0 : binding_detail::FakeString arg0;
56279 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
56280 0 : return false;
56281 : }
56282 0 : binding_detail::FastErrorResult rv;
56283 0 : self->SetWebkitBorderRadius(NonNullHelper(Constify(arg0)), rv);
56284 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56285 0 : return false;
56286 : }
56287 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56288 :
56289 0 : return true;
56290 : }
56291 :
56292 : static const JSJitInfo webkitBorderRadius_getterinfo = {
56293 : { (JSJitGetterOp)get_webkitBorderRadius },
56294 : { prototypes::id::CSS2Properties },
56295 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56296 : JSJitInfo::Getter,
56297 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56298 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
56299 : false, /* isInfallible. False in setters. */
56300 : false, /* isMovable. Not relevant for setters. */
56301 : false, /* isEliminatable. Not relevant for setters. */
56302 : false, /* isAlwaysInSlot. Only relevant for getters. */
56303 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56304 : false, /* isTypedMethod. Only relevant for methods. */
56305 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56306 : };
56307 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56308 : static_assert(0 < 1, "There is no slot for us");
56309 : static const JSJitInfo webkitBorderRadius_setterinfo = {
56310 : { (JSJitGetterOp)set_webkitBorderRadius },
56311 : { prototypes::id::CSS2Properties },
56312 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56313 : JSJitInfo::Setter,
56314 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56315 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
56316 : false, /* isInfallible. False in setters. */
56317 : false, /* isMovable. Not relevant for setters. */
56318 : false, /* isEliminatable. Not relevant for setters. */
56319 : false, /* isAlwaysInSlot. Only relevant for getters. */
56320 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56321 : false, /* isTypedMethod. Only relevant for methods. */
56322 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56323 : };
56324 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56325 : static_assert(0 < 1, "There is no slot for us");
56326 :
56327 : static bool
56328 0 : get__webkit_border_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
56329 : {
56330 0 : binding_detail::FastErrorResult rv;
56331 0 : DOMString result;
56332 0 : self->GetWebkitBorderRadius(result, rv);
56333 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56334 0 : return false;
56335 : }
56336 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56337 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
56338 0 : return false;
56339 : }
56340 0 : return true;
56341 : }
56342 :
56343 : static bool
56344 0 : set__webkit_border_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
56345 : {
56346 0 : binding_detail::FakeString arg0;
56347 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
56348 0 : return false;
56349 : }
56350 0 : binding_detail::FastErrorResult rv;
56351 0 : self->SetWebkitBorderRadius(NonNullHelper(Constify(arg0)), rv);
56352 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56353 0 : return false;
56354 : }
56355 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56356 :
56357 0 : return true;
56358 : }
56359 :
56360 : static const JSJitInfo _webkit_border_radius_getterinfo = {
56361 : { (JSJitGetterOp)get__webkit_border_radius },
56362 : { prototypes::id::CSS2Properties },
56363 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56364 : JSJitInfo::Getter,
56365 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56366 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
56367 : false, /* isInfallible. False in setters. */
56368 : false, /* isMovable. Not relevant for setters. */
56369 : false, /* isEliminatable. Not relevant for setters. */
56370 : false, /* isAlwaysInSlot. Only relevant for getters. */
56371 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56372 : false, /* isTypedMethod. Only relevant for methods. */
56373 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56374 : };
56375 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56376 : static_assert(0 < 1, "There is no slot for us");
56377 : static const JSJitInfo _webkit_border_radius_setterinfo = {
56378 : { (JSJitGetterOp)set__webkit_border_radius },
56379 : { prototypes::id::CSS2Properties },
56380 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56381 : JSJitInfo::Setter,
56382 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56383 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
56384 : false, /* isInfallible. False in setters. */
56385 : false, /* isMovable. Not relevant for setters. */
56386 : false, /* isEliminatable. Not relevant for setters. */
56387 : false, /* isAlwaysInSlot. Only relevant for getters. */
56388 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56389 : false, /* isTypedMethod. Only relevant for methods. */
56390 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56391 : };
56392 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56393 : static_assert(0 < 1, "There is no slot for us");
56394 :
56395 : static bool
56396 0 : get_WebkitBorderTopLeftRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
56397 : {
56398 0 : binding_detail::FastErrorResult rv;
56399 0 : DOMString result;
56400 0 : self->GetWebkitBorderTopLeftRadius(result, rv);
56401 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56402 0 : return false;
56403 : }
56404 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56405 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
56406 0 : return false;
56407 : }
56408 0 : return true;
56409 : }
56410 :
56411 : static bool
56412 0 : set_WebkitBorderTopLeftRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
56413 : {
56414 0 : binding_detail::FakeString arg0;
56415 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
56416 0 : return false;
56417 : }
56418 0 : binding_detail::FastErrorResult rv;
56419 0 : self->SetWebkitBorderTopLeftRadius(NonNullHelper(Constify(arg0)), rv);
56420 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56421 0 : return false;
56422 : }
56423 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56424 :
56425 0 : return true;
56426 : }
56427 :
56428 : static const JSJitInfo WebkitBorderTopLeftRadius_getterinfo = {
56429 : { (JSJitGetterOp)get_WebkitBorderTopLeftRadius },
56430 : { prototypes::id::CSS2Properties },
56431 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56432 : JSJitInfo::Getter,
56433 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56434 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
56435 : false, /* isInfallible. False in setters. */
56436 : false, /* isMovable. Not relevant for setters. */
56437 : false, /* isEliminatable. Not relevant for setters. */
56438 : false, /* isAlwaysInSlot. Only relevant for getters. */
56439 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56440 : false, /* isTypedMethod. Only relevant for methods. */
56441 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56442 : };
56443 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56444 : static_assert(0 < 1, "There is no slot for us");
56445 : static const JSJitInfo WebkitBorderTopLeftRadius_setterinfo = {
56446 : { (JSJitGetterOp)set_WebkitBorderTopLeftRadius },
56447 : { prototypes::id::CSS2Properties },
56448 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56449 : JSJitInfo::Setter,
56450 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56451 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
56452 : false, /* isInfallible. False in setters. */
56453 : false, /* isMovable. Not relevant for setters. */
56454 : false, /* isEliminatable. Not relevant for setters. */
56455 : false, /* isAlwaysInSlot. Only relevant for getters. */
56456 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56457 : false, /* isTypedMethod. Only relevant for methods. */
56458 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56459 : };
56460 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56461 : static_assert(0 < 1, "There is no slot for us");
56462 :
56463 : static bool
56464 0 : get_webkitBorderTopLeftRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
56465 : {
56466 0 : binding_detail::FastErrorResult rv;
56467 0 : DOMString result;
56468 0 : self->GetWebkitBorderTopLeftRadius(result, rv);
56469 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56470 0 : return false;
56471 : }
56472 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56473 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
56474 0 : return false;
56475 : }
56476 0 : return true;
56477 : }
56478 :
56479 : static bool
56480 0 : set_webkitBorderTopLeftRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
56481 : {
56482 0 : binding_detail::FakeString arg0;
56483 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
56484 0 : return false;
56485 : }
56486 0 : binding_detail::FastErrorResult rv;
56487 0 : self->SetWebkitBorderTopLeftRadius(NonNullHelper(Constify(arg0)), rv);
56488 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56489 0 : return false;
56490 : }
56491 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56492 :
56493 0 : return true;
56494 : }
56495 :
56496 : static const JSJitInfo webkitBorderTopLeftRadius_getterinfo = {
56497 : { (JSJitGetterOp)get_webkitBorderTopLeftRadius },
56498 : { prototypes::id::CSS2Properties },
56499 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56500 : JSJitInfo::Getter,
56501 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56502 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
56503 : false, /* isInfallible. False in setters. */
56504 : false, /* isMovable. Not relevant for setters. */
56505 : false, /* isEliminatable. Not relevant for setters. */
56506 : false, /* isAlwaysInSlot. Only relevant for getters. */
56507 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56508 : false, /* isTypedMethod. Only relevant for methods. */
56509 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56510 : };
56511 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56512 : static_assert(0 < 1, "There is no slot for us");
56513 : static const JSJitInfo webkitBorderTopLeftRadius_setterinfo = {
56514 : { (JSJitGetterOp)set_webkitBorderTopLeftRadius },
56515 : { prototypes::id::CSS2Properties },
56516 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56517 : JSJitInfo::Setter,
56518 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56519 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
56520 : false, /* isInfallible. False in setters. */
56521 : false, /* isMovable. Not relevant for setters. */
56522 : false, /* isEliminatable. Not relevant for setters. */
56523 : false, /* isAlwaysInSlot. Only relevant for getters. */
56524 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56525 : false, /* isTypedMethod. Only relevant for methods. */
56526 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56527 : };
56528 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56529 : static_assert(0 < 1, "There is no slot for us");
56530 :
56531 : static bool
56532 0 : get__webkit_border_top_left_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
56533 : {
56534 0 : binding_detail::FastErrorResult rv;
56535 0 : DOMString result;
56536 0 : self->GetWebkitBorderTopLeftRadius(result, rv);
56537 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56538 0 : return false;
56539 : }
56540 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56541 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
56542 0 : return false;
56543 : }
56544 0 : return true;
56545 : }
56546 :
56547 : static bool
56548 0 : set__webkit_border_top_left_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
56549 : {
56550 0 : binding_detail::FakeString arg0;
56551 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
56552 0 : return false;
56553 : }
56554 0 : binding_detail::FastErrorResult rv;
56555 0 : self->SetWebkitBorderTopLeftRadius(NonNullHelper(Constify(arg0)), rv);
56556 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56557 0 : return false;
56558 : }
56559 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56560 :
56561 0 : return true;
56562 : }
56563 :
56564 : static const JSJitInfo _webkit_border_top_left_radius_getterinfo = {
56565 : { (JSJitGetterOp)get__webkit_border_top_left_radius },
56566 : { prototypes::id::CSS2Properties },
56567 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56568 : JSJitInfo::Getter,
56569 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56570 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
56571 : false, /* isInfallible. False in setters. */
56572 : false, /* isMovable. Not relevant for setters. */
56573 : false, /* isEliminatable. Not relevant for setters. */
56574 : false, /* isAlwaysInSlot. Only relevant for getters. */
56575 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56576 : false, /* isTypedMethod. Only relevant for methods. */
56577 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56578 : };
56579 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56580 : static_assert(0 < 1, "There is no slot for us");
56581 : static const JSJitInfo _webkit_border_top_left_radius_setterinfo = {
56582 : { (JSJitGetterOp)set__webkit_border_top_left_radius },
56583 : { prototypes::id::CSS2Properties },
56584 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56585 : JSJitInfo::Setter,
56586 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56587 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
56588 : false, /* isInfallible. False in setters. */
56589 : false, /* isMovable. Not relevant for setters. */
56590 : false, /* isEliminatable. Not relevant for setters. */
56591 : false, /* isAlwaysInSlot. Only relevant for getters. */
56592 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56593 : false, /* isTypedMethod. Only relevant for methods. */
56594 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56595 : };
56596 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56597 : static_assert(0 < 1, "There is no slot for us");
56598 :
56599 : static bool
56600 0 : get_WebkitBorderTopRightRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
56601 : {
56602 0 : binding_detail::FastErrorResult rv;
56603 0 : DOMString result;
56604 0 : self->GetWebkitBorderTopRightRadius(result, rv);
56605 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56606 0 : return false;
56607 : }
56608 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56609 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
56610 0 : return false;
56611 : }
56612 0 : return true;
56613 : }
56614 :
56615 : static bool
56616 0 : set_WebkitBorderTopRightRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
56617 : {
56618 0 : binding_detail::FakeString arg0;
56619 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
56620 0 : return false;
56621 : }
56622 0 : binding_detail::FastErrorResult rv;
56623 0 : self->SetWebkitBorderTopRightRadius(NonNullHelper(Constify(arg0)), rv);
56624 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56625 0 : return false;
56626 : }
56627 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56628 :
56629 0 : return true;
56630 : }
56631 :
56632 : static const JSJitInfo WebkitBorderTopRightRadius_getterinfo = {
56633 : { (JSJitGetterOp)get_WebkitBorderTopRightRadius },
56634 : { prototypes::id::CSS2Properties },
56635 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56636 : JSJitInfo::Getter,
56637 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56638 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
56639 : false, /* isInfallible. False in setters. */
56640 : false, /* isMovable. Not relevant for setters. */
56641 : false, /* isEliminatable. Not relevant for setters. */
56642 : false, /* isAlwaysInSlot. Only relevant for getters. */
56643 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56644 : false, /* isTypedMethod. Only relevant for methods. */
56645 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56646 : };
56647 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56648 : static_assert(0 < 1, "There is no slot for us");
56649 : static const JSJitInfo WebkitBorderTopRightRadius_setterinfo = {
56650 : { (JSJitGetterOp)set_WebkitBorderTopRightRadius },
56651 : { prototypes::id::CSS2Properties },
56652 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56653 : JSJitInfo::Setter,
56654 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56655 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
56656 : false, /* isInfallible. False in setters. */
56657 : false, /* isMovable. Not relevant for setters. */
56658 : false, /* isEliminatable. Not relevant for setters. */
56659 : false, /* isAlwaysInSlot. Only relevant for getters. */
56660 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56661 : false, /* isTypedMethod. Only relevant for methods. */
56662 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56663 : };
56664 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56665 : static_assert(0 < 1, "There is no slot for us");
56666 :
56667 : static bool
56668 0 : get_webkitBorderTopRightRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
56669 : {
56670 0 : binding_detail::FastErrorResult rv;
56671 0 : DOMString result;
56672 0 : self->GetWebkitBorderTopRightRadius(result, rv);
56673 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56674 0 : return false;
56675 : }
56676 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56677 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
56678 0 : return false;
56679 : }
56680 0 : return true;
56681 : }
56682 :
56683 : static bool
56684 0 : set_webkitBorderTopRightRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
56685 : {
56686 0 : binding_detail::FakeString arg0;
56687 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
56688 0 : return false;
56689 : }
56690 0 : binding_detail::FastErrorResult rv;
56691 0 : self->SetWebkitBorderTopRightRadius(NonNullHelper(Constify(arg0)), rv);
56692 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56693 0 : return false;
56694 : }
56695 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56696 :
56697 0 : return true;
56698 : }
56699 :
56700 : static const JSJitInfo webkitBorderTopRightRadius_getterinfo = {
56701 : { (JSJitGetterOp)get_webkitBorderTopRightRadius },
56702 : { prototypes::id::CSS2Properties },
56703 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56704 : JSJitInfo::Getter,
56705 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56706 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
56707 : false, /* isInfallible. False in setters. */
56708 : false, /* isMovable. Not relevant for setters. */
56709 : false, /* isEliminatable. Not relevant for setters. */
56710 : false, /* isAlwaysInSlot. Only relevant for getters. */
56711 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56712 : false, /* isTypedMethod. Only relevant for methods. */
56713 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56714 : };
56715 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56716 : static_assert(0 < 1, "There is no slot for us");
56717 : static const JSJitInfo webkitBorderTopRightRadius_setterinfo = {
56718 : { (JSJitGetterOp)set_webkitBorderTopRightRadius },
56719 : { prototypes::id::CSS2Properties },
56720 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56721 : JSJitInfo::Setter,
56722 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56723 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
56724 : false, /* isInfallible. False in setters. */
56725 : false, /* isMovable. Not relevant for setters. */
56726 : false, /* isEliminatable. Not relevant for setters. */
56727 : false, /* isAlwaysInSlot. Only relevant for getters. */
56728 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56729 : false, /* isTypedMethod. Only relevant for methods. */
56730 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56731 : };
56732 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56733 : static_assert(0 < 1, "There is no slot for us");
56734 :
56735 : static bool
56736 0 : get__webkit_border_top_right_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
56737 : {
56738 0 : binding_detail::FastErrorResult rv;
56739 0 : DOMString result;
56740 0 : self->GetWebkitBorderTopRightRadius(result, rv);
56741 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56742 0 : return false;
56743 : }
56744 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56745 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
56746 0 : return false;
56747 : }
56748 0 : return true;
56749 : }
56750 :
56751 : static bool
56752 0 : set__webkit_border_top_right_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
56753 : {
56754 0 : binding_detail::FakeString arg0;
56755 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
56756 0 : return false;
56757 : }
56758 0 : binding_detail::FastErrorResult rv;
56759 0 : self->SetWebkitBorderTopRightRadius(NonNullHelper(Constify(arg0)), rv);
56760 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56761 0 : return false;
56762 : }
56763 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56764 :
56765 0 : return true;
56766 : }
56767 :
56768 : static const JSJitInfo _webkit_border_top_right_radius_getterinfo = {
56769 : { (JSJitGetterOp)get__webkit_border_top_right_radius },
56770 : { prototypes::id::CSS2Properties },
56771 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56772 : JSJitInfo::Getter,
56773 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56774 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
56775 : false, /* isInfallible. False in setters. */
56776 : false, /* isMovable. Not relevant for setters. */
56777 : false, /* isEliminatable. Not relevant for setters. */
56778 : false, /* isAlwaysInSlot. Only relevant for getters. */
56779 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56780 : false, /* isTypedMethod. Only relevant for methods. */
56781 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56782 : };
56783 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56784 : static_assert(0 < 1, "There is no slot for us");
56785 : static const JSJitInfo _webkit_border_top_right_radius_setterinfo = {
56786 : { (JSJitGetterOp)set__webkit_border_top_right_radius },
56787 : { prototypes::id::CSS2Properties },
56788 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56789 : JSJitInfo::Setter,
56790 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56791 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
56792 : false, /* isInfallible. False in setters. */
56793 : false, /* isMovable. Not relevant for setters. */
56794 : false, /* isEliminatable. Not relevant for setters. */
56795 : false, /* isAlwaysInSlot. Only relevant for getters. */
56796 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56797 : false, /* isTypedMethod. Only relevant for methods. */
56798 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56799 : };
56800 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56801 : static_assert(0 < 1, "There is no slot for us");
56802 :
56803 : static bool
56804 0 : get_WebkitBorderBottomLeftRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
56805 : {
56806 0 : binding_detail::FastErrorResult rv;
56807 0 : DOMString result;
56808 0 : self->GetWebkitBorderBottomLeftRadius(result, rv);
56809 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56810 0 : return false;
56811 : }
56812 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56813 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
56814 0 : return false;
56815 : }
56816 0 : return true;
56817 : }
56818 :
56819 : static bool
56820 0 : set_WebkitBorderBottomLeftRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
56821 : {
56822 0 : binding_detail::FakeString arg0;
56823 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
56824 0 : return false;
56825 : }
56826 0 : binding_detail::FastErrorResult rv;
56827 0 : self->SetWebkitBorderBottomLeftRadius(NonNullHelper(Constify(arg0)), rv);
56828 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56829 0 : return false;
56830 : }
56831 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56832 :
56833 0 : return true;
56834 : }
56835 :
56836 : static const JSJitInfo WebkitBorderBottomLeftRadius_getterinfo = {
56837 : { (JSJitGetterOp)get_WebkitBorderBottomLeftRadius },
56838 : { prototypes::id::CSS2Properties },
56839 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56840 : JSJitInfo::Getter,
56841 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56842 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
56843 : false, /* isInfallible. False in setters. */
56844 : false, /* isMovable. Not relevant for setters. */
56845 : false, /* isEliminatable. Not relevant for setters. */
56846 : false, /* isAlwaysInSlot. Only relevant for getters. */
56847 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56848 : false, /* isTypedMethod. Only relevant for methods. */
56849 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56850 : };
56851 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56852 : static_assert(0 < 1, "There is no slot for us");
56853 : static const JSJitInfo WebkitBorderBottomLeftRadius_setterinfo = {
56854 : { (JSJitGetterOp)set_WebkitBorderBottomLeftRadius },
56855 : { prototypes::id::CSS2Properties },
56856 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56857 : JSJitInfo::Setter,
56858 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56859 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
56860 : false, /* isInfallible. False in setters. */
56861 : false, /* isMovable. Not relevant for setters. */
56862 : false, /* isEliminatable. Not relevant for setters. */
56863 : false, /* isAlwaysInSlot. Only relevant for getters. */
56864 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56865 : false, /* isTypedMethod. Only relevant for methods. */
56866 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56867 : };
56868 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56869 : static_assert(0 < 1, "There is no slot for us");
56870 :
56871 : static bool
56872 0 : get_webkitBorderBottomLeftRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
56873 : {
56874 0 : binding_detail::FastErrorResult rv;
56875 0 : DOMString result;
56876 0 : self->GetWebkitBorderBottomLeftRadius(result, rv);
56877 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56878 0 : return false;
56879 : }
56880 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56881 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
56882 0 : return false;
56883 : }
56884 0 : return true;
56885 : }
56886 :
56887 : static bool
56888 0 : set_webkitBorderBottomLeftRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
56889 : {
56890 0 : binding_detail::FakeString arg0;
56891 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
56892 0 : return false;
56893 : }
56894 0 : binding_detail::FastErrorResult rv;
56895 0 : self->SetWebkitBorderBottomLeftRadius(NonNullHelper(Constify(arg0)), rv);
56896 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56897 0 : return false;
56898 : }
56899 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56900 :
56901 0 : return true;
56902 : }
56903 :
56904 : static const JSJitInfo webkitBorderBottomLeftRadius_getterinfo = {
56905 : { (JSJitGetterOp)get_webkitBorderBottomLeftRadius },
56906 : { prototypes::id::CSS2Properties },
56907 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56908 : JSJitInfo::Getter,
56909 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56910 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
56911 : false, /* isInfallible. False in setters. */
56912 : false, /* isMovable. Not relevant for setters. */
56913 : false, /* isEliminatable. Not relevant for setters. */
56914 : false, /* isAlwaysInSlot. Only relevant for getters. */
56915 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56916 : false, /* isTypedMethod. Only relevant for methods. */
56917 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56918 : };
56919 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56920 : static_assert(0 < 1, "There is no slot for us");
56921 : static const JSJitInfo webkitBorderBottomLeftRadius_setterinfo = {
56922 : { (JSJitGetterOp)set_webkitBorderBottomLeftRadius },
56923 : { prototypes::id::CSS2Properties },
56924 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56925 : JSJitInfo::Setter,
56926 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56927 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
56928 : false, /* isInfallible. False in setters. */
56929 : false, /* isMovable. Not relevant for setters. */
56930 : false, /* isEliminatable. Not relevant for setters. */
56931 : false, /* isAlwaysInSlot. Only relevant for getters. */
56932 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56933 : false, /* isTypedMethod. Only relevant for methods. */
56934 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56935 : };
56936 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56937 : static_assert(0 < 1, "There is no slot for us");
56938 :
56939 : static bool
56940 0 : get__webkit_border_bottom_left_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
56941 : {
56942 0 : binding_detail::FastErrorResult rv;
56943 0 : DOMString result;
56944 0 : self->GetWebkitBorderBottomLeftRadius(result, rv);
56945 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56946 0 : return false;
56947 : }
56948 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56949 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
56950 0 : return false;
56951 : }
56952 0 : return true;
56953 : }
56954 :
56955 : static bool
56956 0 : set__webkit_border_bottom_left_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
56957 : {
56958 0 : binding_detail::FakeString arg0;
56959 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
56960 0 : return false;
56961 : }
56962 0 : binding_detail::FastErrorResult rv;
56963 0 : self->SetWebkitBorderBottomLeftRadius(NonNullHelper(Constify(arg0)), rv);
56964 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
56965 0 : return false;
56966 : }
56967 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
56968 :
56969 0 : return true;
56970 : }
56971 :
56972 : static const JSJitInfo _webkit_border_bottom_left_radius_getterinfo = {
56973 : { (JSJitGetterOp)get__webkit_border_bottom_left_radius },
56974 : { prototypes::id::CSS2Properties },
56975 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56976 : JSJitInfo::Getter,
56977 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56978 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
56979 : false, /* isInfallible. False in setters. */
56980 : false, /* isMovable. Not relevant for setters. */
56981 : false, /* isEliminatable. Not relevant for setters. */
56982 : false, /* isAlwaysInSlot. Only relevant for getters. */
56983 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
56984 : false, /* isTypedMethod. Only relevant for methods. */
56985 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
56986 : };
56987 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
56988 : static_assert(0 < 1, "There is no slot for us");
56989 : static const JSJitInfo _webkit_border_bottom_left_radius_setterinfo = {
56990 : { (JSJitGetterOp)set__webkit_border_bottom_left_radius },
56991 : { prototypes::id::CSS2Properties },
56992 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
56993 : JSJitInfo::Setter,
56994 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
56995 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
56996 : false, /* isInfallible. False in setters. */
56997 : false, /* isMovable. Not relevant for setters. */
56998 : false, /* isEliminatable. Not relevant for setters. */
56999 : false, /* isAlwaysInSlot. Only relevant for getters. */
57000 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57001 : false, /* isTypedMethod. Only relevant for methods. */
57002 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57003 : };
57004 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57005 : static_assert(0 < 1, "There is no slot for us");
57006 :
57007 : static bool
57008 0 : get_WebkitBorderBottomRightRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
57009 : {
57010 0 : binding_detail::FastErrorResult rv;
57011 0 : DOMString result;
57012 0 : self->GetWebkitBorderBottomRightRadius(result, rv);
57013 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57014 0 : return false;
57015 : }
57016 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57017 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
57018 0 : return false;
57019 : }
57020 0 : return true;
57021 : }
57022 :
57023 : static bool
57024 0 : set_WebkitBorderBottomRightRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
57025 : {
57026 0 : binding_detail::FakeString arg0;
57027 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
57028 0 : return false;
57029 : }
57030 0 : binding_detail::FastErrorResult rv;
57031 0 : self->SetWebkitBorderBottomRightRadius(NonNullHelper(Constify(arg0)), rv);
57032 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57033 0 : return false;
57034 : }
57035 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57036 :
57037 0 : return true;
57038 : }
57039 :
57040 : static const JSJitInfo WebkitBorderBottomRightRadius_getterinfo = {
57041 : { (JSJitGetterOp)get_WebkitBorderBottomRightRadius },
57042 : { prototypes::id::CSS2Properties },
57043 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57044 : JSJitInfo::Getter,
57045 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57046 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
57047 : false, /* isInfallible. False in setters. */
57048 : false, /* isMovable. Not relevant for setters. */
57049 : false, /* isEliminatable. Not relevant for setters. */
57050 : false, /* isAlwaysInSlot. Only relevant for getters. */
57051 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57052 : false, /* isTypedMethod. Only relevant for methods. */
57053 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57054 : };
57055 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57056 : static_assert(0 < 1, "There is no slot for us");
57057 : static const JSJitInfo WebkitBorderBottomRightRadius_setterinfo = {
57058 : { (JSJitGetterOp)set_WebkitBorderBottomRightRadius },
57059 : { prototypes::id::CSS2Properties },
57060 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57061 : JSJitInfo::Setter,
57062 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57063 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
57064 : false, /* isInfallible. False in setters. */
57065 : false, /* isMovable. Not relevant for setters. */
57066 : false, /* isEliminatable. Not relevant for setters. */
57067 : false, /* isAlwaysInSlot. Only relevant for getters. */
57068 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57069 : false, /* isTypedMethod. Only relevant for methods. */
57070 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57071 : };
57072 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57073 : static_assert(0 < 1, "There is no slot for us");
57074 :
57075 : static bool
57076 0 : get_webkitBorderBottomRightRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
57077 : {
57078 0 : binding_detail::FastErrorResult rv;
57079 0 : DOMString result;
57080 0 : self->GetWebkitBorderBottomRightRadius(result, rv);
57081 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57082 0 : return false;
57083 : }
57084 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57085 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
57086 0 : return false;
57087 : }
57088 0 : return true;
57089 : }
57090 :
57091 : static bool
57092 0 : set_webkitBorderBottomRightRadius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
57093 : {
57094 0 : binding_detail::FakeString arg0;
57095 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
57096 0 : return false;
57097 : }
57098 0 : binding_detail::FastErrorResult rv;
57099 0 : self->SetWebkitBorderBottomRightRadius(NonNullHelper(Constify(arg0)), rv);
57100 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57101 0 : return false;
57102 : }
57103 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57104 :
57105 0 : return true;
57106 : }
57107 :
57108 : static const JSJitInfo webkitBorderBottomRightRadius_getterinfo = {
57109 : { (JSJitGetterOp)get_webkitBorderBottomRightRadius },
57110 : { prototypes::id::CSS2Properties },
57111 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57112 : JSJitInfo::Getter,
57113 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57114 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
57115 : false, /* isInfallible. False in setters. */
57116 : false, /* isMovable. Not relevant for setters. */
57117 : false, /* isEliminatable. Not relevant for setters. */
57118 : false, /* isAlwaysInSlot. Only relevant for getters. */
57119 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57120 : false, /* isTypedMethod. Only relevant for methods. */
57121 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57122 : };
57123 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57124 : static_assert(0 < 1, "There is no slot for us");
57125 : static const JSJitInfo webkitBorderBottomRightRadius_setterinfo = {
57126 : { (JSJitGetterOp)set_webkitBorderBottomRightRadius },
57127 : { prototypes::id::CSS2Properties },
57128 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57129 : JSJitInfo::Setter,
57130 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57131 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
57132 : false, /* isInfallible. False in setters. */
57133 : false, /* isMovable. Not relevant for setters. */
57134 : false, /* isEliminatable. Not relevant for setters. */
57135 : false, /* isAlwaysInSlot. Only relevant for getters. */
57136 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57137 : false, /* isTypedMethod. Only relevant for methods. */
57138 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57139 : };
57140 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57141 : static_assert(0 < 1, "There is no slot for us");
57142 :
57143 : static bool
57144 0 : get__webkit_border_bottom_right_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
57145 : {
57146 0 : binding_detail::FastErrorResult rv;
57147 0 : DOMString result;
57148 0 : self->GetWebkitBorderBottomRightRadius(result, rv);
57149 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57150 0 : return false;
57151 : }
57152 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57153 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
57154 0 : return false;
57155 : }
57156 0 : return true;
57157 : }
57158 :
57159 : static bool
57160 0 : set__webkit_border_bottom_right_radius(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
57161 : {
57162 0 : binding_detail::FakeString arg0;
57163 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
57164 0 : return false;
57165 : }
57166 0 : binding_detail::FastErrorResult rv;
57167 0 : self->SetWebkitBorderBottomRightRadius(NonNullHelper(Constify(arg0)), rv);
57168 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57169 0 : return false;
57170 : }
57171 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57172 :
57173 0 : return true;
57174 : }
57175 :
57176 : static const JSJitInfo _webkit_border_bottom_right_radius_getterinfo = {
57177 : { (JSJitGetterOp)get__webkit_border_bottom_right_radius },
57178 : { prototypes::id::CSS2Properties },
57179 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57180 : JSJitInfo::Getter,
57181 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57182 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
57183 : false, /* isInfallible. False in setters. */
57184 : false, /* isMovable. Not relevant for setters. */
57185 : false, /* isEliminatable. Not relevant for setters. */
57186 : false, /* isAlwaysInSlot. Only relevant for getters. */
57187 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57188 : false, /* isTypedMethod. Only relevant for methods. */
57189 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57190 : };
57191 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57192 : static_assert(0 < 1, "There is no slot for us");
57193 : static const JSJitInfo _webkit_border_bottom_right_radius_setterinfo = {
57194 : { (JSJitGetterOp)set__webkit_border_bottom_right_radius },
57195 : { prototypes::id::CSS2Properties },
57196 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57197 : JSJitInfo::Setter,
57198 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57199 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
57200 : false, /* isInfallible. False in setters. */
57201 : false, /* isMovable. Not relevant for setters. */
57202 : false, /* isEliminatable. Not relevant for setters. */
57203 : false, /* isAlwaysInSlot. Only relevant for getters. */
57204 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57205 : false, /* isTypedMethod. Only relevant for methods. */
57206 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57207 : };
57208 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57209 : static_assert(0 < 1, "There is no slot for us");
57210 :
57211 : static bool
57212 0 : get_WebkitBackgroundClip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
57213 : {
57214 0 : binding_detail::FastErrorResult rv;
57215 0 : DOMString result;
57216 0 : self->GetWebkitBackgroundClip(result, rv);
57217 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57218 0 : return false;
57219 : }
57220 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57221 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
57222 0 : return false;
57223 : }
57224 0 : return true;
57225 : }
57226 :
57227 : static bool
57228 0 : set_WebkitBackgroundClip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
57229 : {
57230 0 : binding_detail::FakeString arg0;
57231 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
57232 0 : return false;
57233 : }
57234 0 : binding_detail::FastErrorResult rv;
57235 0 : self->SetWebkitBackgroundClip(NonNullHelper(Constify(arg0)), rv);
57236 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57237 0 : return false;
57238 : }
57239 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57240 :
57241 0 : return true;
57242 : }
57243 :
57244 : static const JSJitInfo WebkitBackgroundClip_getterinfo = {
57245 : { (JSJitGetterOp)get_WebkitBackgroundClip },
57246 : { prototypes::id::CSS2Properties },
57247 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57248 : JSJitInfo::Getter,
57249 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57250 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
57251 : false, /* isInfallible. False in setters. */
57252 : false, /* isMovable. Not relevant for setters. */
57253 : false, /* isEliminatable. Not relevant for setters. */
57254 : false, /* isAlwaysInSlot. Only relevant for getters. */
57255 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57256 : false, /* isTypedMethod. Only relevant for methods. */
57257 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57258 : };
57259 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57260 : static_assert(0 < 1, "There is no slot for us");
57261 : static const JSJitInfo WebkitBackgroundClip_setterinfo = {
57262 : { (JSJitGetterOp)set_WebkitBackgroundClip },
57263 : { prototypes::id::CSS2Properties },
57264 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57265 : JSJitInfo::Setter,
57266 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57267 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
57268 : false, /* isInfallible. False in setters. */
57269 : false, /* isMovable. Not relevant for setters. */
57270 : false, /* isEliminatable. Not relevant for setters. */
57271 : false, /* isAlwaysInSlot. Only relevant for getters. */
57272 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57273 : false, /* isTypedMethod. Only relevant for methods. */
57274 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57275 : };
57276 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57277 : static_assert(0 < 1, "There is no slot for us");
57278 :
57279 : static bool
57280 0 : get_webkitBackgroundClip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
57281 : {
57282 0 : binding_detail::FastErrorResult rv;
57283 0 : DOMString result;
57284 0 : self->GetWebkitBackgroundClip(result, rv);
57285 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57286 0 : return false;
57287 : }
57288 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57289 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
57290 0 : return false;
57291 : }
57292 0 : return true;
57293 : }
57294 :
57295 : static bool
57296 0 : set_webkitBackgroundClip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
57297 : {
57298 0 : binding_detail::FakeString arg0;
57299 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
57300 0 : return false;
57301 : }
57302 0 : binding_detail::FastErrorResult rv;
57303 0 : self->SetWebkitBackgroundClip(NonNullHelper(Constify(arg0)), rv);
57304 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57305 0 : return false;
57306 : }
57307 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57308 :
57309 0 : return true;
57310 : }
57311 :
57312 : static const JSJitInfo webkitBackgroundClip_getterinfo = {
57313 : { (JSJitGetterOp)get_webkitBackgroundClip },
57314 : { prototypes::id::CSS2Properties },
57315 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57316 : JSJitInfo::Getter,
57317 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57318 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
57319 : false, /* isInfallible. False in setters. */
57320 : false, /* isMovable. Not relevant for setters. */
57321 : false, /* isEliminatable. Not relevant for setters. */
57322 : false, /* isAlwaysInSlot. Only relevant for getters. */
57323 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57324 : false, /* isTypedMethod. Only relevant for methods. */
57325 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57326 : };
57327 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57328 : static_assert(0 < 1, "There is no slot for us");
57329 : static const JSJitInfo webkitBackgroundClip_setterinfo = {
57330 : { (JSJitGetterOp)set_webkitBackgroundClip },
57331 : { prototypes::id::CSS2Properties },
57332 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57333 : JSJitInfo::Setter,
57334 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57335 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
57336 : false, /* isInfallible. False in setters. */
57337 : false, /* isMovable. Not relevant for setters. */
57338 : false, /* isEliminatable. Not relevant for setters. */
57339 : false, /* isAlwaysInSlot. Only relevant for getters. */
57340 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57341 : false, /* isTypedMethod. Only relevant for methods. */
57342 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57343 : };
57344 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57345 : static_assert(0 < 1, "There is no slot for us");
57346 :
57347 : static bool
57348 0 : get__webkit_background_clip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
57349 : {
57350 0 : binding_detail::FastErrorResult rv;
57351 0 : DOMString result;
57352 0 : self->GetWebkitBackgroundClip(result, rv);
57353 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57354 0 : return false;
57355 : }
57356 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57357 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
57358 0 : return false;
57359 : }
57360 0 : return true;
57361 : }
57362 :
57363 : static bool
57364 0 : set__webkit_background_clip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
57365 : {
57366 0 : binding_detail::FakeString arg0;
57367 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
57368 0 : return false;
57369 : }
57370 0 : binding_detail::FastErrorResult rv;
57371 0 : self->SetWebkitBackgroundClip(NonNullHelper(Constify(arg0)), rv);
57372 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57373 0 : return false;
57374 : }
57375 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57376 :
57377 0 : return true;
57378 : }
57379 :
57380 : static const JSJitInfo _webkit_background_clip_getterinfo = {
57381 : { (JSJitGetterOp)get__webkit_background_clip },
57382 : { prototypes::id::CSS2Properties },
57383 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57384 : JSJitInfo::Getter,
57385 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57386 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
57387 : false, /* isInfallible. False in setters. */
57388 : false, /* isMovable. Not relevant for setters. */
57389 : false, /* isEliminatable. Not relevant for setters. */
57390 : false, /* isAlwaysInSlot. Only relevant for getters. */
57391 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57392 : false, /* isTypedMethod. Only relevant for methods. */
57393 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57394 : };
57395 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57396 : static_assert(0 < 1, "There is no slot for us");
57397 : static const JSJitInfo _webkit_background_clip_setterinfo = {
57398 : { (JSJitGetterOp)set__webkit_background_clip },
57399 : { prototypes::id::CSS2Properties },
57400 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57401 : JSJitInfo::Setter,
57402 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57403 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
57404 : false, /* isInfallible. False in setters. */
57405 : false, /* isMovable. Not relevant for setters. */
57406 : false, /* isEliminatable. Not relevant for setters. */
57407 : false, /* isAlwaysInSlot. Only relevant for getters. */
57408 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57409 : false, /* isTypedMethod. Only relevant for methods. */
57410 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57411 : };
57412 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57413 : static_assert(0 < 1, "There is no slot for us");
57414 :
57415 : static bool
57416 0 : get_WebkitBackgroundOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
57417 : {
57418 0 : binding_detail::FastErrorResult rv;
57419 0 : DOMString result;
57420 0 : self->GetWebkitBackgroundOrigin(result, rv);
57421 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57422 0 : return false;
57423 : }
57424 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57425 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
57426 0 : return false;
57427 : }
57428 0 : return true;
57429 : }
57430 :
57431 : static bool
57432 0 : set_WebkitBackgroundOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
57433 : {
57434 0 : binding_detail::FakeString arg0;
57435 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
57436 0 : return false;
57437 : }
57438 0 : binding_detail::FastErrorResult rv;
57439 0 : self->SetWebkitBackgroundOrigin(NonNullHelper(Constify(arg0)), rv);
57440 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57441 0 : return false;
57442 : }
57443 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57444 :
57445 0 : return true;
57446 : }
57447 :
57448 : static const JSJitInfo WebkitBackgroundOrigin_getterinfo = {
57449 : { (JSJitGetterOp)get_WebkitBackgroundOrigin },
57450 : { prototypes::id::CSS2Properties },
57451 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57452 : JSJitInfo::Getter,
57453 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57454 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
57455 : false, /* isInfallible. False in setters. */
57456 : false, /* isMovable. Not relevant for setters. */
57457 : false, /* isEliminatable. Not relevant for setters. */
57458 : false, /* isAlwaysInSlot. Only relevant for getters. */
57459 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57460 : false, /* isTypedMethod. Only relevant for methods. */
57461 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57462 : };
57463 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57464 : static_assert(0 < 1, "There is no slot for us");
57465 : static const JSJitInfo WebkitBackgroundOrigin_setterinfo = {
57466 : { (JSJitGetterOp)set_WebkitBackgroundOrigin },
57467 : { prototypes::id::CSS2Properties },
57468 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57469 : JSJitInfo::Setter,
57470 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57471 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
57472 : false, /* isInfallible. False in setters. */
57473 : false, /* isMovable. Not relevant for setters. */
57474 : false, /* isEliminatable. Not relevant for setters. */
57475 : false, /* isAlwaysInSlot. Only relevant for getters. */
57476 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57477 : false, /* isTypedMethod. Only relevant for methods. */
57478 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57479 : };
57480 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57481 : static_assert(0 < 1, "There is no slot for us");
57482 :
57483 : static bool
57484 0 : get_webkitBackgroundOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
57485 : {
57486 0 : binding_detail::FastErrorResult rv;
57487 0 : DOMString result;
57488 0 : self->GetWebkitBackgroundOrigin(result, rv);
57489 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57490 0 : return false;
57491 : }
57492 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57493 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
57494 0 : return false;
57495 : }
57496 0 : return true;
57497 : }
57498 :
57499 : static bool
57500 0 : set_webkitBackgroundOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
57501 : {
57502 0 : binding_detail::FakeString arg0;
57503 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
57504 0 : return false;
57505 : }
57506 0 : binding_detail::FastErrorResult rv;
57507 0 : self->SetWebkitBackgroundOrigin(NonNullHelper(Constify(arg0)), rv);
57508 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57509 0 : return false;
57510 : }
57511 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57512 :
57513 0 : return true;
57514 : }
57515 :
57516 : static const JSJitInfo webkitBackgroundOrigin_getterinfo = {
57517 : { (JSJitGetterOp)get_webkitBackgroundOrigin },
57518 : { prototypes::id::CSS2Properties },
57519 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57520 : JSJitInfo::Getter,
57521 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57522 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
57523 : false, /* isInfallible. False in setters. */
57524 : false, /* isMovable. Not relevant for setters. */
57525 : false, /* isEliminatable. Not relevant for setters. */
57526 : false, /* isAlwaysInSlot. Only relevant for getters. */
57527 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57528 : false, /* isTypedMethod. Only relevant for methods. */
57529 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57530 : };
57531 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57532 : static_assert(0 < 1, "There is no slot for us");
57533 : static const JSJitInfo webkitBackgroundOrigin_setterinfo = {
57534 : { (JSJitGetterOp)set_webkitBackgroundOrigin },
57535 : { prototypes::id::CSS2Properties },
57536 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57537 : JSJitInfo::Setter,
57538 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57539 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
57540 : false, /* isInfallible. False in setters. */
57541 : false, /* isMovable. Not relevant for setters. */
57542 : false, /* isEliminatable. Not relevant for setters. */
57543 : false, /* isAlwaysInSlot. Only relevant for getters. */
57544 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57545 : false, /* isTypedMethod. Only relevant for methods. */
57546 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57547 : };
57548 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57549 : static_assert(0 < 1, "There is no slot for us");
57550 :
57551 : static bool
57552 0 : get__webkit_background_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
57553 : {
57554 0 : binding_detail::FastErrorResult rv;
57555 0 : DOMString result;
57556 0 : self->GetWebkitBackgroundOrigin(result, rv);
57557 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57558 0 : return false;
57559 : }
57560 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57561 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
57562 0 : return false;
57563 : }
57564 0 : return true;
57565 : }
57566 :
57567 : static bool
57568 0 : set__webkit_background_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
57569 : {
57570 0 : binding_detail::FakeString arg0;
57571 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
57572 0 : return false;
57573 : }
57574 0 : binding_detail::FastErrorResult rv;
57575 0 : self->SetWebkitBackgroundOrigin(NonNullHelper(Constify(arg0)), rv);
57576 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57577 0 : return false;
57578 : }
57579 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57580 :
57581 0 : return true;
57582 : }
57583 :
57584 : static const JSJitInfo _webkit_background_origin_getterinfo = {
57585 : { (JSJitGetterOp)get__webkit_background_origin },
57586 : { prototypes::id::CSS2Properties },
57587 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57588 : JSJitInfo::Getter,
57589 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57590 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
57591 : false, /* isInfallible. False in setters. */
57592 : false, /* isMovable. Not relevant for setters. */
57593 : false, /* isEliminatable. Not relevant for setters. */
57594 : false, /* isAlwaysInSlot. Only relevant for getters. */
57595 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57596 : false, /* isTypedMethod. Only relevant for methods. */
57597 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57598 : };
57599 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57600 : static_assert(0 < 1, "There is no slot for us");
57601 : static const JSJitInfo _webkit_background_origin_setterinfo = {
57602 : { (JSJitGetterOp)set__webkit_background_origin },
57603 : { prototypes::id::CSS2Properties },
57604 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57605 : JSJitInfo::Setter,
57606 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57607 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
57608 : false, /* isInfallible. False in setters. */
57609 : false, /* isMovable. Not relevant for setters. */
57610 : false, /* isEliminatable. Not relevant for setters. */
57611 : false, /* isAlwaysInSlot. Only relevant for getters. */
57612 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57613 : false, /* isTypedMethod. Only relevant for methods. */
57614 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57615 : };
57616 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57617 : static_assert(0 < 1, "There is no slot for us");
57618 :
57619 : static bool
57620 0 : get_WebkitBackgroundSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
57621 : {
57622 0 : binding_detail::FastErrorResult rv;
57623 0 : DOMString result;
57624 0 : self->GetWebkitBackgroundSize(result, rv);
57625 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57626 0 : return false;
57627 : }
57628 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57629 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
57630 0 : return false;
57631 : }
57632 0 : return true;
57633 : }
57634 :
57635 : static bool
57636 0 : set_WebkitBackgroundSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
57637 : {
57638 0 : binding_detail::FakeString arg0;
57639 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
57640 0 : return false;
57641 : }
57642 0 : binding_detail::FastErrorResult rv;
57643 0 : self->SetWebkitBackgroundSize(NonNullHelper(Constify(arg0)), rv);
57644 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57645 0 : return false;
57646 : }
57647 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57648 :
57649 0 : return true;
57650 : }
57651 :
57652 : static const JSJitInfo WebkitBackgroundSize_getterinfo = {
57653 : { (JSJitGetterOp)get_WebkitBackgroundSize },
57654 : { prototypes::id::CSS2Properties },
57655 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57656 : JSJitInfo::Getter,
57657 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57658 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
57659 : false, /* isInfallible. False in setters. */
57660 : false, /* isMovable. Not relevant for setters. */
57661 : false, /* isEliminatable. Not relevant for setters. */
57662 : false, /* isAlwaysInSlot. Only relevant for getters. */
57663 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57664 : false, /* isTypedMethod. Only relevant for methods. */
57665 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57666 : };
57667 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57668 : static_assert(0 < 1, "There is no slot for us");
57669 : static const JSJitInfo WebkitBackgroundSize_setterinfo = {
57670 : { (JSJitGetterOp)set_WebkitBackgroundSize },
57671 : { prototypes::id::CSS2Properties },
57672 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57673 : JSJitInfo::Setter,
57674 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57675 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
57676 : false, /* isInfallible. False in setters. */
57677 : false, /* isMovable. Not relevant for setters. */
57678 : false, /* isEliminatable. Not relevant for setters. */
57679 : false, /* isAlwaysInSlot. Only relevant for getters. */
57680 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57681 : false, /* isTypedMethod. Only relevant for methods. */
57682 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57683 : };
57684 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57685 : static_assert(0 < 1, "There is no slot for us");
57686 :
57687 : static bool
57688 0 : get_webkitBackgroundSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
57689 : {
57690 0 : binding_detail::FastErrorResult rv;
57691 0 : DOMString result;
57692 0 : self->GetWebkitBackgroundSize(result, rv);
57693 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57694 0 : return false;
57695 : }
57696 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57697 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
57698 0 : return false;
57699 : }
57700 0 : return true;
57701 : }
57702 :
57703 : static bool
57704 0 : set_webkitBackgroundSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
57705 : {
57706 0 : binding_detail::FakeString arg0;
57707 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
57708 0 : return false;
57709 : }
57710 0 : binding_detail::FastErrorResult rv;
57711 0 : self->SetWebkitBackgroundSize(NonNullHelper(Constify(arg0)), rv);
57712 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57713 0 : return false;
57714 : }
57715 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57716 :
57717 0 : return true;
57718 : }
57719 :
57720 : static const JSJitInfo webkitBackgroundSize_getterinfo = {
57721 : { (JSJitGetterOp)get_webkitBackgroundSize },
57722 : { prototypes::id::CSS2Properties },
57723 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57724 : JSJitInfo::Getter,
57725 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57726 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
57727 : false, /* isInfallible. False in setters. */
57728 : false, /* isMovable. Not relevant for setters. */
57729 : false, /* isEliminatable. Not relevant for setters. */
57730 : false, /* isAlwaysInSlot. Only relevant for getters. */
57731 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57732 : false, /* isTypedMethod. Only relevant for methods. */
57733 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57734 : };
57735 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57736 : static_assert(0 < 1, "There is no slot for us");
57737 : static const JSJitInfo webkitBackgroundSize_setterinfo = {
57738 : { (JSJitGetterOp)set_webkitBackgroundSize },
57739 : { prototypes::id::CSS2Properties },
57740 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57741 : JSJitInfo::Setter,
57742 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57743 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
57744 : false, /* isInfallible. False in setters. */
57745 : false, /* isMovable. Not relevant for setters. */
57746 : false, /* isEliminatable. Not relevant for setters. */
57747 : false, /* isAlwaysInSlot. Only relevant for getters. */
57748 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57749 : false, /* isTypedMethod. Only relevant for methods. */
57750 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57751 : };
57752 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57753 : static_assert(0 < 1, "There is no slot for us");
57754 :
57755 : static bool
57756 0 : get__webkit_background_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
57757 : {
57758 0 : binding_detail::FastErrorResult rv;
57759 0 : DOMString result;
57760 0 : self->GetWebkitBackgroundSize(result, rv);
57761 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57762 0 : return false;
57763 : }
57764 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57765 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
57766 0 : return false;
57767 : }
57768 0 : return true;
57769 : }
57770 :
57771 : static bool
57772 0 : set__webkit_background_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
57773 : {
57774 0 : binding_detail::FakeString arg0;
57775 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
57776 0 : return false;
57777 : }
57778 0 : binding_detail::FastErrorResult rv;
57779 0 : self->SetWebkitBackgroundSize(NonNullHelper(Constify(arg0)), rv);
57780 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57781 0 : return false;
57782 : }
57783 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57784 :
57785 0 : return true;
57786 : }
57787 :
57788 : static const JSJitInfo _webkit_background_size_getterinfo = {
57789 : { (JSJitGetterOp)get__webkit_background_size },
57790 : { prototypes::id::CSS2Properties },
57791 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57792 : JSJitInfo::Getter,
57793 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57794 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
57795 : false, /* isInfallible. False in setters. */
57796 : false, /* isMovable. Not relevant for setters. */
57797 : false, /* isEliminatable. Not relevant for setters. */
57798 : false, /* isAlwaysInSlot. Only relevant for getters. */
57799 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57800 : false, /* isTypedMethod. Only relevant for methods. */
57801 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57802 : };
57803 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57804 : static_assert(0 < 1, "There is no slot for us");
57805 : static const JSJitInfo _webkit_background_size_setterinfo = {
57806 : { (JSJitGetterOp)set__webkit_background_size },
57807 : { prototypes::id::CSS2Properties },
57808 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57809 : JSJitInfo::Setter,
57810 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57811 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
57812 : false, /* isInfallible. False in setters. */
57813 : false, /* isMovable. Not relevant for setters. */
57814 : false, /* isEliminatable. Not relevant for setters. */
57815 : false, /* isAlwaysInSlot. Only relevant for getters. */
57816 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57817 : false, /* isTypedMethod. Only relevant for methods. */
57818 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57819 : };
57820 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57821 : static_assert(0 < 1, "There is no slot for us");
57822 :
57823 : static bool
57824 0 : get_WebkitBorderImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
57825 : {
57826 0 : binding_detail::FastErrorResult rv;
57827 0 : DOMString result;
57828 0 : self->GetWebkitBorderImage(result, rv);
57829 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57830 0 : return false;
57831 : }
57832 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57833 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
57834 0 : return false;
57835 : }
57836 0 : return true;
57837 : }
57838 :
57839 : static bool
57840 0 : set_WebkitBorderImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
57841 : {
57842 0 : binding_detail::FakeString arg0;
57843 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
57844 0 : return false;
57845 : }
57846 0 : binding_detail::FastErrorResult rv;
57847 0 : self->SetWebkitBorderImage(NonNullHelper(Constify(arg0)), rv);
57848 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57849 0 : return false;
57850 : }
57851 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57852 :
57853 0 : return true;
57854 : }
57855 :
57856 : static const JSJitInfo WebkitBorderImage_getterinfo = {
57857 : { (JSJitGetterOp)get_WebkitBorderImage },
57858 : { prototypes::id::CSS2Properties },
57859 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57860 : JSJitInfo::Getter,
57861 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57862 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
57863 : false, /* isInfallible. False in setters. */
57864 : false, /* isMovable. Not relevant for setters. */
57865 : false, /* isEliminatable. Not relevant for setters. */
57866 : false, /* isAlwaysInSlot. Only relevant for getters. */
57867 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57868 : false, /* isTypedMethod. Only relevant for methods. */
57869 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57870 : };
57871 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57872 : static_assert(0 < 1, "There is no slot for us");
57873 : static const JSJitInfo WebkitBorderImage_setterinfo = {
57874 : { (JSJitGetterOp)set_WebkitBorderImage },
57875 : { prototypes::id::CSS2Properties },
57876 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57877 : JSJitInfo::Setter,
57878 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57879 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
57880 : false, /* isInfallible. False in setters. */
57881 : false, /* isMovable. Not relevant for setters. */
57882 : false, /* isEliminatable. Not relevant for setters. */
57883 : false, /* isAlwaysInSlot. Only relevant for getters. */
57884 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57885 : false, /* isTypedMethod. Only relevant for methods. */
57886 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57887 : };
57888 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57889 : static_assert(0 < 1, "There is no slot for us");
57890 :
57891 : static bool
57892 0 : get_webkitBorderImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
57893 : {
57894 0 : binding_detail::FastErrorResult rv;
57895 0 : DOMString result;
57896 0 : self->GetWebkitBorderImage(result, rv);
57897 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57898 0 : return false;
57899 : }
57900 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57901 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
57902 0 : return false;
57903 : }
57904 0 : return true;
57905 : }
57906 :
57907 : static bool
57908 0 : set_webkitBorderImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
57909 : {
57910 0 : binding_detail::FakeString arg0;
57911 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
57912 0 : return false;
57913 : }
57914 0 : binding_detail::FastErrorResult rv;
57915 0 : self->SetWebkitBorderImage(NonNullHelper(Constify(arg0)), rv);
57916 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57917 0 : return false;
57918 : }
57919 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57920 :
57921 0 : return true;
57922 : }
57923 :
57924 : static const JSJitInfo webkitBorderImage_getterinfo = {
57925 : { (JSJitGetterOp)get_webkitBorderImage },
57926 : { prototypes::id::CSS2Properties },
57927 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57928 : JSJitInfo::Getter,
57929 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57930 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
57931 : false, /* isInfallible. False in setters. */
57932 : false, /* isMovable. Not relevant for setters. */
57933 : false, /* isEliminatable. Not relevant for setters. */
57934 : false, /* isAlwaysInSlot. Only relevant for getters. */
57935 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57936 : false, /* isTypedMethod. Only relevant for methods. */
57937 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57938 : };
57939 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57940 : static_assert(0 < 1, "There is no slot for us");
57941 : static const JSJitInfo webkitBorderImage_setterinfo = {
57942 : { (JSJitGetterOp)set_webkitBorderImage },
57943 : { prototypes::id::CSS2Properties },
57944 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57945 : JSJitInfo::Setter,
57946 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57947 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
57948 : false, /* isInfallible. False in setters. */
57949 : false, /* isMovable. Not relevant for setters. */
57950 : false, /* isEliminatable. Not relevant for setters. */
57951 : false, /* isAlwaysInSlot. Only relevant for getters. */
57952 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
57953 : false, /* isTypedMethod. Only relevant for methods. */
57954 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
57955 : };
57956 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
57957 : static_assert(0 < 1, "There is no slot for us");
57958 :
57959 : static bool
57960 0 : get__webkit_border_image(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
57961 : {
57962 0 : binding_detail::FastErrorResult rv;
57963 0 : DOMString result;
57964 0 : self->GetWebkitBorderImage(result, rv);
57965 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57966 0 : return false;
57967 : }
57968 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57969 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
57970 0 : return false;
57971 : }
57972 0 : return true;
57973 : }
57974 :
57975 : static bool
57976 0 : set__webkit_border_image(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
57977 : {
57978 0 : binding_detail::FakeString arg0;
57979 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
57980 0 : return false;
57981 : }
57982 0 : binding_detail::FastErrorResult rv;
57983 0 : self->SetWebkitBorderImage(NonNullHelper(Constify(arg0)), rv);
57984 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
57985 0 : return false;
57986 : }
57987 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
57988 :
57989 0 : return true;
57990 : }
57991 :
57992 : static const JSJitInfo _webkit_border_image_getterinfo = {
57993 : { (JSJitGetterOp)get__webkit_border_image },
57994 : { prototypes::id::CSS2Properties },
57995 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
57996 : JSJitInfo::Getter,
57997 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
57998 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
57999 : false, /* isInfallible. False in setters. */
58000 : false, /* isMovable. Not relevant for setters. */
58001 : false, /* isEliminatable. Not relevant for setters. */
58002 : false, /* isAlwaysInSlot. Only relevant for getters. */
58003 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58004 : false, /* isTypedMethod. Only relevant for methods. */
58005 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58006 : };
58007 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58008 : static_assert(0 < 1, "There is no slot for us");
58009 : static const JSJitInfo _webkit_border_image_setterinfo = {
58010 : { (JSJitGetterOp)set__webkit_border_image },
58011 : { prototypes::id::CSS2Properties },
58012 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58013 : JSJitInfo::Setter,
58014 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58015 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
58016 : false, /* isInfallible. False in setters. */
58017 : false, /* isMovable. Not relevant for setters. */
58018 : false, /* isEliminatable. Not relevant for setters. */
58019 : false, /* isAlwaysInSlot. Only relevant for getters. */
58020 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58021 : false, /* isTypedMethod. Only relevant for methods. */
58022 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58023 : };
58024 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58025 : static_assert(0 < 1, "There is no slot for us");
58026 :
58027 : static bool
58028 0 : get_WebkitBoxShadow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
58029 : {
58030 0 : binding_detail::FastErrorResult rv;
58031 0 : DOMString result;
58032 0 : self->GetWebkitBoxShadow(result, rv);
58033 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58034 0 : return false;
58035 : }
58036 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58037 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
58038 0 : return false;
58039 : }
58040 0 : return true;
58041 : }
58042 :
58043 : static bool
58044 0 : set_WebkitBoxShadow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
58045 : {
58046 0 : binding_detail::FakeString arg0;
58047 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
58048 0 : return false;
58049 : }
58050 0 : binding_detail::FastErrorResult rv;
58051 0 : self->SetWebkitBoxShadow(NonNullHelper(Constify(arg0)), rv);
58052 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58053 0 : return false;
58054 : }
58055 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58056 :
58057 0 : return true;
58058 : }
58059 :
58060 : static const JSJitInfo WebkitBoxShadow_getterinfo = {
58061 : { (JSJitGetterOp)get_WebkitBoxShadow },
58062 : { prototypes::id::CSS2Properties },
58063 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58064 : JSJitInfo::Getter,
58065 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58066 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
58067 : false, /* isInfallible. False in setters. */
58068 : false, /* isMovable. Not relevant for setters. */
58069 : false, /* isEliminatable. Not relevant for setters. */
58070 : false, /* isAlwaysInSlot. Only relevant for getters. */
58071 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58072 : false, /* isTypedMethod. Only relevant for methods. */
58073 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58074 : };
58075 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58076 : static_assert(0 < 1, "There is no slot for us");
58077 : static const JSJitInfo WebkitBoxShadow_setterinfo = {
58078 : { (JSJitGetterOp)set_WebkitBoxShadow },
58079 : { prototypes::id::CSS2Properties },
58080 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58081 : JSJitInfo::Setter,
58082 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58083 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
58084 : false, /* isInfallible. False in setters. */
58085 : false, /* isMovable. Not relevant for setters. */
58086 : false, /* isEliminatable. Not relevant for setters. */
58087 : false, /* isAlwaysInSlot. Only relevant for getters. */
58088 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58089 : false, /* isTypedMethod. Only relevant for methods. */
58090 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58091 : };
58092 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58093 : static_assert(0 < 1, "There is no slot for us");
58094 :
58095 : static bool
58096 0 : get_webkitBoxShadow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
58097 : {
58098 0 : binding_detail::FastErrorResult rv;
58099 0 : DOMString result;
58100 0 : self->GetWebkitBoxShadow(result, rv);
58101 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58102 0 : return false;
58103 : }
58104 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58105 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
58106 0 : return false;
58107 : }
58108 0 : return true;
58109 : }
58110 :
58111 : static bool
58112 0 : set_webkitBoxShadow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
58113 : {
58114 0 : binding_detail::FakeString arg0;
58115 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
58116 0 : return false;
58117 : }
58118 0 : binding_detail::FastErrorResult rv;
58119 0 : self->SetWebkitBoxShadow(NonNullHelper(Constify(arg0)), rv);
58120 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58121 0 : return false;
58122 : }
58123 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58124 :
58125 0 : return true;
58126 : }
58127 :
58128 : static const JSJitInfo webkitBoxShadow_getterinfo = {
58129 : { (JSJitGetterOp)get_webkitBoxShadow },
58130 : { prototypes::id::CSS2Properties },
58131 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58132 : JSJitInfo::Getter,
58133 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58134 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
58135 : false, /* isInfallible. False in setters. */
58136 : false, /* isMovable. Not relevant for setters. */
58137 : false, /* isEliminatable. Not relevant for setters. */
58138 : false, /* isAlwaysInSlot. Only relevant for getters. */
58139 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58140 : false, /* isTypedMethod. Only relevant for methods. */
58141 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58142 : };
58143 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58144 : static_assert(0 < 1, "There is no slot for us");
58145 : static const JSJitInfo webkitBoxShadow_setterinfo = {
58146 : { (JSJitGetterOp)set_webkitBoxShadow },
58147 : { prototypes::id::CSS2Properties },
58148 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58149 : JSJitInfo::Setter,
58150 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58151 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
58152 : false, /* isInfallible. False in setters. */
58153 : false, /* isMovable. Not relevant for setters. */
58154 : false, /* isEliminatable. Not relevant for setters. */
58155 : false, /* isAlwaysInSlot. Only relevant for getters. */
58156 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58157 : false, /* isTypedMethod. Only relevant for methods. */
58158 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58159 : };
58160 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58161 : static_assert(0 < 1, "There is no slot for us");
58162 :
58163 : static bool
58164 0 : get__webkit_box_shadow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
58165 : {
58166 0 : binding_detail::FastErrorResult rv;
58167 0 : DOMString result;
58168 0 : self->GetWebkitBoxShadow(result, rv);
58169 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58170 0 : return false;
58171 : }
58172 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58173 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
58174 0 : return false;
58175 : }
58176 0 : return true;
58177 : }
58178 :
58179 : static bool
58180 0 : set__webkit_box_shadow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
58181 : {
58182 0 : binding_detail::FakeString arg0;
58183 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
58184 0 : return false;
58185 : }
58186 0 : binding_detail::FastErrorResult rv;
58187 0 : self->SetWebkitBoxShadow(NonNullHelper(Constify(arg0)), rv);
58188 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58189 0 : return false;
58190 : }
58191 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58192 :
58193 0 : return true;
58194 : }
58195 :
58196 : static const JSJitInfo _webkit_box_shadow_getterinfo = {
58197 : { (JSJitGetterOp)get__webkit_box_shadow },
58198 : { prototypes::id::CSS2Properties },
58199 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58200 : JSJitInfo::Getter,
58201 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58202 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
58203 : false, /* isInfallible. False in setters. */
58204 : false, /* isMovable. Not relevant for setters. */
58205 : false, /* isEliminatable. Not relevant for setters. */
58206 : false, /* isAlwaysInSlot. Only relevant for getters. */
58207 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58208 : false, /* isTypedMethod. Only relevant for methods. */
58209 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58210 : };
58211 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58212 : static_assert(0 < 1, "There is no slot for us");
58213 : static const JSJitInfo _webkit_box_shadow_setterinfo = {
58214 : { (JSJitGetterOp)set__webkit_box_shadow },
58215 : { prototypes::id::CSS2Properties },
58216 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58217 : JSJitInfo::Setter,
58218 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58219 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
58220 : false, /* isInfallible. False in setters. */
58221 : false, /* isMovable. Not relevant for setters. */
58222 : false, /* isEliminatable. Not relevant for setters. */
58223 : false, /* isAlwaysInSlot. Only relevant for getters. */
58224 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58225 : false, /* isTypedMethod. Only relevant for methods. */
58226 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58227 : };
58228 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58229 : static_assert(0 < 1, "There is no slot for us");
58230 :
58231 : static bool
58232 0 : get_WebkitBoxSizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
58233 : {
58234 0 : binding_detail::FastErrorResult rv;
58235 0 : DOMString result;
58236 0 : self->GetWebkitBoxSizing(result, rv);
58237 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58238 0 : return false;
58239 : }
58240 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58241 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
58242 0 : return false;
58243 : }
58244 0 : return true;
58245 : }
58246 :
58247 : static bool
58248 0 : set_WebkitBoxSizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
58249 : {
58250 0 : binding_detail::FakeString arg0;
58251 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
58252 0 : return false;
58253 : }
58254 0 : binding_detail::FastErrorResult rv;
58255 0 : self->SetWebkitBoxSizing(NonNullHelper(Constify(arg0)), rv);
58256 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58257 0 : return false;
58258 : }
58259 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58260 :
58261 0 : return true;
58262 : }
58263 :
58264 : static const JSJitInfo WebkitBoxSizing_getterinfo = {
58265 : { (JSJitGetterOp)get_WebkitBoxSizing },
58266 : { prototypes::id::CSS2Properties },
58267 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58268 : JSJitInfo::Getter,
58269 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58270 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
58271 : false, /* isInfallible. False in setters. */
58272 : false, /* isMovable. Not relevant for setters. */
58273 : false, /* isEliminatable. Not relevant for setters. */
58274 : false, /* isAlwaysInSlot. Only relevant for getters. */
58275 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58276 : false, /* isTypedMethod. Only relevant for methods. */
58277 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58278 : };
58279 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58280 : static_assert(0 < 1, "There is no slot for us");
58281 : static const JSJitInfo WebkitBoxSizing_setterinfo = {
58282 : { (JSJitGetterOp)set_WebkitBoxSizing },
58283 : { prototypes::id::CSS2Properties },
58284 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58285 : JSJitInfo::Setter,
58286 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58287 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
58288 : false, /* isInfallible. False in setters. */
58289 : false, /* isMovable. Not relevant for setters. */
58290 : false, /* isEliminatable. Not relevant for setters. */
58291 : false, /* isAlwaysInSlot. Only relevant for getters. */
58292 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58293 : false, /* isTypedMethod. Only relevant for methods. */
58294 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58295 : };
58296 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58297 : static_assert(0 < 1, "There is no slot for us");
58298 :
58299 : static bool
58300 0 : get_webkitBoxSizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
58301 : {
58302 0 : binding_detail::FastErrorResult rv;
58303 0 : DOMString result;
58304 0 : self->GetWebkitBoxSizing(result, rv);
58305 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58306 0 : return false;
58307 : }
58308 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58309 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
58310 0 : return false;
58311 : }
58312 0 : return true;
58313 : }
58314 :
58315 : static bool
58316 0 : set_webkitBoxSizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
58317 : {
58318 0 : binding_detail::FakeString arg0;
58319 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
58320 0 : return false;
58321 : }
58322 0 : binding_detail::FastErrorResult rv;
58323 0 : self->SetWebkitBoxSizing(NonNullHelper(Constify(arg0)), rv);
58324 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58325 0 : return false;
58326 : }
58327 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58328 :
58329 0 : return true;
58330 : }
58331 :
58332 : static const JSJitInfo webkitBoxSizing_getterinfo = {
58333 : { (JSJitGetterOp)get_webkitBoxSizing },
58334 : { prototypes::id::CSS2Properties },
58335 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58336 : JSJitInfo::Getter,
58337 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58338 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
58339 : false, /* isInfallible. False in setters. */
58340 : false, /* isMovable. Not relevant for setters. */
58341 : false, /* isEliminatable. Not relevant for setters. */
58342 : false, /* isAlwaysInSlot. Only relevant for getters. */
58343 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58344 : false, /* isTypedMethod. Only relevant for methods. */
58345 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58346 : };
58347 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58348 : static_assert(0 < 1, "There is no slot for us");
58349 : static const JSJitInfo webkitBoxSizing_setterinfo = {
58350 : { (JSJitGetterOp)set_webkitBoxSizing },
58351 : { prototypes::id::CSS2Properties },
58352 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58353 : JSJitInfo::Setter,
58354 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58355 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
58356 : false, /* isInfallible. False in setters. */
58357 : false, /* isMovable. Not relevant for setters. */
58358 : false, /* isEliminatable. Not relevant for setters. */
58359 : false, /* isAlwaysInSlot. Only relevant for getters. */
58360 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58361 : false, /* isTypedMethod. Only relevant for methods. */
58362 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58363 : };
58364 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58365 : static_assert(0 < 1, "There is no slot for us");
58366 :
58367 : static bool
58368 0 : get__webkit_box_sizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
58369 : {
58370 0 : binding_detail::FastErrorResult rv;
58371 0 : DOMString result;
58372 0 : self->GetWebkitBoxSizing(result, rv);
58373 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58374 0 : return false;
58375 : }
58376 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58377 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
58378 0 : return false;
58379 : }
58380 0 : return true;
58381 : }
58382 :
58383 : static bool
58384 0 : set__webkit_box_sizing(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
58385 : {
58386 0 : binding_detail::FakeString arg0;
58387 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
58388 0 : return false;
58389 : }
58390 0 : binding_detail::FastErrorResult rv;
58391 0 : self->SetWebkitBoxSizing(NonNullHelper(Constify(arg0)), rv);
58392 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58393 0 : return false;
58394 : }
58395 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58396 :
58397 0 : return true;
58398 : }
58399 :
58400 : static const JSJitInfo _webkit_box_sizing_getterinfo = {
58401 : { (JSJitGetterOp)get__webkit_box_sizing },
58402 : { prototypes::id::CSS2Properties },
58403 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58404 : JSJitInfo::Getter,
58405 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58406 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
58407 : false, /* isInfallible. False in setters. */
58408 : false, /* isMovable. Not relevant for setters. */
58409 : false, /* isEliminatable. Not relevant for setters. */
58410 : false, /* isAlwaysInSlot. Only relevant for getters. */
58411 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58412 : false, /* isTypedMethod. Only relevant for methods. */
58413 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58414 : };
58415 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58416 : static_assert(0 < 1, "There is no slot for us");
58417 : static const JSJitInfo _webkit_box_sizing_setterinfo = {
58418 : { (JSJitGetterOp)set__webkit_box_sizing },
58419 : { prototypes::id::CSS2Properties },
58420 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58421 : JSJitInfo::Setter,
58422 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58423 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
58424 : false, /* isInfallible. False in setters. */
58425 : false, /* isMovable. Not relevant for setters. */
58426 : false, /* isEliminatable. Not relevant for setters. */
58427 : false, /* isAlwaysInSlot. Only relevant for getters. */
58428 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58429 : false, /* isTypedMethod. Only relevant for methods. */
58430 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58431 : };
58432 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58433 : static_assert(0 < 1, "There is no slot for us");
58434 :
58435 : static bool
58436 0 : get_WebkitBoxFlex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
58437 : {
58438 0 : binding_detail::FastErrorResult rv;
58439 0 : DOMString result;
58440 0 : self->GetWebkitBoxFlex(result, rv);
58441 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58442 0 : return false;
58443 : }
58444 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58445 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
58446 0 : return false;
58447 : }
58448 0 : return true;
58449 : }
58450 :
58451 : static bool
58452 0 : set_WebkitBoxFlex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
58453 : {
58454 0 : binding_detail::FakeString arg0;
58455 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
58456 0 : return false;
58457 : }
58458 0 : binding_detail::FastErrorResult rv;
58459 0 : self->SetWebkitBoxFlex(NonNullHelper(Constify(arg0)), rv);
58460 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58461 0 : return false;
58462 : }
58463 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58464 :
58465 0 : return true;
58466 : }
58467 :
58468 : static const JSJitInfo WebkitBoxFlex_getterinfo = {
58469 : { (JSJitGetterOp)get_WebkitBoxFlex },
58470 : { prototypes::id::CSS2Properties },
58471 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58472 : JSJitInfo::Getter,
58473 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58474 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
58475 : false, /* isInfallible. False in setters. */
58476 : false, /* isMovable. Not relevant for setters. */
58477 : false, /* isEliminatable. Not relevant for setters. */
58478 : false, /* isAlwaysInSlot. Only relevant for getters. */
58479 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58480 : false, /* isTypedMethod. Only relevant for methods. */
58481 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58482 : };
58483 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58484 : static_assert(0 < 1, "There is no slot for us");
58485 : static const JSJitInfo WebkitBoxFlex_setterinfo = {
58486 : { (JSJitGetterOp)set_WebkitBoxFlex },
58487 : { prototypes::id::CSS2Properties },
58488 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58489 : JSJitInfo::Setter,
58490 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58491 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
58492 : false, /* isInfallible. False in setters. */
58493 : false, /* isMovable. Not relevant for setters. */
58494 : false, /* isEliminatable. Not relevant for setters. */
58495 : false, /* isAlwaysInSlot. Only relevant for getters. */
58496 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58497 : false, /* isTypedMethod. Only relevant for methods. */
58498 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58499 : };
58500 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58501 : static_assert(0 < 1, "There is no slot for us");
58502 :
58503 : static bool
58504 0 : get_webkitBoxFlex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
58505 : {
58506 0 : binding_detail::FastErrorResult rv;
58507 0 : DOMString result;
58508 0 : self->GetWebkitBoxFlex(result, rv);
58509 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58510 0 : return false;
58511 : }
58512 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58513 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
58514 0 : return false;
58515 : }
58516 0 : return true;
58517 : }
58518 :
58519 : static bool
58520 0 : set_webkitBoxFlex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
58521 : {
58522 0 : binding_detail::FakeString arg0;
58523 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
58524 0 : return false;
58525 : }
58526 0 : binding_detail::FastErrorResult rv;
58527 0 : self->SetWebkitBoxFlex(NonNullHelper(Constify(arg0)), rv);
58528 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58529 0 : return false;
58530 : }
58531 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58532 :
58533 0 : return true;
58534 : }
58535 :
58536 : static const JSJitInfo webkitBoxFlex_getterinfo = {
58537 : { (JSJitGetterOp)get_webkitBoxFlex },
58538 : { prototypes::id::CSS2Properties },
58539 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58540 : JSJitInfo::Getter,
58541 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58542 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
58543 : false, /* isInfallible. False in setters. */
58544 : false, /* isMovable. Not relevant for setters. */
58545 : false, /* isEliminatable. Not relevant for setters. */
58546 : false, /* isAlwaysInSlot. Only relevant for getters. */
58547 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58548 : false, /* isTypedMethod. Only relevant for methods. */
58549 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58550 : };
58551 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58552 : static_assert(0 < 1, "There is no slot for us");
58553 : static const JSJitInfo webkitBoxFlex_setterinfo = {
58554 : { (JSJitGetterOp)set_webkitBoxFlex },
58555 : { prototypes::id::CSS2Properties },
58556 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58557 : JSJitInfo::Setter,
58558 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58559 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
58560 : false, /* isInfallible. False in setters. */
58561 : false, /* isMovable. Not relevant for setters. */
58562 : false, /* isEliminatable. Not relevant for setters. */
58563 : false, /* isAlwaysInSlot. Only relevant for getters. */
58564 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58565 : false, /* isTypedMethod. Only relevant for methods. */
58566 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58567 : };
58568 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58569 : static_assert(0 < 1, "There is no slot for us");
58570 :
58571 : static bool
58572 0 : get__webkit_box_flex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
58573 : {
58574 0 : binding_detail::FastErrorResult rv;
58575 0 : DOMString result;
58576 0 : self->GetWebkitBoxFlex(result, rv);
58577 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58578 0 : return false;
58579 : }
58580 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58581 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
58582 0 : return false;
58583 : }
58584 0 : return true;
58585 : }
58586 :
58587 : static bool
58588 0 : set__webkit_box_flex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
58589 : {
58590 0 : binding_detail::FakeString arg0;
58591 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
58592 0 : return false;
58593 : }
58594 0 : binding_detail::FastErrorResult rv;
58595 0 : self->SetWebkitBoxFlex(NonNullHelper(Constify(arg0)), rv);
58596 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58597 0 : return false;
58598 : }
58599 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58600 :
58601 0 : return true;
58602 : }
58603 :
58604 : static const JSJitInfo _webkit_box_flex_getterinfo = {
58605 : { (JSJitGetterOp)get__webkit_box_flex },
58606 : { prototypes::id::CSS2Properties },
58607 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58608 : JSJitInfo::Getter,
58609 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58610 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
58611 : false, /* isInfallible. False in setters. */
58612 : false, /* isMovable. Not relevant for setters. */
58613 : false, /* isEliminatable. Not relevant for setters. */
58614 : false, /* isAlwaysInSlot. Only relevant for getters. */
58615 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58616 : false, /* isTypedMethod. Only relevant for methods. */
58617 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58618 : };
58619 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58620 : static_assert(0 < 1, "There is no slot for us");
58621 : static const JSJitInfo _webkit_box_flex_setterinfo = {
58622 : { (JSJitGetterOp)set__webkit_box_flex },
58623 : { prototypes::id::CSS2Properties },
58624 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58625 : JSJitInfo::Setter,
58626 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58627 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
58628 : false, /* isInfallible. False in setters. */
58629 : false, /* isMovable. Not relevant for setters. */
58630 : false, /* isEliminatable. Not relevant for setters. */
58631 : false, /* isAlwaysInSlot. Only relevant for getters. */
58632 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58633 : false, /* isTypedMethod. Only relevant for methods. */
58634 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58635 : };
58636 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58637 : static_assert(0 < 1, "There is no slot for us");
58638 :
58639 : static bool
58640 0 : get_WebkitBoxOrdinalGroup(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
58641 : {
58642 0 : binding_detail::FastErrorResult rv;
58643 0 : DOMString result;
58644 0 : self->GetWebkitBoxOrdinalGroup(result, rv);
58645 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58646 0 : return false;
58647 : }
58648 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58649 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
58650 0 : return false;
58651 : }
58652 0 : return true;
58653 : }
58654 :
58655 : static bool
58656 0 : set_WebkitBoxOrdinalGroup(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
58657 : {
58658 0 : binding_detail::FakeString arg0;
58659 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
58660 0 : return false;
58661 : }
58662 0 : binding_detail::FastErrorResult rv;
58663 0 : self->SetWebkitBoxOrdinalGroup(NonNullHelper(Constify(arg0)), rv);
58664 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58665 0 : return false;
58666 : }
58667 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58668 :
58669 0 : return true;
58670 : }
58671 :
58672 : static const JSJitInfo WebkitBoxOrdinalGroup_getterinfo = {
58673 : { (JSJitGetterOp)get_WebkitBoxOrdinalGroup },
58674 : { prototypes::id::CSS2Properties },
58675 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58676 : JSJitInfo::Getter,
58677 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58678 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
58679 : false, /* isInfallible. False in setters. */
58680 : false, /* isMovable. Not relevant for setters. */
58681 : false, /* isEliminatable. Not relevant for setters. */
58682 : false, /* isAlwaysInSlot. Only relevant for getters. */
58683 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58684 : false, /* isTypedMethod. Only relevant for methods. */
58685 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58686 : };
58687 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58688 : static_assert(0 < 1, "There is no slot for us");
58689 : static const JSJitInfo WebkitBoxOrdinalGroup_setterinfo = {
58690 : { (JSJitGetterOp)set_WebkitBoxOrdinalGroup },
58691 : { prototypes::id::CSS2Properties },
58692 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58693 : JSJitInfo::Setter,
58694 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58695 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
58696 : false, /* isInfallible. False in setters. */
58697 : false, /* isMovable. Not relevant for setters. */
58698 : false, /* isEliminatable. Not relevant for setters. */
58699 : false, /* isAlwaysInSlot. Only relevant for getters. */
58700 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58701 : false, /* isTypedMethod. Only relevant for methods. */
58702 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58703 : };
58704 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58705 : static_assert(0 < 1, "There is no slot for us");
58706 :
58707 : static bool
58708 0 : get_webkitBoxOrdinalGroup(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
58709 : {
58710 0 : binding_detail::FastErrorResult rv;
58711 0 : DOMString result;
58712 0 : self->GetWebkitBoxOrdinalGroup(result, rv);
58713 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58714 0 : return false;
58715 : }
58716 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58717 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
58718 0 : return false;
58719 : }
58720 0 : return true;
58721 : }
58722 :
58723 : static bool
58724 0 : set_webkitBoxOrdinalGroup(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
58725 : {
58726 0 : binding_detail::FakeString arg0;
58727 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
58728 0 : return false;
58729 : }
58730 0 : binding_detail::FastErrorResult rv;
58731 0 : self->SetWebkitBoxOrdinalGroup(NonNullHelper(Constify(arg0)), rv);
58732 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58733 0 : return false;
58734 : }
58735 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58736 :
58737 0 : return true;
58738 : }
58739 :
58740 : static const JSJitInfo webkitBoxOrdinalGroup_getterinfo = {
58741 : { (JSJitGetterOp)get_webkitBoxOrdinalGroup },
58742 : { prototypes::id::CSS2Properties },
58743 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58744 : JSJitInfo::Getter,
58745 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58746 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
58747 : false, /* isInfallible. False in setters. */
58748 : false, /* isMovable. Not relevant for setters. */
58749 : false, /* isEliminatable. Not relevant for setters. */
58750 : false, /* isAlwaysInSlot. Only relevant for getters. */
58751 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58752 : false, /* isTypedMethod. Only relevant for methods. */
58753 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58754 : };
58755 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58756 : static_assert(0 < 1, "There is no slot for us");
58757 : static const JSJitInfo webkitBoxOrdinalGroup_setterinfo = {
58758 : { (JSJitGetterOp)set_webkitBoxOrdinalGroup },
58759 : { prototypes::id::CSS2Properties },
58760 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58761 : JSJitInfo::Setter,
58762 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58763 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
58764 : false, /* isInfallible. False in setters. */
58765 : false, /* isMovable. Not relevant for setters. */
58766 : false, /* isEliminatable. Not relevant for setters. */
58767 : false, /* isAlwaysInSlot. Only relevant for getters. */
58768 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58769 : false, /* isTypedMethod. Only relevant for methods. */
58770 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58771 : };
58772 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58773 : static_assert(0 < 1, "There is no slot for us");
58774 :
58775 : static bool
58776 0 : get__webkit_box_ordinal_group(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
58777 : {
58778 0 : binding_detail::FastErrorResult rv;
58779 0 : DOMString result;
58780 0 : self->GetWebkitBoxOrdinalGroup(result, rv);
58781 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58782 0 : return false;
58783 : }
58784 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58785 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
58786 0 : return false;
58787 : }
58788 0 : return true;
58789 : }
58790 :
58791 : static bool
58792 0 : set__webkit_box_ordinal_group(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
58793 : {
58794 0 : binding_detail::FakeString arg0;
58795 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
58796 0 : return false;
58797 : }
58798 0 : binding_detail::FastErrorResult rv;
58799 0 : self->SetWebkitBoxOrdinalGroup(NonNullHelper(Constify(arg0)), rv);
58800 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58801 0 : return false;
58802 : }
58803 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58804 :
58805 0 : return true;
58806 : }
58807 :
58808 : static const JSJitInfo _webkit_box_ordinal_group_getterinfo = {
58809 : { (JSJitGetterOp)get__webkit_box_ordinal_group },
58810 : { prototypes::id::CSS2Properties },
58811 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58812 : JSJitInfo::Getter,
58813 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58814 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
58815 : false, /* isInfallible. False in setters. */
58816 : false, /* isMovable. Not relevant for setters. */
58817 : false, /* isEliminatable. Not relevant for setters. */
58818 : false, /* isAlwaysInSlot. Only relevant for getters. */
58819 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58820 : false, /* isTypedMethod. Only relevant for methods. */
58821 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58822 : };
58823 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58824 : static_assert(0 < 1, "There is no slot for us");
58825 : static const JSJitInfo _webkit_box_ordinal_group_setterinfo = {
58826 : { (JSJitGetterOp)set__webkit_box_ordinal_group },
58827 : { prototypes::id::CSS2Properties },
58828 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58829 : JSJitInfo::Setter,
58830 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58831 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
58832 : false, /* isInfallible. False in setters. */
58833 : false, /* isMovable. Not relevant for setters. */
58834 : false, /* isEliminatable. Not relevant for setters. */
58835 : false, /* isAlwaysInSlot. Only relevant for getters. */
58836 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58837 : false, /* isTypedMethod. Only relevant for methods. */
58838 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58839 : };
58840 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58841 : static_assert(0 < 1, "There is no slot for us");
58842 :
58843 : static bool
58844 0 : get_WebkitBoxOrient(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
58845 : {
58846 0 : binding_detail::FastErrorResult rv;
58847 0 : DOMString result;
58848 0 : self->GetWebkitBoxOrient(result, rv);
58849 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58850 0 : return false;
58851 : }
58852 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58853 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
58854 0 : return false;
58855 : }
58856 0 : return true;
58857 : }
58858 :
58859 : static bool
58860 0 : set_WebkitBoxOrient(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
58861 : {
58862 0 : binding_detail::FakeString arg0;
58863 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
58864 0 : return false;
58865 : }
58866 0 : binding_detail::FastErrorResult rv;
58867 0 : self->SetWebkitBoxOrient(NonNullHelper(Constify(arg0)), rv);
58868 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58869 0 : return false;
58870 : }
58871 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58872 :
58873 0 : return true;
58874 : }
58875 :
58876 : static const JSJitInfo WebkitBoxOrient_getterinfo = {
58877 : { (JSJitGetterOp)get_WebkitBoxOrient },
58878 : { prototypes::id::CSS2Properties },
58879 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58880 : JSJitInfo::Getter,
58881 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58882 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
58883 : false, /* isInfallible. False in setters. */
58884 : false, /* isMovable. Not relevant for setters. */
58885 : false, /* isEliminatable. Not relevant for setters. */
58886 : false, /* isAlwaysInSlot. Only relevant for getters. */
58887 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58888 : false, /* isTypedMethod. Only relevant for methods. */
58889 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58890 : };
58891 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58892 : static_assert(0 < 1, "There is no slot for us");
58893 : static const JSJitInfo WebkitBoxOrient_setterinfo = {
58894 : { (JSJitGetterOp)set_WebkitBoxOrient },
58895 : { prototypes::id::CSS2Properties },
58896 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58897 : JSJitInfo::Setter,
58898 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58899 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
58900 : false, /* isInfallible. False in setters. */
58901 : false, /* isMovable. Not relevant for setters. */
58902 : false, /* isEliminatable. Not relevant for setters. */
58903 : false, /* isAlwaysInSlot. Only relevant for getters. */
58904 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58905 : false, /* isTypedMethod. Only relevant for methods. */
58906 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58907 : };
58908 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58909 : static_assert(0 < 1, "There is no slot for us");
58910 :
58911 : static bool
58912 0 : get_webkitBoxOrient(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
58913 : {
58914 0 : binding_detail::FastErrorResult rv;
58915 0 : DOMString result;
58916 0 : self->GetWebkitBoxOrient(result, rv);
58917 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58918 0 : return false;
58919 : }
58920 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58921 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
58922 0 : return false;
58923 : }
58924 0 : return true;
58925 : }
58926 :
58927 : static bool
58928 0 : set_webkitBoxOrient(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
58929 : {
58930 0 : binding_detail::FakeString arg0;
58931 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
58932 0 : return false;
58933 : }
58934 0 : binding_detail::FastErrorResult rv;
58935 0 : self->SetWebkitBoxOrient(NonNullHelper(Constify(arg0)), rv);
58936 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58937 0 : return false;
58938 : }
58939 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58940 :
58941 0 : return true;
58942 : }
58943 :
58944 : static const JSJitInfo webkitBoxOrient_getterinfo = {
58945 : { (JSJitGetterOp)get_webkitBoxOrient },
58946 : { prototypes::id::CSS2Properties },
58947 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58948 : JSJitInfo::Getter,
58949 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58950 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
58951 : false, /* isInfallible. False in setters. */
58952 : false, /* isMovable. Not relevant for setters. */
58953 : false, /* isEliminatable. Not relevant for setters. */
58954 : false, /* isAlwaysInSlot. Only relevant for getters. */
58955 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58956 : false, /* isTypedMethod. Only relevant for methods. */
58957 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58958 : };
58959 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58960 : static_assert(0 < 1, "There is no slot for us");
58961 : static const JSJitInfo webkitBoxOrient_setterinfo = {
58962 : { (JSJitGetterOp)set_webkitBoxOrient },
58963 : { prototypes::id::CSS2Properties },
58964 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
58965 : JSJitInfo::Setter,
58966 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
58967 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
58968 : false, /* isInfallible. False in setters. */
58969 : false, /* isMovable. Not relevant for setters. */
58970 : false, /* isEliminatable. Not relevant for setters. */
58971 : false, /* isAlwaysInSlot. Only relevant for getters. */
58972 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
58973 : false, /* isTypedMethod. Only relevant for methods. */
58974 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
58975 : };
58976 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
58977 : static_assert(0 < 1, "There is no slot for us");
58978 :
58979 : static bool
58980 0 : get__webkit_box_orient(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
58981 : {
58982 0 : binding_detail::FastErrorResult rv;
58983 0 : DOMString result;
58984 0 : self->GetWebkitBoxOrient(result, rv);
58985 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
58986 0 : return false;
58987 : }
58988 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
58989 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
58990 0 : return false;
58991 : }
58992 0 : return true;
58993 : }
58994 :
58995 : static bool
58996 0 : set__webkit_box_orient(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
58997 : {
58998 0 : binding_detail::FakeString arg0;
58999 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
59000 0 : return false;
59001 : }
59002 0 : binding_detail::FastErrorResult rv;
59003 0 : self->SetWebkitBoxOrient(NonNullHelper(Constify(arg0)), rv);
59004 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59005 0 : return false;
59006 : }
59007 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59008 :
59009 0 : return true;
59010 : }
59011 :
59012 : static const JSJitInfo _webkit_box_orient_getterinfo = {
59013 : { (JSJitGetterOp)get__webkit_box_orient },
59014 : { prototypes::id::CSS2Properties },
59015 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59016 : JSJitInfo::Getter,
59017 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59018 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
59019 : false, /* isInfallible. False in setters. */
59020 : false, /* isMovable. Not relevant for setters. */
59021 : false, /* isEliminatable. Not relevant for setters. */
59022 : false, /* isAlwaysInSlot. Only relevant for getters. */
59023 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59024 : false, /* isTypedMethod. Only relevant for methods. */
59025 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59026 : };
59027 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59028 : static_assert(0 < 1, "There is no slot for us");
59029 : static const JSJitInfo _webkit_box_orient_setterinfo = {
59030 : { (JSJitGetterOp)set__webkit_box_orient },
59031 : { prototypes::id::CSS2Properties },
59032 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59033 : JSJitInfo::Setter,
59034 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59035 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
59036 : false, /* isInfallible. False in setters. */
59037 : false, /* isMovable. Not relevant for setters. */
59038 : false, /* isEliminatable. Not relevant for setters. */
59039 : false, /* isAlwaysInSlot. Only relevant for getters. */
59040 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59041 : false, /* isTypedMethod. Only relevant for methods. */
59042 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59043 : };
59044 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59045 : static_assert(0 < 1, "There is no slot for us");
59046 :
59047 : static bool
59048 0 : get_WebkitBoxDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
59049 : {
59050 0 : binding_detail::FastErrorResult rv;
59051 0 : DOMString result;
59052 0 : self->GetWebkitBoxDirection(result, rv);
59053 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59054 0 : return false;
59055 : }
59056 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59057 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
59058 0 : return false;
59059 : }
59060 0 : return true;
59061 : }
59062 :
59063 : static bool
59064 0 : set_WebkitBoxDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
59065 : {
59066 0 : binding_detail::FakeString arg0;
59067 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
59068 0 : return false;
59069 : }
59070 0 : binding_detail::FastErrorResult rv;
59071 0 : self->SetWebkitBoxDirection(NonNullHelper(Constify(arg0)), rv);
59072 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59073 0 : return false;
59074 : }
59075 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59076 :
59077 0 : return true;
59078 : }
59079 :
59080 : static const JSJitInfo WebkitBoxDirection_getterinfo = {
59081 : { (JSJitGetterOp)get_WebkitBoxDirection },
59082 : { prototypes::id::CSS2Properties },
59083 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59084 : JSJitInfo::Getter,
59085 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59086 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
59087 : false, /* isInfallible. False in setters. */
59088 : false, /* isMovable. Not relevant for setters. */
59089 : false, /* isEliminatable. Not relevant for setters. */
59090 : false, /* isAlwaysInSlot. Only relevant for getters. */
59091 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59092 : false, /* isTypedMethod. Only relevant for methods. */
59093 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59094 : };
59095 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59096 : static_assert(0 < 1, "There is no slot for us");
59097 : static const JSJitInfo WebkitBoxDirection_setterinfo = {
59098 : { (JSJitGetterOp)set_WebkitBoxDirection },
59099 : { prototypes::id::CSS2Properties },
59100 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59101 : JSJitInfo::Setter,
59102 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59103 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
59104 : false, /* isInfallible. False in setters. */
59105 : false, /* isMovable. Not relevant for setters. */
59106 : false, /* isEliminatable. Not relevant for setters. */
59107 : false, /* isAlwaysInSlot. Only relevant for getters. */
59108 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59109 : false, /* isTypedMethod. Only relevant for methods. */
59110 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59111 : };
59112 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59113 : static_assert(0 < 1, "There is no slot for us");
59114 :
59115 : static bool
59116 0 : get_webkitBoxDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
59117 : {
59118 0 : binding_detail::FastErrorResult rv;
59119 0 : DOMString result;
59120 0 : self->GetWebkitBoxDirection(result, rv);
59121 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59122 0 : return false;
59123 : }
59124 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59125 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
59126 0 : return false;
59127 : }
59128 0 : return true;
59129 : }
59130 :
59131 : static bool
59132 0 : set_webkitBoxDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
59133 : {
59134 0 : binding_detail::FakeString arg0;
59135 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
59136 0 : return false;
59137 : }
59138 0 : binding_detail::FastErrorResult rv;
59139 0 : self->SetWebkitBoxDirection(NonNullHelper(Constify(arg0)), rv);
59140 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59141 0 : return false;
59142 : }
59143 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59144 :
59145 0 : return true;
59146 : }
59147 :
59148 : static const JSJitInfo webkitBoxDirection_getterinfo = {
59149 : { (JSJitGetterOp)get_webkitBoxDirection },
59150 : { prototypes::id::CSS2Properties },
59151 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59152 : JSJitInfo::Getter,
59153 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59154 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
59155 : false, /* isInfallible. False in setters. */
59156 : false, /* isMovable. Not relevant for setters. */
59157 : false, /* isEliminatable. Not relevant for setters. */
59158 : false, /* isAlwaysInSlot. Only relevant for getters. */
59159 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59160 : false, /* isTypedMethod. Only relevant for methods. */
59161 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59162 : };
59163 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59164 : static_assert(0 < 1, "There is no slot for us");
59165 : static const JSJitInfo webkitBoxDirection_setterinfo = {
59166 : { (JSJitGetterOp)set_webkitBoxDirection },
59167 : { prototypes::id::CSS2Properties },
59168 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59169 : JSJitInfo::Setter,
59170 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59171 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
59172 : false, /* isInfallible. False in setters. */
59173 : false, /* isMovable. Not relevant for setters. */
59174 : false, /* isEliminatable. Not relevant for setters. */
59175 : false, /* isAlwaysInSlot. Only relevant for getters. */
59176 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59177 : false, /* isTypedMethod. Only relevant for methods. */
59178 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59179 : };
59180 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59181 : static_assert(0 < 1, "There is no slot for us");
59182 :
59183 : static bool
59184 0 : get__webkit_box_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
59185 : {
59186 0 : binding_detail::FastErrorResult rv;
59187 0 : DOMString result;
59188 0 : self->GetWebkitBoxDirection(result, rv);
59189 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59190 0 : return false;
59191 : }
59192 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59193 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
59194 0 : return false;
59195 : }
59196 0 : return true;
59197 : }
59198 :
59199 : static bool
59200 0 : set__webkit_box_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
59201 : {
59202 0 : binding_detail::FakeString arg0;
59203 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
59204 0 : return false;
59205 : }
59206 0 : binding_detail::FastErrorResult rv;
59207 0 : self->SetWebkitBoxDirection(NonNullHelper(Constify(arg0)), rv);
59208 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59209 0 : return false;
59210 : }
59211 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59212 :
59213 0 : return true;
59214 : }
59215 :
59216 : static const JSJitInfo _webkit_box_direction_getterinfo = {
59217 : { (JSJitGetterOp)get__webkit_box_direction },
59218 : { prototypes::id::CSS2Properties },
59219 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59220 : JSJitInfo::Getter,
59221 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59222 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
59223 : false, /* isInfallible. False in setters. */
59224 : false, /* isMovable. Not relevant for setters. */
59225 : false, /* isEliminatable. Not relevant for setters. */
59226 : false, /* isAlwaysInSlot. Only relevant for getters. */
59227 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59228 : false, /* isTypedMethod. Only relevant for methods. */
59229 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59230 : };
59231 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59232 : static_assert(0 < 1, "There is no slot for us");
59233 : static const JSJitInfo _webkit_box_direction_setterinfo = {
59234 : { (JSJitGetterOp)set__webkit_box_direction },
59235 : { prototypes::id::CSS2Properties },
59236 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59237 : JSJitInfo::Setter,
59238 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59239 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
59240 : false, /* isInfallible. False in setters. */
59241 : false, /* isMovable. Not relevant for setters. */
59242 : false, /* isEliminatable. Not relevant for setters. */
59243 : false, /* isAlwaysInSlot. Only relevant for getters. */
59244 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59245 : false, /* isTypedMethod. Only relevant for methods. */
59246 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59247 : };
59248 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59249 : static_assert(0 < 1, "There is no slot for us");
59250 :
59251 : static bool
59252 0 : get_WebkitBoxAlign(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
59253 : {
59254 0 : binding_detail::FastErrorResult rv;
59255 0 : DOMString result;
59256 0 : self->GetWebkitBoxAlign(result, rv);
59257 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59258 0 : return false;
59259 : }
59260 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59261 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
59262 0 : return false;
59263 : }
59264 0 : return true;
59265 : }
59266 :
59267 : static bool
59268 0 : set_WebkitBoxAlign(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
59269 : {
59270 0 : binding_detail::FakeString arg0;
59271 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
59272 0 : return false;
59273 : }
59274 0 : binding_detail::FastErrorResult rv;
59275 0 : self->SetWebkitBoxAlign(NonNullHelper(Constify(arg0)), rv);
59276 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59277 0 : return false;
59278 : }
59279 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59280 :
59281 0 : return true;
59282 : }
59283 :
59284 : static const JSJitInfo WebkitBoxAlign_getterinfo = {
59285 : { (JSJitGetterOp)get_WebkitBoxAlign },
59286 : { prototypes::id::CSS2Properties },
59287 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59288 : JSJitInfo::Getter,
59289 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59290 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
59291 : false, /* isInfallible. False in setters. */
59292 : false, /* isMovable. Not relevant for setters. */
59293 : false, /* isEliminatable. Not relevant for setters. */
59294 : false, /* isAlwaysInSlot. Only relevant for getters. */
59295 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59296 : false, /* isTypedMethod. Only relevant for methods. */
59297 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59298 : };
59299 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59300 : static_assert(0 < 1, "There is no slot for us");
59301 : static const JSJitInfo WebkitBoxAlign_setterinfo = {
59302 : { (JSJitGetterOp)set_WebkitBoxAlign },
59303 : { prototypes::id::CSS2Properties },
59304 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59305 : JSJitInfo::Setter,
59306 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59307 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
59308 : false, /* isInfallible. False in setters. */
59309 : false, /* isMovable. Not relevant for setters. */
59310 : false, /* isEliminatable. Not relevant for setters. */
59311 : false, /* isAlwaysInSlot. Only relevant for getters. */
59312 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59313 : false, /* isTypedMethod. Only relevant for methods. */
59314 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59315 : };
59316 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59317 : static_assert(0 < 1, "There is no slot for us");
59318 :
59319 : static bool
59320 0 : get_webkitBoxAlign(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
59321 : {
59322 0 : binding_detail::FastErrorResult rv;
59323 0 : DOMString result;
59324 0 : self->GetWebkitBoxAlign(result, rv);
59325 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59326 0 : return false;
59327 : }
59328 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59329 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
59330 0 : return false;
59331 : }
59332 0 : return true;
59333 : }
59334 :
59335 : static bool
59336 0 : set_webkitBoxAlign(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
59337 : {
59338 0 : binding_detail::FakeString arg0;
59339 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
59340 0 : return false;
59341 : }
59342 0 : binding_detail::FastErrorResult rv;
59343 0 : self->SetWebkitBoxAlign(NonNullHelper(Constify(arg0)), rv);
59344 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59345 0 : return false;
59346 : }
59347 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59348 :
59349 0 : return true;
59350 : }
59351 :
59352 : static const JSJitInfo webkitBoxAlign_getterinfo = {
59353 : { (JSJitGetterOp)get_webkitBoxAlign },
59354 : { prototypes::id::CSS2Properties },
59355 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59356 : JSJitInfo::Getter,
59357 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59358 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
59359 : false, /* isInfallible. False in setters. */
59360 : false, /* isMovable. Not relevant for setters. */
59361 : false, /* isEliminatable. Not relevant for setters. */
59362 : false, /* isAlwaysInSlot. Only relevant for getters. */
59363 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59364 : false, /* isTypedMethod. Only relevant for methods. */
59365 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59366 : };
59367 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59368 : static_assert(0 < 1, "There is no slot for us");
59369 : static const JSJitInfo webkitBoxAlign_setterinfo = {
59370 : { (JSJitGetterOp)set_webkitBoxAlign },
59371 : { prototypes::id::CSS2Properties },
59372 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59373 : JSJitInfo::Setter,
59374 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59375 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
59376 : false, /* isInfallible. False in setters. */
59377 : false, /* isMovable. Not relevant for setters. */
59378 : false, /* isEliminatable. Not relevant for setters. */
59379 : false, /* isAlwaysInSlot. Only relevant for getters. */
59380 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59381 : false, /* isTypedMethod. Only relevant for methods. */
59382 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59383 : };
59384 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59385 : static_assert(0 < 1, "There is no slot for us");
59386 :
59387 : static bool
59388 0 : get__webkit_box_align(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
59389 : {
59390 0 : binding_detail::FastErrorResult rv;
59391 0 : DOMString result;
59392 0 : self->GetWebkitBoxAlign(result, rv);
59393 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59394 0 : return false;
59395 : }
59396 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59397 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
59398 0 : return false;
59399 : }
59400 0 : return true;
59401 : }
59402 :
59403 : static bool
59404 0 : set__webkit_box_align(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
59405 : {
59406 0 : binding_detail::FakeString arg0;
59407 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
59408 0 : return false;
59409 : }
59410 0 : binding_detail::FastErrorResult rv;
59411 0 : self->SetWebkitBoxAlign(NonNullHelper(Constify(arg0)), rv);
59412 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59413 0 : return false;
59414 : }
59415 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59416 :
59417 0 : return true;
59418 : }
59419 :
59420 : static const JSJitInfo _webkit_box_align_getterinfo = {
59421 : { (JSJitGetterOp)get__webkit_box_align },
59422 : { prototypes::id::CSS2Properties },
59423 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59424 : JSJitInfo::Getter,
59425 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59426 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
59427 : false, /* isInfallible. False in setters. */
59428 : false, /* isMovable. Not relevant for setters. */
59429 : false, /* isEliminatable. Not relevant for setters. */
59430 : false, /* isAlwaysInSlot. Only relevant for getters. */
59431 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59432 : false, /* isTypedMethod. Only relevant for methods. */
59433 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59434 : };
59435 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59436 : static_assert(0 < 1, "There is no slot for us");
59437 : static const JSJitInfo _webkit_box_align_setterinfo = {
59438 : { (JSJitGetterOp)set__webkit_box_align },
59439 : { prototypes::id::CSS2Properties },
59440 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59441 : JSJitInfo::Setter,
59442 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59443 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
59444 : false, /* isInfallible. False in setters. */
59445 : false, /* isMovable. Not relevant for setters. */
59446 : false, /* isEliminatable. Not relevant for setters. */
59447 : false, /* isAlwaysInSlot. Only relevant for getters. */
59448 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59449 : false, /* isTypedMethod. Only relevant for methods. */
59450 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59451 : };
59452 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59453 : static_assert(0 < 1, "There is no slot for us");
59454 :
59455 : static bool
59456 0 : get_WebkitBoxPack(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
59457 : {
59458 0 : binding_detail::FastErrorResult rv;
59459 0 : DOMString result;
59460 0 : self->GetWebkitBoxPack(result, rv);
59461 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59462 0 : return false;
59463 : }
59464 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59465 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
59466 0 : return false;
59467 : }
59468 0 : return true;
59469 : }
59470 :
59471 : static bool
59472 0 : set_WebkitBoxPack(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
59473 : {
59474 0 : binding_detail::FakeString arg0;
59475 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
59476 0 : return false;
59477 : }
59478 0 : binding_detail::FastErrorResult rv;
59479 0 : self->SetWebkitBoxPack(NonNullHelper(Constify(arg0)), rv);
59480 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59481 0 : return false;
59482 : }
59483 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59484 :
59485 0 : return true;
59486 : }
59487 :
59488 : static const JSJitInfo WebkitBoxPack_getterinfo = {
59489 : { (JSJitGetterOp)get_WebkitBoxPack },
59490 : { prototypes::id::CSS2Properties },
59491 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59492 : JSJitInfo::Getter,
59493 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59494 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
59495 : false, /* isInfallible. False in setters. */
59496 : false, /* isMovable. Not relevant for setters. */
59497 : false, /* isEliminatable. Not relevant for setters. */
59498 : false, /* isAlwaysInSlot. Only relevant for getters. */
59499 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59500 : false, /* isTypedMethod. Only relevant for methods. */
59501 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59502 : };
59503 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59504 : static_assert(0 < 1, "There is no slot for us");
59505 : static const JSJitInfo WebkitBoxPack_setterinfo = {
59506 : { (JSJitGetterOp)set_WebkitBoxPack },
59507 : { prototypes::id::CSS2Properties },
59508 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59509 : JSJitInfo::Setter,
59510 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59511 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
59512 : false, /* isInfallible. False in setters. */
59513 : false, /* isMovable. Not relevant for setters. */
59514 : false, /* isEliminatable. Not relevant for setters. */
59515 : false, /* isAlwaysInSlot. Only relevant for getters. */
59516 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59517 : false, /* isTypedMethod. Only relevant for methods. */
59518 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59519 : };
59520 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59521 : static_assert(0 < 1, "There is no slot for us");
59522 :
59523 : static bool
59524 0 : get_webkitBoxPack(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
59525 : {
59526 0 : binding_detail::FastErrorResult rv;
59527 0 : DOMString result;
59528 0 : self->GetWebkitBoxPack(result, rv);
59529 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59530 0 : return false;
59531 : }
59532 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59533 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
59534 0 : return false;
59535 : }
59536 0 : return true;
59537 : }
59538 :
59539 : static bool
59540 0 : set_webkitBoxPack(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
59541 : {
59542 0 : binding_detail::FakeString arg0;
59543 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
59544 0 : return false;
59545 : }
59546 0 : binding_detail::FastErrorResult rv;
59547 0 : self->SetWebkitBoxPack(NonNullHelper(Constify(arg0)), rv);
59548 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59549 0 : return false;
59550 : }
59551 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59552 :
59553 0 : return true;
59554 : }
59555 :
59556 : static const JSJitInfo webkitBoxPack_getterinfo = {
59557 : { (JSJitGetterOp)get_webkitBoxPack },
59558 : { prototypes::id::CSS2Properties },
59559 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59560 : JSJitInfo::Getter,
59561 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59562 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
59563 : false, /* isInfallible. False in setters. */
59564 : false, /* isMovable. Not relevant for setters. */
59565 : false, /* isEliminatable. Not relevant for setters. */
59566 : false, /* isAlwaysInSlot. Only relevant for getters. */
59567 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59568 : false, /* isTypedMethod. Only relevant for methods. */
59569 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59570 : };
59571 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59572 : static_assert(0 < 1, "There is no slot for us");
59573 : static const JSJitInfo webkitBoxPack_setterinfo = {
59574 : { (JSJitGetterOp)set_webkitBoxPack },
59575 : { prototypes::id::CSS2Properties },
59576 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59577 : JSJitInfo::Setter,
59578 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59579 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
59580 : false, /* isInfallible. False in setters. */
59581 : false, /* isMovable. Not relevant for setters. */
59582 : false, /* isEliminatable. Not relevant for setters. */
59583 : false, /* isAlwaysInSlot. Only relevant for getters. */
59584 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59585 : false, /* isTypedMethod. Only relevant for methods. */
59586 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59587 : };
59588 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59589 : static_assert(0 < 1, "There is no slot for us");
59590 :
59591 : static bool
59592 0 : get__webkit_box_pack(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
59593 : {
59594 0 : binding_detail::FastErrorResult rv;
59595 0 : DOMString result;
59596 0 : self->GetWebkitBoxPack(result, rv);
59597 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59598 0 : return false;
59599 : }
59600 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59601 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
59602 0 : return false;
59603 : }
59604 0 : return true;
59605 : }
59606 :
59607 : static bool
59608 0 : set__webkit_box_pack(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
59609 : {
59610 0 : binding_detail::FakeString arg0;
59611 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
59612 0 : return false;
59613 : }
59614 0 : binding_detail::FastErrorResult rv;
59615 0 : self->SetWebkitBoxPack(NonNullHelper(Constify(arg0)), rv);
59616 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59617 0 : return false;
59618 : }
59619 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59620 :
59621 0 : return true;
59622 : }
59623 :
59624 : static const JSJitInfo _webkit_box_pack_getterinfo = {
59625 : { (JSJitGetterOp)get__webkit_box_pack },
59626 : { prototypes::id::CSS2Properties },
59627 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59628 : JSJitInfo::Getter,
59629 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59630 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
59631 : false, /* isInfallible. False in setters. */
59632 : false, /* isMovable. Not relevant for setters. */
59633 : false, /* isEliminatable. Not relevant for setters. */
59634 : false, /* isAlwaysInSlot. Only relevant for getters. */
59635 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59636 : false, /* isTypedMethod. Only relevant for methods. */
59637 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59638 : };
59639 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59640 : static_assert(0 < 1, "There is no slot for us");
59641 : static const JSJitInfo _webkit_box_pack_setterinfo = {
59642 : { (JSJitGetterOp)set__webkit_box_pack },
59643 : { prototypes::id::CSS2Properties },
59644 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59645 : JSJitInfo::Setter,
59646 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59647 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
59648 : false, /* isInfallible. False in setters. */
59649 : false, /* isMovable. Not relevant for setters. */
59650 : false, /* isEliminatable. Not relevant for setters. */
59651 : false, /* isAlwaysInSlot. Only relevant for getters. */
59652 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59653 : false, /* isTypedMethod. Only relevant for methods. */
59654 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59655 : };
59656 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59657 : static_assert(0 < 1, "There is no slot for us");
59658 :
59659 : static bool
59660 0 : get_WebkitFlexDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
59661 : {
59662 0 : binding_detail::FastErrorResult rv;
59663 0 : DOMString result;
59664 0 : self->GetWebkitFlexDirection(result, rv);
59665 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59666 0 : return false;
59667 : }
59668 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59669 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
59670 0 : return false;
59671 : }
59672 0 : return true;
59673 : }
59674 :
59675 : static bool
59676 0 : set_WebkitFlexDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
59677 : {
59678 0 : binding_detail::FakeString arg0;
59679 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
59680 0 : return false;
59681 : }
59682 0 : binding_detail::FastErrorResult rv;
59683 0 : self->SetWebkitFlexDirection(NonNullHelper(Constify(arg0)), rv);
59684 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59685 0 : return false;
59686 : }
59687 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59688 :
59689 0 : return true;
59690 : }
59691 :
59692 : static const JSJitInfo WebkitFlexDirection_getterinfo = {
59693 : { (JSJitGetterOp)get_WebkitFlexDirection },
59694 : { prototypes::id::CSS2Properties },
59695 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59696 : JSJitInfo::Getter,
59697 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59698 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
59699 : false, /* isInfallible. False in setters. */
59700 : false, /* isMovable. Not relevant for setters. */
59701 : false, /* isEliminatable. Not relevant for setters. */
59702 : false, /* isAlwaysInSlot. Only relevant for getters. */
59703 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59704 : false, /* isTypedMethod. Only relevant for methods. */
59705 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59706 : };
59707 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59708 : static_assert(0 < 1, "There is no slot for us");
59709 : static const JSJitInfo WebkitFlexDirection_setterinfo = {
59710 : { (JSJitGetterOp)set_WebkitFlexDirection },
59711 : { prototypes::id::CSS2Properties },
59712 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59713 : JSJitInfo::Setter,
59714 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59715 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
59716 : false, /* isInfallible. False in setters. */
59717 : false, /* isMovable. Not relevant for setters. */
59718 : false, /* isEliminatable. Not relevant for setters. */
59719 : false, /* isAlwaysInSlot. Only relevant for getters. */
59720 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59721 : false, /* isTypedMethod. Only relevant for methods. */
59722 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59723 : };
59724 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59725 : static_assert(0 < 1, "There is no slot for us");
59726 :
59727 : static bool
59728 0 : get_webkitFlexDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
59729 : {
59730 0 : binding_detail::FastErrorResult rv;
59731 0 : DOMString result;
59732 0 : self->GetWebkitFlexDirection(result, rv);
59733 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59734 0 : return false;
59735 : }
59736 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59737 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
59738 0 : return false;
59739 : }
59740 0 : return true;
59741 : }
59742 :
59743 : static bool
59744 0 : set_webkitFlexDirection(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
59745 : {
59746 0 : binding_detail::FakeString arg0;
59747 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
59748 0 : return false;
59749 : }
59750 0 : binding_detail::FastErrorResult rv;
59751 0 : self->SetWebkitFlexDirection(NonNullHelper(Constify(arg0)), rv);
59752 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59753 0 : return false;
59754 : }
59755 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59756 :
59757 0 : return true;
59758 : }
59759 :
59760 : static const JSJitInfo webkitFlexDirection_getterinfo = {
59761 : { (JSJitGetterOp)get_webkitFlexDirection },
59762 : { prototypes::id::CSS2Properties },
59763 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59764 : JSJitInfo::Getter,
59765 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59766 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
59767 : false, /* isInfallible. False in setters. */
59768 : false, /* isMovable. Not relevant for setters. */
59769 : false, /* isEliminatable. Not relevant for setters. */
59770 : false, /* isAlwaysInSlot. Only relevant for getters. */
59771 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59772 : false, /* isTypedMethod. Only relevant for methods. */
59773 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59774 : };
59775 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59776 : static_assert(0 < 1, "There is no slot for us");
59777 : static const JSJitInfo webkitFlexDirection_setterinfo = {
59778 : { (JSJitGetterOp)set_webkitFlexDirection },
59779 : { prototypes::id::CSS2Properties },
59780 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59781 : JSJitInfo::Setter,
59782 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59783 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
59784 : false, /* isInfallible. False in setters. */
59785 : false, /* isMovable. Not relevant for setters. */
59786 : false, /* isEliminatable. Not relevant for setters. */
59787 : false, /* isAlwaysInSlot. Only relevant for getters. */
59788 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59789 : false, /* isTypedMethod. Only relevant for methods. */
59790 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59791 : };
59792 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59793 : static_assert(0 < 1, "There is no slot for us");
59794 :
59795 : static bool
59796 0 : get__webkit_flex_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
59797 : {
59798 0 : binding_detail::FastErrorResult rv;
59799 0 : DOMString result;
59800 0 : self->GetWebkitFlexDirection(result, rv);
59801 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59802 0 : return false;
59803 : }
59804 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59805 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
59806 0 : return false;
59807 : }
59808 0 : return true;
59809 : }
59810 :
59811 : static bool
59812 0 : set__webkit_flex_direction(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
59813 : {
59814 0 : binding_detail::FakeString arg0;
59815 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
59816 0 : return false;
59817 : }
59818 0 : binding_detail::FastErrorResult rv;
59819 0 : self->SetWebkitFlexDirection(NonNullHelper(Constify(arg0)), rv);
59820 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59821 0 : return false;
59822 : }
59823 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59824 :
59825 0 : return true;
59826 : }
59827 :
59828 : static const JSJitInfo _webkit_flex_direction_getterinfo = {
59829 : { (JSJitGetterOp)get__webkit_flex_direction },
59830 : { prototypes::id::CSS2Properties },
59831 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59832 : JSJitInfo::Getter,
59833 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59834 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
59835 : false, /* isInfallible. False in setters. */
59836 : false, /* isMovable. Not relevant for setters. */
59837 : false, /* isEliminatable. Not relevant for setters. */
59838 : false, /* isAlwaysInSlot. Only relevant for getters. */
59839 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59840 : false, /* isTypedMethod. Only relevant for methods. */
59841 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59842 : };
59843 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59844 : static_assert(0 < 1, "There is no slot for us");
59845 : static const JSJitInfo _webkit_flex_direction_setterinfo = {
59846 : { (JSJitGetterOp)set__webkit_flex_direction },
59847 : { prototypes::id::CSS2Properties },
59848 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59849 : JSJitInfo::Setter,
59850 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59851 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
59852 : false, /* isInfallible. False in setters. */
59853 : false, /* isMovable. Not relevant for setters. */
59854 : false, /* isEliminatable. Not relevant for setters. */
59855 : false, /* isAlwaysInSlot. Only relevant for getters. */
59856 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59857 : false, /* isTypedMethod. Only relevant for methods. */
59858 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59859 : };
59860 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59861 : static_assert(0 < 1, "There is no slot for us");
59862 :
59863 : static bool
59864 0 : get_WebkitFlexWrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
59865 : {
59866 0 : binding_detail::FastErrorResult rv;
59867 0 : DOMString result;
59868 0 : self->GetWebkitFlexWrap(result, rv);
59869 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59870 0 : return false;
59871 : }
59872 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59873 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
59874 0 : return false;
59875 : }
59876 0 : return true;
59877 : }
59878 :
59879 : static bool
59880 0 : set_WebkitFlexWrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
59881 : {
59882 0 : binding_detail::FakeString arg0;
59883 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
59884 0 : return false;
59885 : }
59886 0 : binding_detail::FastErrorResult rv;
59887 0 : self->SetWebkitFlexWrap(NonNullHelper(Constify(arg0)), rv);
59888 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59889 0 : return false;
59890 : }
59891 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59892 :
59893 0 : return true;
59894 : }
59895 :
59896 : static const JSJitInfo WebkitFlexWrap_getterinfo = {
59897 : { (JSJitGetterOp)get_WebkitFlexWrap },
59898 : { prototypes::id::CSS2Properties },
59899 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59900 : JSJitInfo::Getter,
59901 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59902 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
59903 : false, /* isInfallible. False in setters. */
59904 : false, /* isMovable. Not relevant for setters. */
59905 : false, /* isEliminatable. Not relevant for setters. */
59906 : false, /* isAlwaysInSlot. Only relevant for getters. */
59907 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59908 : false, /* isTypedMethod. Only relevant for methods. */
59909 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59910 : };
59911 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59912 : static_assert(0 < 1, "There is no slot for us");
59913 : static const JSJitInfo WebkitFlexWrap_setterinfo = {
59914 : { (JSJitGetterOp)set_WebkitFlexWrap },
59915 : { prototypes::id::CSS2Properties },
59916 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59917 : JSJitInfo::Setter,
59918 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59919 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
59920 : false, /* isInfallible. False in setters. */
59921 : false, /* isMovable. Not relevant for setters. */
59922 : false, /* isEliminatable. Not relevant for setters. */
59923 : false, /* isAlwaysInSlot. Only relevant for getters. */
59924 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59925 : false, /* isTypedMethod. Only relevant for methods. */
59926 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59927 : };
59928 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59929 : static_assert(0 < 1, "There is no slot for us");
59930 :
59931 : static bool
59932 0 : get_webkitFlexWrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
59933 : {
59934 0 : binding_detail::FastErrorResult rv;
59935 0 : DOMString result;
59936 0 : self->GetWebkitFlexWrap(result, rv);
59937 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59938 0 : return false;
59939 : }
59940 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59941 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
59942 0 : return false;
59943 : }
59944 0 : return true;
59945 : }
59946 :
59947 : static bool
59948 0 : set_webkitFlexWrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
59949 : {
59950 0 : binding_detail::FakeString arg0;
59951 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
59952 0 : return false;
59953 : }
59954 0 : binding_detail::FastErrorResult rv;
59955 0 : self->SetWebkitFlexWrap(NonNullHelper(Constify(arg0)), rv);
59956 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
59957 0 : return false;
59958 : }
59959 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
59960 :
59961 0 : return true;
59962 : }
59963 :
59964 : static const JSJitInfo webkitFlexWrap_getterinfo = {
59965 : { (JSJitGetterOp)get_webkitFlexWrap },
59966 : { prototypes::id::CSS2Properties },
59967 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59968 : JSJitInfo::Getter,
59969 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59970 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
59971 : false, /* isInfallible. False in setters. */
59972 : false, /* isMovable. Not relevant for setters. */
59973 : false, /* isEliminatable. Not relevant for setters. */
59974 : false, /* isAlwaysInSlot. Only relevant for getters. */
59975 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59976 : false, /* isTypedMethod. Only relevant for methods. */
59977 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59978 : };
59979 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59980 : static_assert(0 < 1, "There is no slot for us");
59981 : static const JSJitInfo webkitFlexWrap_setterinfo = {
59982 : { (JSJitGetterOp)set_webkitFlexWrap },
59983 : { prototypes::id::CSS2Properties },
59984 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
59985 : JSJitInfo::Setter,
59986 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
59987 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
59988 : false, /* isInfallible. False in setters. */
59989 : false, /* isMovable. Not relevant for setters. */
59990 : false, /* isEliminatable. Not relevant for setters. */
59991 : false, /* isAlwaysInSlot. Only relevant for getters. */
59992 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
59993 : false, /* isTypedMethod. Only relevant for methods. */
59994 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
59995 : };
59996 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
59997 : static_assert(0 < 1, "There is no slot for us");
59998 :
59999 : static bool
60000 0 : get__webkit_flex_wrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
60001 : {
60002 0 : binding_detail::FastErrorResult rv;
60003 0 : DOMString result;
60004 0 : self->GetWebkitFlexWrap(result, rv);
60005 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60006 0 : return false;
60007 : }
60008 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60009 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
60010 0 : return false;
60011 : }
60012 0 : return true;
60013 : }
60014 :
60015 : static bool
60016 0 : set__webkit_flex_wrap(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
60017 : {
60018 0 : binding_detail::FakeString arg0;
60019 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
60020 0 : return false;
60021 : }
60022 0 : binding_detail::FastErrorResult rv;
60023 0 : self->SetWebkitFlexWrap(NonNullHelper(Constify(arg0)), rv);
60024 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60025 0 : return false;
60026 : }
60027 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60028 :
60029 0 : return true;
60030 : }
60031 :
60032 : static const JSJitInfo _webkit_flex_wrap_getterinfo = {
60033 : { (JSJitGetterOp)get__webkit_flex_wrap },
60034 : { prototypes::id::CSS2Properties },
60035 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60036 : JSJitInfo::Getter,
60037 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60038 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
60039 : false, /* isInfallible. False in setters. */
60040 : false, /* isMovable. Not relevant for setters. */
60041 : false, /* isEliminatable. Not relevant for setters. */
60042 : false, /* isAlwaysInSlot. Only relevant for getters. */
60043 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60044 : false, /* isTypedMethod. Only relevant for methods. */
60045 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60046 : };
60047 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60048 : static_assert(0 < 1, "There is no slot for us");
60049 : static const JSJitInfo _webkit_flex_wrap_setterinfo = {
60050 : { (JSJitGetterOp)set__webkit_flex_wrap },
60051 : { prototypes::id::CSS2Properties },
60052 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60053 : JSJitInfo::Setter,
60054 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60055 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
60056 : false, /* isInfallible. False in setters. */
60057 : false, /* isMovable. Not relevant for setters. */
60058 : false, /* isEliminatable. Not relevant for setters. */
60059 : false, /* isAlwaysInSlot. Only relevant for getters. */
60060 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60061 : false, /* isTypedMethod. Only relevant for methods. */
60062 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60063 : };
60064 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60065 : static_assert(0 < 1, "There is no slot for us");
60066 :
60067 : static bool
60068 0 : get_WebkitFlexFlow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
60069 : {
60070 0 : binding_detail::FastErrorResult rv;
60071 0 : DOMString result;
60072 0 : self->GetWebkitFlexFlow(result, rv);
60073 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60074 0 : return false;
60075 : }
60076 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60077 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
60078 0 : return false;
60079 : }
60080 0 : return true;
60081 : }
60082 :
60083 : static bool
60084 0 : set_WebkitFlexFlow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
60085 : {
60086 0 : binding_detail::FakeString arg0;
60087 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
60088 0 : return false;
60089 : }
60090 0 : binding_detail::FastErrorResult rv;
60091 0 : self->SetWebkitFlexFlow(NonNullHelper(Constify(arg0)), rv);
60092 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60093 0 : return false;
60094 : }
60095 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60096 :
60097 0 : return true;
60098 : }
60099 :
60100 : static const JSJitInfo WebkitFlexFlow_getterinfo = {
60101 : { (JSJitGetterOp)get_WebkitFlexFlow },
60102 : { prototypes::id::CSS2Properties },
60103 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60104 : JSJitInfo::Getter,
60105 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60106 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
60107 : false, /* isInfallible. False in setters. */
60108 : false, /* isMovable. Not relevant for setters. */
60109 : false, /* isEliminatable. Not relevant for setters. */
60110 : false, /* isAlwaysInSlot. Only relevant for getters. */
60111 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60112 : false, /* isTypedMethod. Only relevant for methods. */
60113 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60114 : };
60115 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60116 : static_assert(0 < 1, "There is no slot for us");
60117 : static const JSJitInfo WebkitFlexFlow_setterinfo = {
60118 : { (JSJitGetterOp)set_WebkitFlexFlow },
60119 : { prototypes::id::CSS2Properties },
60120 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60121 : JSJitInfo::Setter,
60122 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60123 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
60124 : false, /* isInfallible. False in setters. */
60125 : false, /* isMovable. Not relevant for setters. */
60126 : false, /* isEliminatable. Not relevant for setters. */
60127 : false, /* isAlwaysInSlot. Only relevant for getters. */
60128 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60129 : false, /* isTypedMethod. Only relevant for methods. */
60130 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60131 : };
60132 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60133 : static_assert(0 < 1, "There is no slot for us");
60134 :
60135 : static bool
60136 0 : get_webkitFlexFlow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
60137 : {
60138 0 : binding_detail::FastErrorResult rv;
60139 0 : DOMString result;
60140 0 : self->GetWebkitFlexFlow(result, rv);
60141 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60142 0 : return false;
60143 : }
60144 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60145 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
60146 0 : return false;
60147 : }
60148 0 : return true;
60149 : }
60150 :
60151 : static bool
60152 0 : set_webkitFlexFlow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
60153 : {
60154 0 : binding_detail::FakeString arg0;
60155 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
60156 0 : return false;
60157 : }
60158 0 : binding_detail::FastErrorResult rv;
60159 0 : self->SetWebkitFlexFlow(NonNullHelper(Constify(arg0)), rv);
60160 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60161 0 : return false;
60162 : }
60163 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60164 :
60165 0 : return true;
60166 : }
60167 :
60168 : static const JSJitInfo webkitFlexFlow_getterinfo = {
60169 : { (JSJitGetterOp)get_webkitFlexFlow },
60170 : { prototypes::id::CSS2Properties },
60171 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60172 : JSJitInfo::Getter,
60173 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60174 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
60175 : false, /* isInfallible. False in setters. */
60176 : false, /* isMovable. Not relevant for setters. */
60177 : false, /* isEliminatable. Not relevant for setters. */
60178 : false, /* isAlwaysInSlot. Only relevant for getters. */
60179 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60180 : false, /* isTypedMethod. Only relevant for methods. */
60181 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60182 : };
60183 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60184 : static_assert(0 < 1, "There is no slot for us");
60185 : static const JSJitInfo webkitFlexFlow_setterinfo = {
60186 : { (JSJitGetterOp)set_webkitFlexFlow },
60187 : { prototypes::id::CSS2Properties },
60188 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60189 : JSJitInfo::Setter,
60190 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60191 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
60192 : false, /* isInfallible. False in setters. */
60193 : false, /* isMovable. Not relevant for setters. */
60194 : false, /* isEliminatable. Not relevant for setters. */
60195 : false, /* isAlwaysInSlot. Only relevant for getters. */
60196 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60197 : false, /* isTypedMethod. Only relevant for methods. */
60198 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60199 : };
60200 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60201 : static_assert(0 < 1, "There is no slot for us");
60202 :
60203 : static bool
60204 0 : get__webkit_flex_flow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
60205 : {
60206 0 : binding_detail::FastErrorResult rv;
60207 0 : DOMString result;
60208 0 : self->GetWebkitFlexFlow(result, rv);
60209 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60210 0 : return false;
60211 : }
60212 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60213 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
60214 0 : return false;
60215 : }
60216 0 : return true;
60217 : }
60218 :
60219 : static bool
60220 0 : set__webkit_flex_flow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
60221 : {
60222 0 : binding_detail::FakeString arg0;
60223 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
60224 0 : return false;
60225 : }
60226 0 : binding_detail::FastErrorResult rv;
60227 0 : self->SetWebkitFlexFlow(NonNullHelper(Constify(arg0)), rv);
60228 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60229 0 : return false;
60230 : }
60231 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60232 :
60233 0 : return true;
60234 : }
60235 :
60236 : static const JSJitInfo _webkit_flex_flow_getterinfo = {
60237 : { (JSJitGetterOp)get__webkit_flex_flow },
60238 : { prototypes::id::CSS2Properties },
60239 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60240 : JSJitInfo::Getter,
60241 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60242 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
60243 : false, /* isInfallible. False in setters. */
60244 : false, /* isMovable. Not relevant for setters. */
60245 : false, /* isEliminatable. Not relevant for setters. */
60246 : false, /* isAlwaysInSlot. Only relevant for getters. */
60247 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60248 : false, /* isTypedMethod. Only relevant for methods. */
60249 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60250 : };
60251 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60252 : static_assert(0 < 1, "There is no slot for us");
60253 : static const JSJitInfo _webkit_flex_flow_setterinfo = {
60254 : { (JSJitGetterOp)set__webkit_flex_flow },
60255 : { prototypes::id::CSS2Properties },
60256 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60257 : JSJitInfo::Setter,
60258 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60259 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
60260 : false, /* isInfallible. False in setters. */
60261 : false, /* isMovable. Not relevant for setters. */
60262 : false, /* isEliminatable. Not relevant for setters. */
60263 : false, /* isAlwaysInSlot. Only relevant for getters. */
60264 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60265 : false, /* isTypedMethod. Only relevant for methods. */
60266 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60267 : };
60268 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60269 : static_assert(0 < 1, "There is no slot for us");
60270 :
60271 : static bool
60272 0 : get_WebkitOrder(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
60273 : {
60274 0 : binding_detail::FastErrorResult rv;
60275 0 : DOMString result;
60276 0 : self->GetWebkitOrder(result, rv);
60277 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60278 0 : return false;
60279 : }
60280 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60281 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
60282 0 : return false;
60283 : }
60284 0 : return true;
60285 : }
60286 :
60287 : static bool
60288 0 : set_WebkitOrder(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
60289 : {
60290 0 : binding_detail::FakeString arg0;
60291 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
60292 0 : return false;
60293 : }
60294 0 : binding_detail::FastErrorResult rv;
60295 0 : self->SetWebkitOrder(NonNullHelper(Constify(arg0)), rv);
60296 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60297 0 : return false;
60298 : }
60299 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60300 :
60301 0 : return true;
60302 : }
60303 :
60304 : static const JSJitInfo WebkitOrder_getterinfo = {
60305 : { (JSJitGetterOp)get_WebkitOrder },
60306 : { prototypes::id::CSS2Properties },
60307 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60308 : JSJitInfo::Getter,
60309 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60310 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
60311 : false, /* isInfallible. False in setters. */
60312 : false, /* isMovable. Not relevant for setters. */
60313 : false, /* isEliminatable. Not relevant for setters. */
60314 : false, /* isAlwaysInSlot. Only relevant for getters. */
60315 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60316 : false, /* isTypedMethod. Only relevant for methods. */
60317 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60318 : };
60319 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60320 : static_assert(0 < 1, "There is no slot for us");
60321 : static const JSJitInfo WebkitOrder_setterinfo = {
60322 : { (JSJitGetterOp)set_WebkitOrder },
60323 : { prototypes::id::CSS2Properties },
60324 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60325 : JSJitInfo::Setter,
60326 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60327 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
60328 : false, /* isInfallible. False in setters. */
60329 : false, /* isMovable. Not relevant for setters. */
60330 : false, /* isEliminatable. Not relevant for setters. */
60331 : false, /* isAlwaysInSlot. Only relevant for getters. */
60332 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60333 : false, /* isTypedMethod. Only relevant for methods. */
60334 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60335 : };
60336 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60337 : static_assert(0 < 1, "There is no slot for us");
60338 :
60339 : static bool
60340 0 : get_webkitOrder(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
60341 : {
60342 0 : binding_detail::FastErrorResult rv;
60343 0 : DOMString result;
60344 0 : self->GetWebkitOrder(result, rv);
60345 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60346 0 : return false;
60347 : }
60348 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60349 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
60350 0 : return false;
60351 : }
60352 0 : return true;
60353 : }
60354 :
60355 : static bool
60356 0 : set_webkitOrder(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
60357 : {
60358 0 : binding_detail::FakeString arg0;
60359 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
60360 0 : return false;
60361 : }
60362 0 : binding_detail::FastErrorResult rv;
60363 0 : self->SetWebkitOrder(NonNullHelper(Constify(arg0)), rv);
60364 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60365 0 : return false;
60366 : }
60367 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60368 :
60369 0 : return true;
60370 : }
60371 :
60372 : static const JSJitInfo webkitOrder_getterinfo = {
60373 : { (JSJitGetterOp)get_webkitOrder },
60374 : { prototypes::id::CSS2Properties },
60375 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60376 : JSJitInfo::Getter,
60377 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60378 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
60379 : false, /* isInfallible. False in setters. */
60380 : false, /* isMovable. Not relevant for setters. */
60381 : false, /* isEliminatable. Not relevant for setters. */
60382 : false, /* isAlwaysInSlot. Only relevant for getters. */
60383 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60384 : false, /* isTypedMethod. Only relevant for methods. */
60385 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60386 : };
60387 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60388 : static_assert(0 < 1, "There is no slot for us");
60389 : static const JSJitInfo webkitOrder_setterinfo = {
60390 : { (JSJitGetterOp)set_webkitOrder },
60391 : { prototypes::id::CSS2Properties },
60392 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60393 : JSJitInfo::Setter,
60394 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60395 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
60396 : false, /* isInfallible. False in setters. */
60397 : false, /* isMovable. Not relevant for setters. */
60398 : false, /* isEliminatable. Not relevant for setters. */
60399 : false, /* isAlwaysInSlot. Only relevant for getters. */
60400 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60401 : false, /* isTypedMethod. Only relevant for methods. */
60402 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60403 : };
60404 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60405 : static_assert(0 < 1, "There is no slot for us");
60406 :
60407 : static bool
60408 0 : get__webkit_order(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
60409 : {
60410 0 : binding_detail::FastErrorResult rv;
60411 0 : DOMString result;
60412 0 : self->GetWebkitOrder(result, rv);
60413 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60414 0 : return false;
60415 : }
60416 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60417 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
60418 0 : return false;
60419 : }
60420 0 : return true;
60421 : }
60422 :
60423 : static bool
60424 0 : set__webkit_order(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
60425 : {
60426 0 : binding_detail::FakeString arg0;
60427 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
60428 0 : return false;
60429 : }
60430 0 : binding_detail::FastErrorResult rv;
60431 0 : self->SetWebkitOrder(NonNullHelper(Constify(arg0)), rv);
60432 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60433 0 : return false;
60434 : }
60435 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60436 :
60437 0 : return true;
60438 : }
60439 :
60440 : static const JSJitInfo _webkit_order_getterinfo = {
60441 : { (JSJitGetterOp)get__webkit_order },
60442 : { prototypes::id::CSS2Properties },
60443 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60444 : JSJitInfo::Getter,
60445 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60446 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
60447 : false, /* isInfallible. False in setters. */
60448 : false, /* isMovable. Not relevant for setters. */
60449 : false, /* isEliminatable. Not relevant for setters. */
60450 : false, /* isAlwaysInSlot. Only relevant for getters. */
60451 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60452 : false, /* isTypedMethod. Only relevant for methods. */
60453 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60454 : };
60455 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60456 : static_assert(0 < 1, "There is no slot for us");
60457 : static const JSJitInfo _webkit_order_setterinfo = {
60458 : { (JSJitGetterOp)set__webkit_order },
60459 : { prototypes::id::CSS2Properties },
60460 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60461 : JSJitInfo::Setter,
60462 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60463 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
60464 : false, /* isInfallible. False in setters. */
60465 : false, /* isMovable. Not relevant for setters. */
60466 : false, /* isEliminatable. Not relevant for setters. */
60467 : false, /* isAlwaysInSlot. Only relevant for getters. */
60468 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60469 : false, /* isTypedMethod. Only relevant for methods. */
60470 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60471 : };
60472 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60473 : static_assert(0 < 1, "There is no slot for us");
60474 :
60475 : static bool
60476 0 : get_WebkitFlex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
60477 : {
60478 0 : binding_detail::FastErrorResult rv;
60479 0 : DOMString result;
60480 0 : self->GetWebkitFlex(result, rv);
60481 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60482 0 : return false;
60483 : }
60484 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60485 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
60486 0 : return false;
60487 : }
60488 0 : return true;
60489 : }
60490 :
60491 : static bool
60492 0 : set_WebkitFlex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
60493 : {
60494 0 : binding_detail::FakeString arg0;
60495 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
60496 0 : return false;
60497 : }
60498 0 : binding_detail::FastErrorResult rv;
60499 0 : self->SetWebkitFlex(NonNullHelper(Constify(arg0)), rv);
60500 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60501 0 : return false;
60502 : }
60503 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60504 :
60505 0 : return true;
60506 : }
60507 :
60508 : static const JSJitInfo WebkitFlex_getterinfo = {
60509 : { (JSJitGetterOp)get_WebkitFlex },
60510 : { prototypes::id::CSS2Properties },
60511 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60512 : JSJitInfo::Getter,
60513 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60514 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
60515 : false, /* isInfallible. False in setters. */
60516 : false, /* isMovable. Not relevant for setters. */
60517 : false, /* isEliminatable. Not relevant for setters. */
60518 : false, /* isAlwaysInSlot. Only relevant for getters. */
60519 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60520 : false, /* isTypedMethod. Only relevant for methods. */
60521 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60522 : };
60523 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60524 : static_assert(0 < 1, "There is no slot for us");
60525 : static const JSJitInfo WebkitFlex_setterinfo = {
60526 : { (JSJitGetterOp)set_WebkitFlex },
60527 : { prototypes::id::CSS2Properties },
60528 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60529 : JSJitInfo::Setter,
60530 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60531 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
60532 : false, /* isInfallible. False in setters. */
60533 : false, /* isMovable. Not relevant for setters. */
60534 : false, /* isEliminatable. Not relevant for setters. */
60535 : false, /* isAlwaysInSlot. Only relevant for getters. */
60536 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60537 : false, /* isTypedMethod. Only relevant for methods. */
60538 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60539 : };
60540 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60541 : static_assert(0 < 1, "There is no slot for us");
60542 :
60543 : static bool
60544 0 : get_webkitFlex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
60545 : {
60546 0 : binding_detail::FastErrorResult rv;
60547 0 : DOMString result;
60548 0 : self->GetWebkitFlex(result, rv);
60549 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60550 0 : return false;
60551 : }
60552 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60553 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
60554 0 : return false;
60555 : }
60556 0 : return true;
60557 : }
60558 :
60559 : static bool
60560 0 : set_webkitFlex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
60561 : {
60562 0 : binding_detail::FakeString arg0;
60563 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
60564 0 : return false;
60565 : }
60566 0 : binding_detail::FastErrorResult rv;
60567 0 : self->SetWebkitFlex(NonNullHelper(Constify(arg0)), rv);
60568 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60569 0 : return false;
60570 : }
60571 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60572 :
60573 0 : return true;
60574 : }
60575 :
60576 : static const JSJitInfo webkitFlex_getterinfo = {
60577 : { (JSJitGetterOp)get_webkitFlex },
60578 : { prototypes::id::CSS2Properties },
60579 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60580 : JSJitInfo::Getter,
60581 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60582 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
60583 : false, /* isInfallible. False in setters. */
60584 : false, /* isMovable. Not relevant for setters. */
60585 : false, /* isEliminatable. Not relevant for setters. */
60586 : false, /* isAlwaysInSlot. Only relevant for getters. */
60587 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60588 : false, /* isTypedMethod. Only relevant for methods. */
60589 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60590 : };
60591 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60592 : static_assert(0 < 1, "There is no slot for us");
60593 : static const JSJitInfo webkitFlex_setterinfo = {
60594 : { (JSJitGetterOp)set_webkitFlex },
60595 : { prototypes::id::CSS2Properties },
60596 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60597 : JSJitInfo::Setter,
60598 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60599 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
60600 : false, /* isInfallible. False in setters. */
60601 : false, /* isMovable. Not relevant for setters. */
60602 : false, /* isEliminatable. Not relevant for setters. */
60603 : false, /* isAlwaysInSlot. Only relevant for getters. */
60604 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60605 : false, /* isTypedMethod. Only relevant for methods. */
60606 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60607 : };
60608 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60609 : static_assert(0 < 1, "There is no slot for us");
60610 :
60611 : static bool
60612 0 : get__webkit_flex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
60613 : {
60614 0 : binding_detail::FastErrorResult rv;
60615 0 : DOMString result;
60616 0 : self->GetWebkitFlex(result, rv);
60617 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60618 0 : return false;
60619 : }
60620 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60621 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
60622 0 : return false;
60623 : }
60624 0 : return true;
60625 : }
60626 :
60627 : static bool
60628 0 : set__webkit_flex(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
60629 : {
60630 0 : binding_detail::FakeString arg0;
60631 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
60632 0 : return false;
60633 : }
60634 0 : binding_detail::FastErrorResult rv;
60635 0 : self->SetWebkitFlex(NonNullHelper(Constify(arg0)), rv);
60636 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60637 0 : return false;
60638 : }
60639 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60640 :
60641 0 : return true;
60642 : }
60643 :
60644 : static const JSJitInfo _webkit_flex_getterinfo = {
60645 : { (JSJitGetterOp)get__webkit_flex },
60646 : { prototypes::id::CSS2Properties },
60647 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60648 : JSJitInfo::Getter,
60649 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60650 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
60651 : false, /* isInfallible. False in setters. */
60652 : false, /* isMovable. Not relevant for setters. */
60653 : false, /* isEliminatable. Not relevant for setters. */
60654 : false, /* isAlwaysInSlot. Only relevant for getters. */
60655 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60656 : false, /* isTypedMethod. Only relevant for methods. */
60657 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60658 : };
60659 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60660 : static_assert(0 < 1, "There is no slot for us");
60661 : static const JSJitInfo _webkit_flex_setterinfo = {
60662 : { (JSJitGetterOp)set__webkit_flex },
60663 : { prototypes::id::CSS2Properties },
60664 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60665 : JSJitInfo::Setter,
60666 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60667 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
60668 : false, /* isInfallible. False in setters. */
60669 : false, /* isMovable. Not relevant for setters. */
60670 : false, /* isEliminatable. Not relevant for setters. */
60671 : false, /* isAlwaysInSlot. Only relevant for getters. */
60672 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60673 : false, /* isTypedMethod. Only relevant for methods. */
60674 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60675 : };
60676 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60677 : static_assert(0 < 1, "There is no slot for us");
60678 :
60679 : static bool
60680 0 : get_WebkitFlexGrow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
60681 : {
60682 0 : binding_detail::FastErrorResult rv;
60683 0 : DOMString result;
60684 0 : self->GetWebkitFlexGrow(result, rv);
60685 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60686 0 : return false;
60687 : }
60688 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60689 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
60690 0 : return false;
60691 : }
60692 0 : return true;
60693 : }
60694 :
60695 : static bool
60696 0 : set_WebkitFlexGrow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
60697 : {
60698 0 : binding_detail::FakeString arg0;
60699 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
60700 0 : return false;
60701 : }
60702 0 : binding_detail::FastErrorResult rv;
60703 0 : self->SetWebkitFlexGrow(NonNullHelper(Constify(arg0)), rv);
60704 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60705 0 : return false;
60706 : }
60707 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60708 :
60709 0 : return true;
60710 : }
60711 :
60712 : static const JSJitInfo WebkitFlexGrow_getterinfo = {
60713 : { (JSJitGetterOp)get_WebkitFlexGrow },
60714 : { prototypes::id::CSS2Properties },
60715 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60716 : JSJitInfo::Getter,
60717 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60718 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
60719 : false, /* isInfallible. False in setters. */
60720 : false, /* isMovable. Not relevant for setters. */
60721 : false, /* isEliminatable. Not relevant for setters. */
60722 : false, /* isAlwaysInSlot. Only relevant for getters. */
60723 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60724 : false, /* isTypedMethod. Only relevant for methods. */
60725 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60726 : };
60727 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60728 : static_assert(0 < 1, "There is no slot for us");
60729 : static const JSJitInfo WebkitFlexGrow_setterinfo = {
60730 : { (JSJitGetterOp)set_WebkitFlexGrow },
60731 : { prototypes::id::CSS2Properties },
60732 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60733 : JSJitInfo::Setter,
60734 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60735 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
60736 : false, /* isInfallible. False in setters. */
60737 : false, /* isMovable. Not relevant for setters. */
60738 : false, /* isEliminatable. Not relevant for setters. */
60739 : false, /* isAlwaysInSlot. Only relevant for getters. */
60740 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60741 : false, /* isTypedMethod. Only relevant for methods. */
60742 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60743 : };
60744 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60745 : static_assert(0 < 1, "There is no slot for us");
60746 :
60747 : static bool
60748 0 : get_webkitFlexGrow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
60749 : {
60750 0 : binding_detail::FastErrorResult rv;
60751 0 : DOMString result;
60752 0 : self->GetWebkitFlexGrow(result, rv);
60753 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60754 0 : return false;
60755 : }
60756 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60757 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
60758 0 : return false;
60759 : }
60760 0 : return true;
60761 : }
60762 :
60763 : static bool
60764 0 : set_webkitFlexGrow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
60765 : {
60766 0 : binding_detail::FakeString arg0;
60767 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
60768 0 : return false;
60769 : }
60770 0 : binding_detail::FastErrorResult rv;
60771 0 : self->SetWebkitFlexGrow(NonNullHelper(Constify(arg0)), rv);
60772 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60773 0 : return false;
60774 : }
60775 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60776 :
60777 0 : return true;
60778 : }
60779 :
60780 : static const JSJitInfo webkitFlexGrow_getterinfo = {
60781 : { (JSJitGetterOp)get_webkitFlexGrow },
60782 : { prototypes::id::CSS2Properties },
60783 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60784 : JSJitInfo::Getter,
60785 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60786 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
60787 : false, /* isInfallible. False in setters. */
60788 : false, /* isMovable. Not relevant for setters. */
60789 : false, /* isEliminatable. Not relevant for setters. */
60790 : false, /* isAlwaysInSlot. Only relevant for getters. */
60791 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60792 : false, /* isTypedMethod. Only relevant for methods. */
60793 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60794 : };
60795 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60796 : static_assert(0 < 1, "There is no slot for us");
60797 : static const JSJitInfo webkitFlexGrow_setterinfo = {
60798 : { (JSJitGetterOp)set_webkitFlexGrow },
60799 : { prototypes::id::CSS2Properties },
60800 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60801 : JSJitInfo::Setter,
60802 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60803 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
60804 : false, /* isInfallible. False in setters. */
60805 : false, /* isMovable. Not relevant for setters. */
60806 : false, /* isEliminatable. Not relevant for setters. */
60807 : false, /* isAlwaysInSlot. Only relevant for getters. */
60808 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60809 : false, /* isTypedMethod. Only relevant for methods. */
60810 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60811 : };
60812 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60813 : static_assert(0 < 1, "There is no slot for us");
60814 :
60815 : static bool
60816 0 : get__webkit_flex_grow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
60817 : {
60818 0 : binding_detail::FastErrorResult rv;
60819 0 : DOMString result;
60820 0 : self->GetWebkitFlexGrow(result, rv);
60821 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60822 0 : return false;
60823 : }
60824 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60825 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
60826 0 : return false;
60827 : }
60828 0 : return true;
60829 : }
60830 :
60831 : static bool
60832 0 : set__webkit_flex_grow(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
60833 : {
60834 0 : binding_detail::FakeString arg0;
60835 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
60836 0 : return false;
60837 : }
60838 0 : binding_detail::FastErrorResult rv;
60839 0 : self->SetWebkitFlexGrow(NonNullHelper(Constify(arg0)), rv);
60840 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60841 0 : return false;
60842 : }
60843 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60844 :
60845 0 : return true;
60846 : }
60847 :
60848 : static const JSJitInfo _webkit_flex_grow_getterinfo = {
60849 : { (JSJitGetterOp)get__webkit_flex_grow },
60850 : { prototypes::id::CSS2Properties },
60851 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60852 : JSJitInfo::Getter,
60853 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60854 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
60855 : false, /* isInfallible. False in setters. */
60856 : false, /* isMovable. Not relevant for setters. */
60857 : false, /* isEliminatable. Not relevant for setters. */
60858 : false, /* isAlwaysInSlot. Only relevant for getters. */
60859 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60860 : false, /* isTypedMethod. Only relevant for methods. */
60861 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60862 : };
60863 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60864 : static_assert(0 < 1, "There is no slot for us");
60865 : static const JSJitInfo _webkit_flex_grow_setterinfo = {
60866 : { (JSJitGetterOp)set__webkit_flex_grow },
60867 : { prototypes::id::CSS2Properties },
60868 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60869 : JSJitInfo::Setter,
60870 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60871 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
60872 : false, /* isInfallible. False in setters. */
60873 : false, /* isMovable. Not relevant for setters. */
60874 : false, /* isEliminatable. Not relevant for setters. */
60875 : false, /* isAlwaysInSlot. Only relevant for getters. */
60876 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60877 : false, /* isTypedMethod. Only relevant for methods. */
60878 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60879 : };
60880 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60881 : static_assert(0 < 1, "There is no slot for us");
60882 :
60883 : static bool
60884 0 : get_WebkitFlexShrink(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
60885 : {
60886 0 : binding_detail::FastErrorResult rv;
60887 0 : DOMString result;
60888 0 : self->GetWebkitFlexShrink(result, rv);
60889 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60890 0 : return false;
60891 : }
60892 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60893 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
60894 0 : return false;
60895 : }
60896 0 : return true;
60897 : }
60898 :
60899 : static bool
60900 0 : set_WebkitFlexShrink(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
60901 : {
60902 0 : binding_detail::FakeString arg0;
60903 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
60904 0 : return false;
60905 : }
60906 0 : binding_detail::FastErrorResult rv;
60907 0 : self->SetWebkitFlexShrink(NonNullHelper(Constify(arg0)), rv);
60908 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60909 0 : return false;
60910 : }
60911 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60912 :
60913 0 : return true;
60914 : }
60915 :
60916 : static const JSJitInfo WebkitFlexShrink_getterinfo = {
60917 : { (JSJitGetterOp)get_WebkitFlexShrink },
60918 : { prototypes::id::CSS2Properties },
60919 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60920 : JSJitInfo::Getter,
60921 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60922 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
60923 : false, /* isInfallible. False in setters. */
60924 : false, /* isMovable. Not relevant for setters. */
60925 : false, /* isEliminatable. Not relevant for setters. */
60926 : false, /* isAlwaysInSlot. Only relevant for getters. */
60927 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60928 : false, /* isTypedMethod. Only relevant for methods. */
60929 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60930 : };
60931 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60932 : static_assert(0 < 1, "There is no slot for us");
60933 : static const JSJitInfo WebkitFlexShrink_setterinfo = {
60934 : { (JSJitGetterOp)set_WebkitFlexShrink },
60935 : { prototypes::id::CSS2Properties },
60936 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60937 : JSJitInfo::Setter,
60938 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60939 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
60940 : false, /* isInfallible. False in setters. */
60941 : false, /* isMovable. Not relevant for setters. */
60942 : false, /* isEliminatable. Not relevant for setters. */
60943 : false, /* isAlwaysInSlot. Only relevant for getters. */
60944 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60945 : false, /* isTypedMethod. Only relevant for methods. */
60946 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60947 : };
60948 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
60949 : static_assert(0 < 1, "There is no slot for us");
60950 :
60951 : static bool
60952 0 : get_webkitFlexShrink(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
60953 : {
60954 0 : binding_detail::FastErrorResult rv;
60955 0 : DOMString result;
60956 0 : self->GetWebkitFlexShrink(result, rv);
60957 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60958 0 : return false;
60959 : }
60960 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60961 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
60962 0 : return false;
60963 : }
60964 0 : return true;
60965 : }
60966 :
60967 : static bool
60968 0 : set_webkitFlexShrink(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
60969 : {
60970 0 : binding_detail::FakeString arg0;
60971 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
60972 0 : return false;
60973 : }
60974 0 : binding_detail::FastErrorResult rv;
60975 0 : self->SetWebkitFlexShrink(NonNullHelper(Constify(arg0)), rv);
60976 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
60977 0 : return false;
60978 : }
60979 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
60980 :
60981 0 : return true;
60982 : }
60983 :
60984 : static const JSJitInfo webkitFlexShrink_getterinfo = {
60985 : { (JSJitGetterOp)get_webkitFlexShrink },
60986 : { prototypes::id::CSS2Properties },
60987 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
60988 : JSJitInfo::Getter,
60989 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
60990 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
60991 : false, /* isInfallible. False in setters. */
60992 : false, /* isMovable. Not relevant for setters. */
60993 : false, /* isEliminatable. Not relevant for setters. */
60994 : false, /* isAlwaysInSlot. Only relevant for getters. */
60995 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
60996 : false, /* isTypedMethod. Only relevant for methods. */
60997 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
60998 : };
60999 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61000 : static_assert(0 < 1, "There is no slot for us");
61001 : static const JSJitInfo webkitFlexShrink_setterinfo = {
61002 : { (JSJitGetterOp)set_webkitFlexShrink },
61003 : { prototypes::id::CSS2Properties },
61004 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61005 : JSJitInfo::Setter,
61006 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61007 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
61008 : false, /* isInfallible. False in setters. */
61009 : false, /* isMovable. Not relevant for setters. */
61010 : false, /* isEliminatable. Not relevant for setters. */
61011 : false, /* isAlwaysInSlot. Only relevant for getters. */
61012 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61013 : false, /* isTypedMethod. Only relevant for methods. */
61014 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61015 : };
61016 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61017 : static_assert(0 < 1, "There is no slot for us");
61018 :
61019 : static bool
61020 0 : get__webkit_flex_shrink(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
61021 : {
61022 0 : binding_detail::FastErrorResult rv;
61023 0 : DOMString result;
61024 0 : self->GetWebkitFlexShrink(result, rv);
61025 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61026 0 : return false;
61027 : }
61028 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61029 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
61030 0 : return false;
61031 : }
61032 0 : return true;
61033 : }
61034 :
61035 : static bool
61036 0 : set__webkit_flex_shrink(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
61037 : {
61038 0 : binding_detail::FakeString arg0;
61039 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
61040 0 : return false;
61041 : }
61042 0 : binding_detail::FastErrorResult rv;
61043 0 : self->SetWebkitFlexShrink(NonNullHelper(Constify(arg0)), rv);
61044 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61045 0 : return false;
61046 : }
61047 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61048 :
61049 0 : return true;
61050 : }
61051 :
61052 : static const JSJitInfo _webkit_flex_shrink_getterinfo = {
61053 : { (JSJitGetterOp)get__webkit_flex_shrink },
61054 : { prototypes::id::CSS2Properties },
61055 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61056 : JSJitInfo::Getter,
61057 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61058 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
61059 : false, /* isInfallible. False in setters. */
61060 : false, /* isMovable. Not relevant for setters. */
61061 : false, /* isEliminatable. Not relevant for setters. */
61062 : false, /* isAlwaysInSlot. Only relevant for getters. */
61063 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61064 : false, /* isTypedMethod. Only relevant for methods. */
61065 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61066 : };
61067 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61068 : static_assert(0 < 1, "There is no slot for us");
61069 : static const JSJitInfo _webkit_flex_shrink_setterinfo = {
61070 : { (JSJitGetterOp)set__webkit_flex_shrink },
61071 : { prototypes::id::CSS2Properties },
61072 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61073 : JSJitInfo::Setter,
61074 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61075 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
61076 : false, /* isInfallible. False in setters. */
61077 : false, /* isMovable. Not relevant for setters. */
61078 : false, /* isEliminatable. Not relevant for setters. */
61079 : false, /* isAlwaysInSlot. Only relevant for getters. */
61080 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61081 : false, /* isTypedMethod. Only relevant for methods. */
61082 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61083 : };
61084 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61085 : static_assert(0 < 1, "There is no slot for us");
61086 :
61087 : static bool
61088 0 : get_WebkitFlexBasis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
61089 : {
61090 0 : binding_detail::FastErrorResult rv;
61091 0 : DOMString result;
61092 0 : self->GetWebkitFlexBasis(result, rv);
61093 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61094 0 : return false;
61095 : }
61096 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61097 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
61098 0 : return false;
61099 : }
61100 0 : return true;
61101 : }
61102 :
61103 : static bool
61104 0 : set_WebkitFlexBasis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
61105 : {
61106 0 : binding_detail::FakeString arg0;
61107 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
61108 0 : return false;
61109 : }
61110 0 : binding_detail::FastErrorResult rv;
61111 0 : self->SetWebkitFlexBasis(NonNullHelper(Constify(arg0)), rv);
61112 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61113 0 : return false;
61114 : }
61115 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61116 :
61117 0 : return true;
61118 : }
61119 :
61120 : static const JSJitInfo WebkitFlexBasis_getterinfo = {
61121 : { (JSJitGetterOp)get_WebkitFlexBasis },
61122 : { prototypes::id::CSS2Properties },
61123 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61124 : JSJitInfo::Getter,
61125 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61126 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
61127 : false, /* isInfallible. False in setters. */
61128 : false, /* isMovable. Not relevant for setters. */
61129 : false, /* isEliminatable. Not relevant for setters. */
61130 : false, /* isAlwaysInSlot. Only relevant for getters. */
61131 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61132 : false, /* isTypedMethod. Only relevant for methods. */
61133 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61134 : };
61135 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61136 : static_assert(0 < 1, "There is no slot for us");
61137 : static const JSJitInfo WebkitFlexBasis_setterinfo = {
61138 : { (JSJitGetterOp)set_WebkitFlexBasis },
61139 : { prototypes::id::CSS2Properties },
61140 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61141 : JSJitInfo::Setter,
61142 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61143 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
61144 : false, /* isInfallible. False in setters. */
61145 : false, /* isMovable. Not relevant for setters. */
61146 : false, /* isEliminatable. Not relevant for setters. */
61147 : false, /* isAlwaysInSlot. Only relevant for getters. */
61148 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61149 : false, /* isTypedMethod. Only relevant for methods. */
61150 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61151 : };
61152 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61153 : static_assert(0 < 1, "There is no slot for us");
61154 :
61155 : static bool
61156 0 : get_webkitFlexBasis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
61157 : {
61158 0 : binding_detail::FastErrorResult rv;
61159 0 : DOMString result;
61160 0 : self->GetWebkitFlexBasis(result, rv);
61161 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61162 0 : return false;
61163 : }
61164 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61165 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
61166 0 : return false;
61167 : }
61168 0 : return true;
61169 : }
61170 :
61171 : static bool
61172 0 : set_webkitFlexBasis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
61173 : {
61174 0 : binding_detail::FakeString arg0;
61175 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
61176 0 : return false;
61177 : }
61178 0 : binding_detail::FastErrorResult rv;
61179 0 : self->SetWebkitFlexBasis(NonNullHelper(Constify(arg0)), rv);
61180 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61181 0 : return false;
61182 : }
61183 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61184 :
61185 0 : return true;
61186 : }
61187 :
61188 : static const JSJitInfo webkitFlexBasis_getterinfo = {
61189 : { (JSJitGetterOp)get_webkitFlexBasis },
61190 : { prototypes::id::CSS2Properties },
61191 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61192 : JSJitInfo::Getter,
61193 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61194 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
61195 : false, /* isInfallible. False in setters. */
61196 : false, /* isMovable. Not relevant for setters. */
61197 : false, /* isEliminatable. Not relevant for setters. */
61198 : false, /* isAlwaysInSlot. Only relevant for getters. */
61199 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61200 : false, /* isTypedMethod. Only relevant for methods. */
61201 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61202 : };
61203 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61204 : static_assert(0 < 1, "There is no slot for us");
61205 : static const JSJitInfo webkitFlexBasis_setterinfo = {
61206 : { (JSJitGetterOp)set_webkitFlexBasis },
61207 : { prototypes::id::CSS2Properties },
61208 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61209 : JSJitInfo::Setter,
61210 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61211 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
61212 : false, /* isInfallible. False in setters. */
61213 : false, /* isMovable. Not relevant for setters. */
61214 : false, /* isEliminatable. Not relevant for setters. */
61215 : false, /* isAlwaysInSlot. Only relevant for getters. */
61216 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61217 : false, /* isTypedMethod. Only relevant for methods. */
61218 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61219 : };
61220 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61221 : static_assert(0 < 1, "There is no slot for us");
61222 :
61223 : static bool
61224 0 : get__webkit_flex_basis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
61225 : {
61226 0 : binding_detail::FastErrorResult rv;
61227 0 : DOMString result;
61228 0 : self->GetWebkitFlexBasis(result, rv);
61229 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61230 0 : return false;
61231 : }
61232 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61233 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
61234 0 : return false;
61235 : }
61236 0 : return true;
61237 : }
61238 :
61239 : static bool
61240 0 : set__webkit_flex_basis(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
61241 : {
61242 0 : binding_detail::FakeString arg0;
61243 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
61244 0 : return false;
61245 : }
61246 0 : binding_detail::FastErrorResult rv;
61247 0 : self->SetWebkitFlexBasis(NonNullHelper(Constify(arg0)), rv);
61248 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61249 0 : return false;
61250 : }
61251 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61252 :
61253 0 : return true;
61254 : }
61255 :
61256 : static const JSJitInfo _webkit_flex_basis_getterinfo = {
61257 : { (JSJitGetterOp)get__webkit_flex_basis },
61258 : { prototypes::id::CSS2Properties },
61259 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61260 : JSJitInfo::Getter,
61261 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61262 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
61263 : false, /* isInfallible. False in setters. */
61264 : false, /* isMovable. Not relevant for setters. */
61265 : false, /* isEliminatable. Not relevant for setters. */
61266 : false, /* isAlwaysInSlot. Only relevant for getters. */
61267 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61268 : false, /* isTypedMethod. Only relevant for methods. */
61269 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61270 : };
61271 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61272 : static_assert(0 < 1, "There is no slot for us");
61273 : static const JSJitInfo _webkit_flex_basis_setterinfo = {
61274 : { (JSJitGetterOp)set__webkit_flex_basis },
61275 : { prototypes::id::CSS2Properties },
61276 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61277 : JSJitInfo::Setter,
61278 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61279 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
61280 : false, /* isInfallible. False in setters. */
61281 : false, /* isMovable. Not relevant for setters. */
61282 : false, /* isEliminatable. Not relevant for setters. */
61283 : false, /* isAlwaysInSlot. Only relevant for getters. */
61284 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61285 : false, /* isTypedMethod. Only relevant for methods. */
61286 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61287 : };
61288 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61289 : static_assert(0 < 1, "There is no slot for us");
61290 :
61291 : static bool
61292 0 : get_WebkitJustifyContent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
61293 : {
61294 0 : binding_detail::FastErrorResult rv;
61295 0 : DOMString result;
61296 0 : self->GetWebkitJustifyContent(result, rv);
61297 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61298 0 : return false;
61299 : }
61300 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61301 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
61302 0 : return false;
61303 : }
61304 0 : return true;
61305 : }
61306 :
61307 : static bool
61308 0 : set_WebkitJustifyContent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
61309 : {
61310 0 : binding_detail::FakeString arg0;
61311 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
61312 0 : return false;
61313 : }
61314 0 : binding_detail::FastErrorResult rv;
61315 0 : self->SetWebkitJustifyContent(NonNullHelper(Constify(arg0)), rv);
61316 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61317 0 : return false;
61318 : }
61319 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61320 :
61321 0 : return true;
61322 : }
61323 :
61324 : static const JSJitInfo WebkitJustifyContent_getterinfo = {
61325 : { (JSJitGetterOp)get_WebkitJustifyContent },
61326 : { prototypes::id::CSS2Properties },
61327 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61328 : JSJitInfo::Getter,
61329 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61330 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
61331 : false, /* isInfallible. False in setters. */
61332 : false, /* isMovable. Not relevant for setters. */
61333 : false, /* isEliminatable. Not relevant for setters. */
61334 : false, /* isAlwaysInSlot. Only relevant for getters. */
61335 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61336 : false, /* isTypedMethod. Only relevant for methods. */
61337 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61338 : };
61339 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61340 : static_assert(0 < 1, "There is no slot for us");
61341 : static const JSJitInfo WebkitJustifyContent_setterinfo = {
61342 : { (JSJitGetterOp)set_WebkitJustifyContent },
61343 : { prototypes::id::CSS2Properties },
61344 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61345 : JSJitInfo::Setter,
61346 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61347 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
61348 : false, /* isInfallible. False in setters. */
61349 : false, /* isMovable. Not relevant for setters. */
61350 : false, /* isEliminatable. Not relevant for setters. */
61351 : false, /* isAlwaysInSlot. Only relevant for getters. */
61352 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61353 : false, /* isTypedMethod. Only relevant for methods. */
61354 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61355 : };
61356 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61357 : static_assert(0 < 1, "There is no slot for us");
61358 :
61359 : static bool
61360 0 : get_webkitJustifyContent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
61361 : {
61362 0 : binding_detail::FastErrorResult rv;
61363 0 : DOMString result;
61364 0 : self->GetWebkitJustifyContent(result, rv);
61365 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61366 0 : return false;
61367 : }
61368 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61369 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
61370 0 : return false;
61371 : }
61372 0 : return true;
61373 : }
61374 :
61375 : static bool
61376 0 : set_webkitJustifyContent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
61377 : {
61378 0 : binding_detail::FakeString arg0;
61379 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
61380 0 : return false;
61381 : }
61382 0 : binding_detail::FastErrorResult rv;
61383 0 : self->SetWebkitJustifyContent(NonNullHelper(Constify(arg0)), rv);
61384 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61385 0 : return false;
61386 : }
61387 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61388 :
61389 0 : return true;
61390 : }
61391 :
61392 : static const JSJitInfo webkitJustifyContent_getterinfo = {
61393 : { (JSJitGetterOp)get_webkitJustifyContent },
61394 : { prototypes::id::CSS2Properties },
61395 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61396 : JSJitInfo::Getter,
61397 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61398 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
61399 : false, /* isInfallible. False in setters. */
61400 : false, /* isMovable. Not relevant for setters. */
61401 : false, /* isEliminatable. Not relevant for setters. */
61402 : false, /* isAlwaysInSlot. Only relevant for getters. */
61403 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61404 : false, /* isTypedMethod. Only relevant for methods. */
61405 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61406 : };
61407 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61408 : static_assert(0 < 1, "There is no slot for us");
61409 : static const JSJitInfo webkitJustifyContent_setterinfo = {
61410 : { (JSJitGetterOp)set_webkitJustifyContent },
61411 : { prototypes::id::CSS2Properties },
61412 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61413 : JSJitInfo::Setter,
61414 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61415 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
61416 : false, /* isInfallible. False in setters. */
61417 : false, /* isMovable. Not relevant for setters. */
61418 : false, /* isEliminatable. Not relevant for setters. */
61419 : false, /* isAlwaysInSlot. Only relevant for getters. */
61420 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61421 : false, /* isTypedMethod. Only relevant for methods. */
61422 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61423 : };
61424 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61425 : static_assert(0 < 1, "There is no slot for us");
61426 :
61427 : static bool
61428 0 : get__webkit_justify_content(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
61429 : {
61430 0 : binding_detail::FastErrorResult rv;
61431 0 : DOMString result;
61432 0 : self->GetWebkitJustifyContent(result, rv);
61433 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61434 0 : return false;
61435 : }
61436 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61437 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
61438 0 : return false;
61439 : }
61440 0 : return true;
61441 : }
61442 :
61443 : static bool
61444 0 : set__webkit_justify_content(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
61445 : {
61446 0 : binding_detail::FakeString arg0;
61447 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
61448 0 : return false;
61449 : }
61450 0 : binding_detail::FastErrorResult rv;
61451 0 : self->SetWebkitJustifyContent(NonNullHelper(Constify(arg0)), rv);
61452 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61453 0 : return false;
61454 : }
61455 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61456 :
61457 0 : return true;
61458 : }
61459 :
61460 : static const JSJitInfo _webkit_justify_content_getterinfo = {
61461 : { (JSJitGetterOp)get__webkit_justify_content },
61462 : { prototypes::id::CSS2Properties },
61463 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61464 : JSJitInfo::Getter,
61465 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61466 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
61467 : false, /* isInfallible. False in setters. */
61468 : false, /* isMovable. Not relevant for setters. */
61469 : false, /* isEliminatable. Not relevant for setters. */
61470 : false, /* isAlwaysInSlot. Only relevant for getters. */
61471 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61472 : false, /* isTypedMethod. Only relevant for methods. */
61473 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61474 : };
61475 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61476 : static_assert(0 < 1, "There is no slot for us");
61477 : static const JSJitInfo _webkit_justify_content_setterinfo = {
61478 : { (JSJitGetterOp)set__webkit_justify_content },
61479 : { prototypes::id::CSS2Properties },
61480 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61481 : JSJitInfo::Setter,
61482 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61483 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
61484 : false, /* isInfallible. False in setters. */
61485 : false, /* isMovable. Not relevant for setters. */
61486 : false, /* isEliminatable. Not relevant for setters. */
61487 : false, /* isAlwaysInSlot. Only relevant for getters. */
61488 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61489 : false, /* isTypedMethod. Only relevant for methods. */
61490 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61491 : };
61492 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61493 : static_assert(0 < 1, "There is no slot for us");
61494 :
61495 : static bool
61496 0 : get_WebkitAlignItems(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
61497 : {
61498 0 : binding_detail::FastErrorResult rv;
61499 0 : DOMString result;
61500 0 : self->GetWebkitAlignItems(result, rv);
61501 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61502 0 : return false;
61503 : }
61504 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61505 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
61506 0 : return false;
61507 : }
61508 0 : return true;
61509 : }
61510 :
61511 : static bool
61512 0 : set_WebkitAlignItems(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
61513 : {
61514 0 : binding_detail::FakeString arg0;
61515 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
61516 0 : return false;
61517 : }
61518 0 : binding_detail::FastErrorResult rv;
61519 0 : self->SetWebkitAlignItems(NonNullHelper(Constify(arg0)), rv);
61520 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61521 0 : return false;
61522 : }
61523 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61524 :
61525 0 : return true;
61526 : }
61527 :
61528 : static const JSJitInfo WebkitAlignItems_getterinfo = {
61529 : { (JSJitGetterOp)get_WebkitAlignItems },
61530 : { prototypes::id::CSS2Properties },
61531 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61532 : JSJitInfo::Getter,
61533 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61534 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
61535 : false, /* isInfallible. False in setters. */
61536 : false, /* isMovable. Not relevant for setters. */
61537 : false, /* isEliminatable. Not relevant for setters. */
61538 : false, /* isAlwaysInSlot. Only relevant for getters. */
61539 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61540 : false, /* isTypedMethod. Only relevant for methods. */
61541 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61542 : };
61543 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61544 : static_assert(0 < 1, "There is no slot for us");
61545 : static const JSJitInfo WebkitAlignItems_setterinfo = {
61546 : { (JSJitGetterOp)set_WebkitAlignItems },
61547 : { prototypes::id::CSS2Properties },
61548 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61549 : JSJitInfo::Setter,
61550 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61551 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
61552 : false, /* isInfallible. False in setters. */
61553 : false, /* isMovable. Not relevant for setters. */
61554 : false, /* isEliminatable. Not relevant for setters. */
61555 : false, /* isAlwaysInSlot. Only relevant for getters. */
61556 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61557 : false, /* isTypedMethod. Only relevant for methods. */
61558 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61559 : };
61560 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61561 : static_assert(0 < 1, "There is no slot for us");
61562 :
61563 : static bool
61564 0 : get_webkitAlignItems(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
61565 : {
61566 0 : binding_detail::FastErrorResult rv;
61567 0 : DOMString result;
61568 0 : self->GetWebkitAlignItems(result, rv);
61569 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61570 0 : return false;
61571 : }
61572 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61573 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
61574 0 : return false;
61575 : }
61576 0 : return true;
61577 : }
61578 :
61579 : static bool
61580 0 : set_webkitAlignItems(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
61581 : {
61582 0 : binding_detail::FakeString arg0;
61583 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
61584 0 : return false;
61585 : }
61586 0 : binding_detail::FastErrorResult rv;
61587 0 : self->SetWebkitAlignItems(NonNullHelper(Constify(arg0)), rv);
61588 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61589 0 : return false;
61590 : }
61591 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61592 :
61593 0 : return true;
61594 : }
61595 :
61596 : static const JSJitInfo webkitAlignItems_getterinfo = {
61597 : { (JSJitGetterOp)get_webkitAlignItems },
61598 : { prototypes::id::CSS2Properties },
61599 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61600 : JSJitInfo::Getter,
61601 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61602 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
61603 : false, /* isInfallible. False in setters. */
61604 : false, /* isMovable. Not relevant for setters. */
61605 : false, /* isEliminatable. Not relevant for setters. */
61606 : false, /* isAlwaysInSlot. Only relevant for getters. */
61607 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61608 : false, /* isTypedMethod. Only relevant for methods. */
61609 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61610 : };
61611 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61612 : static_assert(0 < 1, "There is no slot for us");
61613 : static const JSJitInfo webkitAlignItems_setterinfo = {
61614 : { (JSJitGetterOp)set_webkitAlignItems },
61615 : { prototypes::id::CSS2Properties },
61616 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61617 : JSJitInfo::Setter,
61618 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61619 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
61620 : false, /* isInfallible. False in setters. */
61621 : false, /* isMovable. Not relevant for setters. */
61622 : false, /* isEliminatable. Not relevant for setters. */
61623 : false, /* isAlwaysInSlot. Only relevant for getters. */
61624 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61625 : false, /* isTypedMethod. Only relevant for methods. */
61626 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61627 : };
61628 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61629 : static_assert(0 < 1, "There is no slot for us");
61630 :
61631 : static bool
61632 0 : get__webkit_align_items(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
61633 : {
61634 0 : binding_detail::FastErrorResult rv;
61635 0 : DOMString result;
61636 0 : self->GetWebkitAlignItems(result, rv);
61637 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61638 0 : return false;
61639 : }
61640 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61641 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
61642 0 : return false;
61643 : }
61644 0 : return true;
61645 : }
61646 :
61647 : static bool
61648 0 : set__webkit_align_items(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
61649 : {
61650 0 : binding_detail::FakeString arg0;
61651 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
61652 0 : return false;
61653 : }
61654 0 : binding_detail::FastErrorResult rv;
61655 0 : self->SetWebkitAlignItems(NonNullHelper(Constify(arg0)), rv);
61656 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61657 0 : return false;
61658 : }
61659 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61660 :
61661 0 : return true;
61662 : }
61663 :
61664 : static const JSJitInfo _webkit_align_items_getterinfo = {
61665 : { (JSJitGetterOp)get__webkit_align_items },
61666 : { prototypes::id::CSS2Properties },
61667 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61668 : JSJitInfo::Getter,
61669 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61670 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
61671 : false, /* isInfallible. False in setters. */
61672 : false, /* isMovable. Not relevant for setters. */
61673 : false, /* isEliminatable. Not relevant for setters. */
61674 : false, /* isAlwaysInSlot. Only relevant for getters. */
61675 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61676 : false, /* isTypedMethod. Only relevant for methods. */
61677 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61678 : };
61679 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61680 : static_assert(0 < 1, "There is no slot for us");
61681 : static const JSJitInfo _webkit_align_items_setterinfo = {
61682 : { (JSJitGetterOp)set__webkit_align_items },
61683 : { prototypes::id::CSS2Properties },
61684 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61685 : JSJitInfo::Setter,
61686 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61687 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
61688 : false, /* isInfallible. False in setters. */
61689 : false, /* isMovable. Not relevant for setters. */
61690 : false, /* isEliminatable. Not relevant for setters. */
61691 : false, /* isAlwaysInSlot. Only relevant for getters. */
61692 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61693 : false, /* isTypedMethod. Only relevant for methods. */
61694 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61695 : };
61696 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61697 : static_assert(0 < 1, "There is no slot for us");
61698 :
61699 : static bool
61700 0 : get_WebkitAlignSelf(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
61701 : {
61702 0 : binding_detail::FastErrorResult rv;
61703 0 : DOMString result;
61704 0 : self->GetWebkitAlignSelf(result, rv);
61705 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61706 0 : return false;
61707 : }
61708 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61709 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
61710 0 : return false;
61711 : }
61712 0 : return true;
61713 : }
61714 :
61715 : static bool
61716 0 : set_WebkitAlignSelf(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
61717 : {
61718 0 : binding_detail::FakeString arg0;
61719 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
61720 0 : return false;
61721 : }
61722 0 : binding_detail::FastErrorResult rv;
61723 0 : self->SetWebkitAlignSelf(NonNullHelper(Constify(arg0)), rv);
61724 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61725 0 : return false;
61726 : }
61727 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61728 :
61729 0 : return true;
61730 : }
61731 :
61732 : static const JSJitInfo WebkitAlignSelf_getterinfo = {
61733 : { (JSJitGetterOp)get_WebkitAlignSelf },
61734 : { prototypes::id::CSS2Properties },
61735 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61736 : JSJitInfo::Getter,
61737 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61738 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
61739 : false, /* isInfallible. False in setters. */
61740 : false, /* isMovable. Not relevant for setters. */
61741 : false, /* isEliminatable. Not relevant for setters. */
61742 : false, /* isAlwaysInSlot. Only relevant for getters. */
61743 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61744 : false, /* isTypedMethod. Only relevant for methods. */
61745 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61746 : };
61747 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61748 : static_assert(0 < 1, "There is no slot for us");
61749 : static const JSJitInfo WebkitAlignSelf_setterinfo = {
61750 : { (JSJitGetterOp)set_WebkitAlignSelf },
61751 : { prototypes::id::CSS2Properties },
61752 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61753 : JSJitInfo::Setter,
61754 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61755 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
61756 : false, /* isInfallible. False in setters. */
61757 : false, /* isMovable. Not relevant for setters. */
61758 : false, /* isEliminatable. Not relevant for setters. */
61759 : false, /* isAlwaysInSlot. Only relevant for getters. */
61760 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61761 : false, /* isTypedMethod. Only relevant for methods. */
61762 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61763 : };
61764 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61765 : static_assert(0 < 1, "There is no slot for us");
61766 :
61767 : static bool
61768 0 : get_webkitAlignSelf(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
61769 : {
61770 0 : binding_detail::FastErrorResult rv;
61771 0 : DOMString result;
61772 0 : self->GetWebkitAlignSelf(result, rv);
61773 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61774 0 : return false;
61775 : }
61776 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61777 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
61778 0 : return false;
61779 : }
61780 0 : return true;
61781 : }
61782 :
61783 : static bool
61784 0 : set_webkitAlignSelf(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
61785 : {
61786 0 : binding_detail::FakeString arg0;
61787 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
61788 0 : return false;
61789 : }
61790 0 : binding_detail::FastErrorResult rv;
61791 0 : self->SetWebkitAlignSelf(NonNullHelper(Constify(arg0)), rv);
61792 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61793 0 : return false;
61794 : }
61795 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61796 :
61797 0 : return true;
61798 : }
61799 :
61800 : static const JSJitInfo webkitAlignSelf_getterinfo = {
61801 : { (JSJitGetterOp)get_webkitAlignSelf },
61802 : { prototypes::id::CSS2Properties },
61803 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61804 : JSJitInfo::Getter,
61805 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61806 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
61807 : false, /* isInfallible. False in setters. */
61808 : false, /* isMovable. Not relevant for setters. */
61809 : false, /* isEliminatable. Not relevant for setters. */
61810 : false, /* isAlwaysInSlot. Only relevant for getters. */
61811 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61812 : false, /* isTypedMethod. Only relevant for methods. */
61813 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61814 : };
61815 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61816 : static_assert(0 < 1, "There is no slot for us");
61817 : static const JSJitInfo webkitAlignSelf_setterinfo = {
61818 : { (JSJitGetterOp)set_webkitAlignSelf },
61819 : { prototypes::id::CSS2Properties },
61820 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61821 : JSJitInfo::Setter,
61822 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61823 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
61824 : false, /* isInfallible. False in setters. */
61825 : false, /* isMovable. Not relevant for setters. */
61826 : false, /* isEliminatable. Not relevant for setters. */
61827 : false, /* isAlwaysInSlot. Only relevant for getters. */
61828 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61829 : false, /* isTypedMethod. Only relevant for methods. */
61830 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61831 : };
61832 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61833 : static_assert(0 < 1, "There is no slot for us");
61834 :
61835 : static bool
61836 0 : get__webkit_align_self(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
61837 : {
61838 0 : binding_detail::FastErrorResult rv;
61839 0 : DOMString result;
61840 0 : self->GetWebkitAlignSelf(result, rv);
61841 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61842 0 : return false;
61843 : }
61844 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61845 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
61846 0 : return false;
61847 : }
61848 0 : return true;
61849 : }
61850 :
61851 : static bool
61852 0 : set__webkit_align_self(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
61853 : {
61854 0 : binding_detail::FakeString arg0;
61855 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
61856 0 : return false;
61857 : }
61858 0 : binding_detail::FastErrorResult rv;
61859 0 : self->SetWebkitAlignSelf(NonNullHelper(Constify(arg0)), rv);
61860 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61861 0 : return false;
61862 : }
61863 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61864 :
61865 0 : return true;
61866 : }
61867 :
61868 : static const JSJitInfo _webkit_align_self_getterinfo = {
61869 : { (JSJitGetterOp)get__webkit_align_self },
61870 : { prototypes::id::CSS2Properties },
61871 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61872 : JSJitInfo::Getter,
61873 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61874 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
61875 : false, /* isInfallible. False in setters. */
61876 : false, /* isMovable. Not relevant for setters. */
61877 : false, /* isEliminatable. Not relevant for setters. */
61878 : false, /* isAlwaysInSlot. Only relevant for getters. */
61879 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61880 : false, /* isTypedMethod. Only relevant for methods. */
61881 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61882 : };
61883 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61884 : static_assert(0 < 1, "There is no slot for us");
61885 : static const JSJitInfo _webkit_align_self_setterinfo = {
61886 : { (JSJitGetterOp)set__webkit_align_self },
61887 : { prototypes::id::CSS2Properties },
61888 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61889 : JSJitInfo::Setter,
61890 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61891 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
61892 : false, /* isInfallible. False in setters. */
61893 : false, /* isMovable. Not relevant for setters. */
61894 : false, /* isEliminatable. Not relevant for setters. */
61895 : false, /* isAlwaysInSlot. Only relevant for getters. */
61896 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61897 : false, /* isTypedMethod. Only relevant for methods. */
61898 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61899 : };
61900 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61901 : static_assert(0 < 1, "There is no slot for us");
61902 :
61903 : static bool
61904 0 : get_WebkitAlignContent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
61905 : {
61906 0 : binding_detail::FastErrorResult rv;
61907 0 : DOMString result;
61908 0 : self->GetWebkitAlignContent(result, rv);
61909 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61910 0 : return false;
61911 : }
61912 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61913 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
61914 0 : return false;
61915 : }
61916 0 : return true;
61917 : }
61918 :
61919 : static bool
61920 0 : set_WebkitAlignContent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
61921 : {
61922 0 : binding_detail::FakeString arg0;
61923 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
61924 0 : return false;
61925 : }
61926 0 : binding_detail::FastErrorResult rv;
61927 0 : self->SetWebkitAlignContent(NonNullHelper(Constify(arg0)), rv);
61928 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61929 0 : return false;
61930 : }
61931 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61932 :
61933 0 : return true;
61934 : }
61935 :
61936 : static const JSJitInfo WebkitAlignContent_getterinfo = {
61937 : { (JSJitGetterOp)get_WebkitAlignContent },
61938 : { prototypes::id::CSS2Properties },
61939 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61940 : JSJitInfo::Getter,
61941 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61942 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
61943 : false, /* isInfallible. False in setters. */
61944 : false, /* isMovable. Not relevant for setters. */
61945 : false, /* isEliminatable. Not relevant for setters. */
61946 : false, /* isAlwaysInSlot. Only relevant for getters. */
61947 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61948 : false, /* isTypedMethod. Only relevant for methods. */
61949 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61950 : };
61951 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61952 : static_assert(0 < 1, "There is no slot for us");
61953 : static const JSJitInfo WebkitAlignContent_setterinfo = {
61954 : { (JSJitGetterOp)set_WebkitAlignContent },
61955 : { prototypes::id::CSS2Properties },
61956 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
61957 : JSJitInfo::Setter,
61958 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
61959 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
61960 : false, /* isInfallible. False in setters. */
61961 : false, /* isMovable. Not relevant for setters. */
61962 : false, /* isEliminatable. Not relevant for setters. */
61963 : false, /* isAlwaysInSlot. Only relevant for getters. */
61964 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
61965 : false, /* isTypedMethod. Only relevant for methods. */
61966 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
61967 : };
61968 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
61969 : static_assert(0 < 1, "There is no slot for us");
61970 :
61971 : static bool
61972 0 : get_webkitAlignContent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
61973 : {
61974 0 : binding_detail::FastErrorResult rv;
61975 0 : DOMString result;
61976 0 : self->GetWebkitAlignContent(result, rv);
61977 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61978 0 : return false;
61979 : }
61980 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
61981 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
61982 0 : return false;
61983 : }
61984 0 : return true;
61985 : }
61986 :
61987 : static bool
61988 0 : set_webkitAlignContent(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
61989 : {
61990 0 : binding_detail::FakeString arg0;
61991 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
61992 0 : return false;
61993 : }
61994 0 : binding_detail::FastErrorResult rv;
61995 0 : self->SetWebkitAlignContent(NonNullHelper(Constify(arg0)), rv);
61996 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
61997 0 : return false;
61998 : }
61999 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62000 :
62001 0 : return true;
62002 : }
62003 :
62004 : static const JSJitInfo webkitAlignContent_getterinfo = {
62005 : { (JSJitGetterOp)get_webkitAlignContent },
62006 : { prototypes::id::CSS2Properties },
62007 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62008 : JSJitInfo::Getter,
62009 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62010 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
62011 : false, /* isInfallible. False in setters. */
62012 : false, /* isMovable. Not relevant for setters. */
62013 : false, /* isEliminatable. Not relevant for setters. */
62014 : false, /* isAlwaysInSlot. Only relevant for getters. */
62015 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62016 : false, /* isTypedMethod. Only relevant for methods. */
62017 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62018 : };
62019 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62020 : static_assert(0 < 1, "There is no slot for us");
62021 : static const JSJitInfo webkitAlignContent_setterinfo = {
62022 : { (JSJitGetterOp)set_webkitAlignContent },
62023 : { prototypes::id::CSS2Properties },
62024 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62025 : JSJitInfo::Setter,
62026 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62027 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
62028 : false, /* isInfallible. False in setters. */
62029 : false, /* isMovable. Not relevant for setters. */
62030 : false, /* isEliminatable. Not relevant for setters. */
62031 : false, /* isAlwaysInSlot. Only relevant for getters. */
62032 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62033 : false, /* isTypedMethod. Only relevant for methods. */
62034 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62035 : };
62036 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62037 : static_assert(0 < 1, "There is no slot for us");
62038 :
62039 : static bool
62040 0 : get__webkit_align_content(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
62041 : {
62042 0 : binding_detail::FastErrorResult rv;
62043 0 : DOMString result;
62044 0 : self->GetWebkitAlignContent(result, rv);
62045 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62046 0 : return false;
62047 : }
62048 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62049 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
62050 0 : return false;
62051 : }
62052 0 : return true;
62053 : }
62054 :
62055 : static bool
62056 0 : set__webkit_align_content(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
62057 : {
62058 0 : binding_detail::FakeString arg0;
62059 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
62060 0 : return false;
62061 : }
62062 0 : binding_detail::FastErrorResult rv;
62063 0 : self->SetWebkitAlignContent(NonNullHelper(Constify(arg0)), rv);
62064 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62065 0 : return false;
62066 : }
62067 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62068 :
62069 0 : return true;
62070 : }
62071 :
62072 : static const JSJitInfo _webkit_align_content_getterinfo = {
62073 : { (JSJitGetterOp)get__webkit_align_content },
62074 : { prototypes::id::CSS2Properties },
62075 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62076 : JSJitInfo::Getter,
62077 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62078 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
62079 : false, /* isInfallible. False in setters. */
62080 : false, /* isMovable. Not relevant for setters. */
62081 : false, /* isEliminatable. Not relevant for setters. */
62082 : false, /* isAlwaysInSlot. Only relevant for getters. */
62083 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62084 : false, /* isTypedMethod. Only relevant for methods. */
62085 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62086 : };
62087 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62088 : static_assert(0 < 1, "There is no slot for us");
62089 : static const JSJitInfo _webkit_align_content_setterinfo = {
62090 : { (JSJitGetterOp)set__webkit_align_content },
62091 : { prototypes::id::CSS2Properties },
62092 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62093 : JSJitInfo::Setter,
62094 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62095 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
62096 : false, /* isInfallible. False in setters. */
62097 : false, /* isMovable. Not relevant for setters. */
62098 : false, /* isEliminatable. Not relevant for setters. */
62099 : false, /* isAlwaysInSlot. Only relevant for getters. */
62100 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62101 : false, /* isTypedMethod. Only relevant for methods. */
62102 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62103 : };
62104 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62105 : static_assert(0 < 1, "There is no slot for us");
62106 :
62107 : static bool
62108 0 : get_WebkitUserSelect(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
62109 : {
62110 0 : binding_detail::FastErrorResult rv;
62111 0 : DOMString result;
62112 0 : self->GetWebkitUserSelect(result, rv);
62113 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62114 0 : return false;
62115 : }
62116 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62117 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
62118 0 : return false;
62119 : }
62120 0 : return true;
62121 : }
62122 :
62123 : static bool
62124 0 : set_WebkitUserSelect(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
62125 : {
62126 0 : binding_detail::FakeString arg0;
62127 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
62128 0 : return false;
62129 : }
62130 0 : binding_detail::FastErrorResult rv;
62131 0 : self->SetWebkitUserSelect(NonNullHelper(Constify(arg0)), rv);
62132 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62133 0 : return false;
62134 : }
62135 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62136 :
62137 0 : return true;
62138 : }
62139 :
62140 : static const JSJitInfo WebkitUserSelect_getterinfo = {
62141 : { (JSJitGetterOp)get_WebkitUserSelect },
62142 : { prototypes::id::CSS2Properties },
62143 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62144 : JSJitInfo::Getter,
62145 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62146 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
62147 : false, /* isInfallible. False in setters. */
62148 : false, /* isMovable. Not relevant for setters. */
62149 : false, /* isEliminatable. Not relevant for setters. */
62150 : false, /* isAlwaysInSlot. Only relevant for getters. */
62151 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62152 : false, /* isTypedMethod. Only relevant for methods. */
62153 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62154 : };
62155 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62156 : static_assert(0 < 1, "There is no slot for us");
62157 : static const JSJitInfo WebkitUserSelect_setterinfo = {
62158 : { (JSJitGetterOp)set_WebkitUserSelect },
62159 : { prototypes::id::CSS2Properties },
62160 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62161 : JSJitInfo::Setter,
62162 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62163 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
62164 : false, /* isInfallible. False in setters. */
62165 : false, /* isMovable. Not relevant for setters. */
62166 : false, /* isEliminatable. Not relevant for setters. */
62167 : false, /* isAlwaysInSlot. Only relevant for getters. */
62168 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62169 : false, /* isTypedMethod. Only relevant for methods. */
62170 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62171 : };
62172 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62173 : static_assert(0 < 1, "There is no slot for us");
62174 :
62175 : static bool
62176 0 : get_webkitUserSelect(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
62177 : {
62178 0 : binding_detail::FastErrorResult rv;
62179 0 : DOMString result;
62180 0 : self->GetWebkitUserSelect(result, rv);
62181 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62182 0 : return false;
62183 : }
62184 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62185 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
62186 0 : return false;
62187 : }
62188 0 : return true;
62189 : }
62190 :
62191 : static bool
62192 0 : set_webkitUserSelect(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
62193 : {
62194 0 : binding_detail::FakeString arg0;
62195 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
62196 0 : return false;
62197 : }
62198 0 : binding_detail::FastErrorResult rv;
62199 0 : self->SetWebkitUserSelect(NonNullHelper(Constify(arg0)), rv);
62200 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62201 0 : return false;
62202 : }
62203 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62204 :
62205 0 : return true;
62206 : }
62207 :
62208 : static const JSJitInfo webkitUserSelect_getterinfo = {
62209 : { (JSJitGetterOp)get_webkitUserSelect },
62210 : { prototypes::id::CSS2Properties },
62211 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62212 : JSJitInfo::Getter,
62213 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62214 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
62215 : false, /* isInfallible. False in setters. */
62216 : false, /* isMovable. Not relevant for setters. */
62217 : false, /* isEliminatable. Not relevant for setters. */
62218 : false, /* isAlwaysInSlot. Only relevant for getters. */
62219 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62220 : false, /* isTypedMethod. Only relevant for methods. */
62221 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62222 : };
62223 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62224 : static_assert(0 < 1, "There is no slot for us");
62225 : static const JSJitInfo webkitUserSelect_setterinfo = {
62226 : { (JSJitGetterOp)set_webkitUserSelect },
62227 : { prototypes::id::CSS2Properties },
62228 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62229 : JSJitInfo::Setter,
62230 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62231 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
62232 : false, /* isInfallible. False in setters. */
62233 : false, /* isMovable. Not relevant for setters. */
62234 : false, /* isEliminatable. Not relevant for setters. */
62235 : false, /* isAlwaysInSlot. Only relevant for getters. */
62236 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62237 : false, /* isTypedMethod. Only relevant for methods. */
62238 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62239 : };
62240 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62241 : static_assert(0 < 1, "There is no slot for us");
62242 :
62243 : static bool
62244 0 : get__webkit_user_select(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
62245 : {
62246 0 : binding_detail::FastErrorResult rv;
62247 0 : DOMString result;
62248 0 : self->GetWebkitUserSelect(result, rv);
62249 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62250 0 : return false;
62251 : }
62252 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62253 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
62254 0 : return false;
62255 : }
62256 0 : return true;
62257 : }
62258 :
62259 : static bool
62260 0 : set__webkit_user_select(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
62261 : {
62262 0 : binding_detail::FakeString arg0;
62263 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
62264 0 : return false;
62265 : }
62266 0 : binding_detail::FastErrorResult rv;
62267 0 : self->SetWebkitUserSelect(NonNullHelper(Constify(arg0)), rv);
62268 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62269 0 : return false;
62270 : }
62271 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62272 :
62273 0 : return true;
62274 : }
62275 :
62276 : static const JSJitInfo _webkit_user_select_getterinfo = {
62277 : { (JSJitGetterOp)get__webkit_user_select },
62278 : { prototypes::id::CSS2Properties },
62279 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62280 : JSJitInfo::Getter,
62281 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62282 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
62283 : false, /* isInfallible. False in setters. */
62284 : false, /* isMovable. Not relevant for setters. */
62285 : false, /* isEliminatable. Not relevant for setters. */
62286 : false, /* isAlwaysInSlot. Only relevant for getters. */
62287 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62288 : false, /* isTypedMethod. Only relevant for methods. */
62289 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62290 : };
62291 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62292 : static_assert(0 < 1, "There is no slot for us");
62293 : static const JSJitInfo _webkit_user_select_setterinfo = {
62294 : { (JSJitGetterOp)set__webkit_user_select },
62295 : { prototypes::id::CSS2Properties },
62296 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62297 : JSJitInfo::Setter,
62298 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62299 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
62300 : false, /* isInfallible. False in setters. */
62301 : false, /* isMovable. Not relevant for setters. */
62302 : false, /* isEliminatable. Not relevant for setters. */
62303 : false, /* isAlwaysInSlot. Only relevant for getters. */
62304 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62305 : false, /* isTypedMethod. Only relevant for methods. */
62306 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62307 : };
62308 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62309 : static_assert(0 < 1, "There is no slot for us");
62310 :
62311 : static bool
62312 0 : get_WebkitMask(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
62313 : {
62314 0 : binding_detail::FastErrorResult rv;
62315 0 : DOMString result;
62316 0 : self->GetWebkitMask(result, rv);
62317 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62318 0 : return false;
62319 : }
62320 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62321 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
62322 0 : return false;
62323 : }
62324 0 : return true;
62325 : }
62326 :
62327 : static bool
62328 0 : set_WebkitMask(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
62329 : {
62330 0 : binding_detail::FakeString arg0;
62331 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
62332 0 : return false;
62333 : }
62334 0 : binding_detail::FastErrorResult rv;
62335 0 : self->SetWebkitMask(NonNullHelper(Constify(arg0)), rv);
62336 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62337 0 : return false;
62338 : }
62339 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62340 :
62341 0 : return true;
62342 : }
62343 :
62344 : static const JSJitInfo WebkitMask_getterinfo = {
62345 : { (JSJitGetterOp)get_WebkitMask },
62346 : { prototypes::id::CSS2Properties },
62347 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62348 : JSJitInfo::Getter,
62349 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62350 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
62351 : false, /* isInfallible. False in setters. */
62352 : false, /* isMovable. Not relevant for setters. */
62353 : false, /* isEliminatable. Not relevant for setters. */
62354 : false, /* isAlwaysInSlot. Only relevant for getters. */
62355 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62356 : false, /* isTypedMethod. Only relevant for methods. */
62357 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62358 : };
62359 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62360 : static_assert(0 < 1, "There is no slot for us");
62361 : static const JSJitInfo WebkitMask_setterinfo = {
62362 : { (JSJitGetterOp)set_WebkitMask },
62363 : { prototypes::id::CSS2Properties },
62364 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62365 : JSJitInfo::Setter,
62366 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62367 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
62368 : false, /* isInfallible. False in setters. */
62369 : false, /* isMovable. Not relevant for setters. */
62370 : false, /* isEliminatable. Not relevant for setters. */
62371 : false, /* isAlwaysInSlot. Only relevant for getters. */
62372 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62373 : false, /* isTypedMethod. Only relevant for methods. */
62374 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62375 : };
62376 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62377 : static_assert(0 < 1, "There is no slot for us");
62378 :
62379 : static bool
62380 0 : get_webkitMask(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
62381 : {
62382 0 : binding_detail::FastErrorResult rv;
62383 0 : DOMString result;
62384 0 : self->GetWebkitMask(result, rv);
62385 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62386 0 : return false;
62387 : }
62388 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62389 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
62390 0 : return false;
62391 : }
62392 0 : return true;
62393 : }
62394 :
62395 : static bool
62396 0 : set_webkitMask(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
62397 : {
62398 0 : binding_detail::FakeString arg0;
62399 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
62400 0 : return false;
62401 : }
62402 0 : binding_detail::FastErrorResult rv;
62403 0 : self->SetWebkitMask(NonNullHelper(Constify(arg0)), rv);
62404 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62405 0 : return false;
62406 : }
62407 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62408 :
62409 0 : return true;
62410 : }
62411 :
62412 : static const JSJitInfo webkitMask_getterinfo = {
62413 : { (JSJitGetterOp)get_webkitMask },
62414 : { prototypes::id::CSS2Properties },
62415 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62416 : JSJitInfo::Getter,
62417 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62418 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
62419 : false, /* isInfallible. False in setters. */
62420 : false, /* isMovable. Not relevant for setters. */
62421 : false, /* isEliminatable. Not relevant for setters. */
62422 : false, /* isAlwaysInSlot. Only relevant for getters. */
62423 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62424 : false, /* isTypedMethod. Only relevant for methods. */
62425 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62426 : };
62427 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62428 : static_assert(0 < 1, "There is no slot for us");
62429 : static const JSJitInfo webkitMask_setterinfo = {
62430 : { (JSJitGetterOp)set_webkitMask },
62431 : { prototypes::id::CSS2Properties },
62432 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62433 : JSJitInfo::Setter,
62434 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62435 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
62436 : false, /* isInfallible. False in setters. */
62437 : false, /* isMovable. Not relevant for setters. */
62438 : false, /* isEliminatable. Not relevant for setters. */
62439 : false, /* isAlwaysInSlot. Only relevant for getters. */
62440 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62441 : false, /* isTypedMethod. Only relevant for methods. */
62442 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62443 : };
62444 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62445 : static_assert(0 < 1, "There is no slot for us");
62446 :
62447 : static bool
62448 0 : get__webkit_mask(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
62449 : {
62450 0 : binding_detail::FastErrorResult rv;
62451 0 : DOMString result;
62452 0 : self->GetWebkitMask(result, rv);
62453 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62454 0 : return false;
62455 : }
62456 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62457 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
62458 0 : return false;
62459 : }
62460 0 : return true;
62461 : }
62462 :
62463 : static bool
62464 0 : set__webkit_mask(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
62465 : {
62466 0 : binding_detail::FakeString arg0;
62467 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
62468 0 : return false;
62469 : }
62470 0 : binding_detail::FastErrorResult rv;
62471 0 : self->SetWebkitMask(NonNullHelper(Constify(arg0)), rv);
62472 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62473 0 : return false;
62474 : }
62475 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62476 :
62477 0 : return true;
62478 : }
62479 :
62480 : static const JSJitInfo _webkit_mask_getterinfo = {
62481 : { (JSJitGetterOp)get__webkit_mask },
62482 : { prototypes::id::CSS2Properties },
62483 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62484 : JSJitInfo::Getter,
62485 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62486 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
62487 : false, /* isInfallible. False in setters. */
62488 : false, /* isMovable. Not relevant for setters. */
62489 : false, /* isEliminatable. Not relevant for setters. */
62490 : false, /* isAlwaysInSlot. Only relevant for getters. */
62491 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62492 : false, /* isTypedMethod. Only relevant for methods. */
62493 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62494 : };
62495 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62496 : static_assert(0 < 1, "There is no slot for us");
62497 : static const JSJitInfo _webkit_mask_setterinfo = {
62498 : { (JSJitGetterOp)set__webkit_mask },
62499 : { prototypes::id::CSS2Properties },
62500 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62501 : JSJitInfo::Setter,
62502 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62503 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
62504 : false, /* isInfallible. False in setters. */
62505 : false, /* isMovable. Not relevant for setters. */
62506 : false, /* isEliminatable. Not relevant for setters. */
62507 : false, /* isAlwaysInSlot. Only relevant for getters. */
62508 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62509 : false, /* isTypedMethod. Only relevant for methods. */
62510 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62511 : };
62512 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62513 : static_assert(0 < 1, "There is no slot for us");
62514 :
62515 : static bool
62516 0 : get_WebkitMaskClip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
62517 : {
62518 0 : binding_detail::FastErrorResult rv;
62519 0 : DOMString result;
62520 0 : self->GetWebkitMaskClip(result, rv);
62521 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62522 0 : return false;
62523 : }
62524 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62525 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
62526 0 : return false;
62527 : }
62528 0 : return true;
62529 : }
62530 :
62531 : static bool
62532 0 : set_WebkitMaskClip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
62533 : {
62534 0 : binding_detail::FakeString arg0;
62535 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
62536 0 : return false;
62537 : }
62538 0 : binding_detail::FastErrorResult rv;
62539 0 : self->SetWebkitMaskClip(NonNullHelper(Constify(arg0)), rv);
62540 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62541 0 : return false;
62542 : }
62543 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62544 :
62545 0 : return true;
62546 : }
62547 :
62548 : static const JSJitInfo WebkitMaskClip_getterinfo = {
62549 : { (JSJitGetterOp)get_WebkitMaskClip },
62550 : { prototypes::id::CSS2Properties },
62551 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62552 : JSJitInfo::Getter,
62553 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62554 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
62555 : false, /* isInfallible. False in setters. */
62556 : false, /* isMovable. Not relevant for setters. */
62557 : false, /* isEliminatable. Not relevant for setters. */
62558 : false, /* isAlwaysInSlot. Only relevant for getters. */
62559 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62560 : false, /* isTypedMethod. Only relevant for methods. */
62561 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62562 : };
62563 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62564 : static_assert(0 < 1, "There is no slot for us");
62565 : static const JSJitInfo WebkitMaskClip_setterinfo = {
62566 : { (JSJitGetterOp)set_WebkitMaskClip },
62567 : { prototypes::id::CSS2Properties },
62568 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62569 : JSJitInfo::Setter,
62570 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62571 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
62572 : false, /* isInfallible. False in setters. */
62573 : false, /* isMovable. Not relevant for setters. */
62574 : false, /* isEliminatable. Not relevant for setters. */
62575 : false, /* isAlwaysInSlot. Only relevant for getters. */
62576 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62577 : false, /* isTypedMethod. Only relevant for methods. */
62578 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62579 : };
62580 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62581 : static_assert(0 < 1, "There is no slot for us");
62582 :
62583 : static bool
62584 0 : get_webkitMaskClip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
62585 : {
62586 0 : binding_detail::FastErrorResult rv;
62587 0 : DOMString result;
62588 0 : self->GetWebkitMaskClip(result, rv);
62589 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62590 0 : return false;
62591 : }
62592 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62593 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
62594 0 : return false;
62595 : }
62596 0 : return true;
62597 : }
62598 :
62599 : static bool
62600 0 : set_webkitMaskClip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
62601 : {
62602 0 : binding_detail::FakeString arg0;
62603 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
62604 0 : return false;
62605 : }
62606 0 : binding_detail::FastErrorResult rv;
62607 0 : self->SetWebkitMaskClip(NonNullHelper(Constify(arg0)), rv);
62608 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62609 0 : return false;
62610 : }
62611 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62612 :
62613 0 : return true;
62614 : }
62615 :
62616 : static const JSJitInfo webkitMaskClip_getterinfo = {
62617 : { (JSJitGetterOp)get_webkitMaskClip },
62618 : { prototypes::id::CSS2Properties },
62619 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62620 : JSJitInfo::Getter,
62621 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62622 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
62623 : false, /* isInfallible. False in setters. */
62624 : false, /* isMovable. Not relevant for setters. */
62625 : false, /* isEliminatable. Not relevant for setters. */
62626 : false, /* isAlwaysInSlot. Only relevant for getters. */
62627 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62628 : false, /* isTypedMethod. Only relevant for methods. */
62629 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62630 : };
62631 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62632 : static_assert(0 < 1, "There is no slot for us");
62633 : static const JSJitInfo webkitMaskClip_setterinfo = {
62634 : { (JSJitGetterOp)set_webkitMaskClip },
62635 : { prototypes::id::CSS2Properties },
62636 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62637 : JSJitInfo::Setter,
62638 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62639 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
62640 : false, /* isInfallible. False in setters. */
62641 : false, /* isMovable. Not relevant for setters. */
62642 : false, /* isEliminatable. Not relevant for setters. */
62643 : false, /* isAlwaysInSlot. Only relevant for getters. */
62644 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62645 : false, /* isTypedMethod. Only relevant for methods. */
62646 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62647 : };
62648 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62649 : static_assert(0 < 1, "There is no slot for us");
62650 :
62651 : static bool
62652 0 : get__webkit_mask_clip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
62653 : {
62654 0 : binding_detail::FastErrorResult rv;
62655 0 : DOMString result;
62656 0 : self->GetWebkitMaskClip(result, rv);
62657 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62658 0 : return false;
62659 : }
62660 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62661 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
62662 0 : return false;
62663 : }
62664 0 : return true;
62665 : }
62666 :
62667 : static bool
62668 0 : set__webkit_mask_clip(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
62669 : {
62670 0 : binding_detail::FakeString arg0;
62671 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
62672 0 : return false;
62673 : }
62674 0 : binding_detail::FastErrorResult rv;
62675 0 : self->SetWebkitMaskClip(NonNullHelper(Constify(arg0)), rv);
62676 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62677 0 : return false;
62678 : }
62679 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62680 :
62681 0 : return true;
62682 : }
62683 :
62684 : static const JSJitInfo _webkit_mask_clip_getterinfo = {
62685 : { (JSJitGetterOp)get__webkit_mask_clip },
62686 : { prototypes::id::CSS2Properties },
62687 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62688 : JSJitInfo::Getter,
62689 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62690 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
62691 : false, /* isInfallible. False in setters. */
62692 : false, /* isMovable. Not relevant for setters. */
62693 : false, /* isEliminatable. Not relevant for setters. */
62694 : false, /* isAlwaysInSlot. Only relevant for getters. */
62695 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62696 : false, /* isTypedMethod. Only relevant for methods. */
62697 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62698 : };
62699 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62700 : static_assert(0 < 1, "There is no slot for us");
62701 : static const JSJitInfo _webkit_mask_clip_setterinfo = {
62702 : { (JSJitGetterOp)set__webkit_mask_clip },
62703 : { prototypes::id::CSS2Properties },
62704 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62705 : JSJitInfo::Setter,
62706 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62707 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
62708 : false, /* isInfallible. False in setters. */
62709 : false, /* isMovable. Not relevant for setters. */
62710 : false, /* isEliminatable. Not relevant for setters. */
62711 : false, /* isAlwaysInSlot. Only relevant for getters. */
62712 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62713 : false, /* isTypedMethod. Only relevant for methods. */
62714 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62715 : };
62716 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62717 : static_assert(0 < 1, "There is no slot for us");
62718 :
62719 : static bool
62720 0 : get_WebkitMaskComposite(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
62721 : {
62722 0 : binding_detail::FastErrorResult rv;
62723 0 : DOMString result;
62724 0 : self->GetWebkitMaskComposite(result, rv);
62725 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62726 0 : return false;
62727 : }
62728 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62729 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
62730 0 : return false;
62731 : }
62732 0 : return true;
62733 : }
62734 :
62735 : static bool
62736 0 : set_WebkitMaskComposite(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
62737 : {
62738 0 : binding_detail::FakeString arg0;
62739 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
62740 0 : return false;
62741 : }
62742 0 : binding_detail::FastErrorResult rv;
62743 0 : self->SetWebkitMaskComposite(NonNullHelper(Constify(arg0)), rv);
62744 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62745 0 : return false;
62746 : }
62747 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62748 :
62749 0 : return true;
62750 : }
62751 :
62752 : static const JSJitInfo WebkitMaskComposite_getterinfo = {
62753 : { (JSJitGetterOp)get_WebkitMaskComposite },
62754 : { prototypes::id::CSS2Properties },
62755 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62756 : JSJitInfo::Getter,
62757 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62758 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
62759 : false, /* isInfallible. False in setters. */
62760 : false, /* isMovable. Not relevant for setters. */
62761 : false, /* isEliminatable. Not relevant for setters. */
62762 : false, /* isAlwaysInSlot. Only relevant for getters. */
62763 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62764 : false, /* isTypedMethod. Only relevant for methods. */
62765 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62766 : };
62767 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62768 : static_assert(0 < 1, "There is no slot for us");
62769 : static const JSJitInfo WebkitMaskComposite_setterinfo = {
62770 : { (JSJitGetterOp)set_WebkitMaskComposite },
62771 : { prototypes::id::CSS2Properties },
62772 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62773 : JSJitInfo::Setter,
62774 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62775 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
62776 : false, /* isInfallible. False in setters. */
62777 : false, /* isMovable. Not relevant for setters. */
62778 : false, /* isEliminatable. Not relevant for setters. */
62779 : false, /* isAlwaysInSlot. Only relevant for getters. */
62780 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62781 : false, /* isTypedMethod. Only relevant for methods. */
62782 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62783 : };
62784 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62785 : static_assert(0 < 1, "There is no slot for us");
62786 :
62787 : static bool
62788 0 : get_webkitMaskComposite(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
62789 : {
62790 0 : binding_detail::FastErrorResult rv;
62791 0 : DOMString result;
62792 0 : self->GetWebkitMaskComposite(result, rv);
62793 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62794 0 : return false;
62795 : }
62796 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62797 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
62798 0 : return false;
62799 : }
62800 0 : return true;
62801 : }
62802 :
62803 : static bool
62804 0 : set_webkitMaskComposite(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
62805 : {
62806 0 : binding_detail::FakeString arg0;
62807 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
62808 0 : return false;
62809 : }
62810 0 : binding_detail::FastErrorResult rv;
62811 0 : self->SetWebkitMaskComposite(NonNullHelper(Constify(arg0)), rv);
62812 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62813 0 : return false;
62814 : }
62815 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62816 :
62817 0 : return true;
62818 : }
62819 :
62820 : static const JSJitInfo webkitMaskComposite_getterinfo = {
62821 : { (JSJitGetterOp)get_webkitMaskComposite },
62822 : { prototypes::id::CSS2Properties },
62823 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62824 : JSJitInfo::Getter,
62825 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62826 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
62827 : false, /* isInfallible. False in setters. */
62828 : false, /* isMovable. Not relevant for setters. */
62829 : false, /* isEliminatable. Not relevant for setters. */
62830 : false, /* isAlwaysInSlot. Only relevant for getters. */
62831 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62832 : false, /* isTypedMethod. Only relevant for methods. */
62833 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62834 : };
62835 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62836 : static_assert(0 < 1, "There is no slot for us");
62837 : static const JSJitInfo webkitMaskComposite_setterinfo = {
62838 : { (JSJitGetterOp)set_webkitMaskComposite },
62839 : { prototypes::id::CSS2Properties },
62840 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62841 : JSJitInfo::Setter,
62842 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62843 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
62844 : false, /* isInfallible. False in setters. */
62845 : false, /* isMovable. Not relevant for setters. */
62846 : false, /* isEliminatable. Not relevant for setters. */
62847 : false, /* isAlwaysInSlot. Only relevant for getters. */
62848 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62849 : false, /* isTypedMethod. Only relevant for methods. */
62850 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62851 : };
62852 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62853 : static_assert(0 < 1, "There is no slot for us");
62854 :
62855 : static bool
62856 0 : get__webkit_mask_composite(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
62857 : {
62858 0 : binding_detail::FastErrorResult rv;
62859 0 : DOMString result;
62860 0 : self->GetWebkitMaskComposite(result, rv);
62861 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62862 0 : return false;
62863 : }
62864 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62865 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
62866 0 : return false;
62867 : }
62868 0 : return true;
62869 : }
62870 :
62871 : static bool
62872 0 : set__webkit_mask_composite(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
62873 : {
62874 0 : binding_detail::FakeString arg0;
62875 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
62876 0 : return false;
62877 : }
62878 0 : binding_detail::FastErrorResult rv;
62879 0 : self->SetWebkitMaskComposite(NonNullHelper(Constify(arg0)), rv);
62880 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62881 0 : return false;
62882 : }
62883 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62884 :
62885 0 : return true;
62886 : }
62887 :
62888 : static const JSJitInfo _webkit_mask_composite_getterinfo = {
62889 : { (JSJitGetterOp)get__webkit_mask_composite },
62890 : { prototypes::id::CSS2Properties },
62891 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62892 : JSJitInfo::Getter,
62893 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62894 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
62895 : false, /* isInfallible. False in setters. */
62896 : false, /* isMovable. Not relevant for setters. */
62897 : false, /* isEliminatable. Not relevant for setters. */
62898 : false, /* isAlwaysInSlot. Only relevant for getters. */
62899 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62900 : false, /* isTypedMethod. Only relevant for methods. */
62901 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62902 : };
62903 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62904 : static_assert(0 < 1, "There is no slot for us");
62905 : static const JSJitInfo _webkit_mask_composite_setterinfo = {
62906 : { (JSJitGetterOp)set__webkit_mask_composite },
62907 : { prototypes::id::CSS2Properties },
62908 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62909 : JSJitInfo::Setter,
62910 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62911 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
62912 : false, /* isInfallible. False in setters. */
62913 : false, /* isMovable. Not relevant for setters. */
62914 : false, /* isEliminatable. Not relevant for setters. */
62915 : false, /* isAlwaysInSlot. Only relevant for getters. */
62916 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62917 : false, /* isTypedMethod. Only relevant for methods. */
62918 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62919 : };
62920 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62921 : static_assert(0 < 1, "There is no slot for us");
62922 :
62923 : static bool
62924 0 : get_WebkitMaskImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
62925 : {
62926 0 : binding_detail::FastErrorResult rv;
62927 0 : DOMString result;
62928 0 : self->GetWebkitMaskImage(result, rv);
62929 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62930 0 : return false;
62931 : }
62932 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62933 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
62934 0 : return false;
62935 : }
62936 0 : return true;
62937 : }
62938 :
62939 : static bool
62940 0 : set_WebkitMaskImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
62941 : {
62942 0 : binding_detail::FakeString arg0;
62943 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
62944 0 : return false;
62945 : }
62946 0 : binding_detail::FastErrorResult rv;
62947 0 : self->SetWebkitMaskImage(NonNullHelper(Constify(arg0)), rv);
62948 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62949 0 : return false;
62950 : }
62951 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
62952 :
62953 0 : return true;
62954 : }
62955 :
62956 : static const JSJitInfo WebkitMaskImage_getterinfo = {
62957 : { (JSJitGetterOp)get_WebkitMaskImage },
62958 : { prototypes::id::CSS2Properties },
62959 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62960 : JSJitInfo::Getter,
62961 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62962 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
62963 : false, /* isInfallible. False in setters. */
62964 : false, /* isMovable. Not relevant for setters. */
62965 : false, /* isEliminatable. Not relevant for setters. */
62966 : false, /* isAlwaysInSlot. Only relevant for getters. */
62967 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62968 : false, /* isTypedMethod. Only relevant for methods. */
62969 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62970 : };
62971 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62972 : static_assert(0 < 1, "There is no slot for us");
62973 : static const JSJitInfo WebkitMaskImage_setterinfo = {
62974 : { (JSJitGetterOp)set_WebkitMaskImage },
62975 : { prototypes::id::CSS2Properties },
62976 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
62977 : JSJitInfo::Setter,
62978 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
62979 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
62980 : false, /* isInfallible. False in setters. */
62981 : false, /* isMovable. Not relevant for setters. */
62982 : false, /* isEliminatable. Not relevant for setters. */
62983 : false, /* isAlwaysInSlot. Only relevant for getters. */
62984 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
62985 : false, /* isTypedMethod. Only relevant for methods. */
62986 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
62987 : };
62988 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
62989 : static_assert(0 < 1, "There is no slot for us");
62990 :
62991 : static bool
62992 0 : get_webkitMaskImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
62993 : {
62994 0 : binding_detail::FastErrorResult rv;
62995 0 : DOMString result;
62996 0 : self->GetWebkitMaskImage(result, rv);
62997 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
62998 0 : return false;
62999 : }
63000 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63001 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
63002 0 : return false;
63003 : }
63004 0 : return true;
63005 : }
63006 :
63007 : static bool
63008 0 : set_webkitMaskImage(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
63009 : {
63010 0 : binding_detail::FakeString arg0;
63011 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
63012 0 : return false;
63013 : }
63014 0 : binding_detail::FastErrorResult rv;
63015 0 : self->SetWebkitMaskImage(NonNullHelper(Constify(arg0)), rv);
63016 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63017 0 : return false;
63018 : }
63019 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63020 :
63021 0 : return true;
63022 : }
63023 :
63024 : static const JSJitInfo webkitMaskImage_getterinfo = {
63025 : { (JSJitGetterOp)get_webkitMaskImage },
63026 : { prototypes::id::CSS2Properties },
63027 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63028 : JSJitInfo::Getter,
63029 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63030 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63031 : false, /* isInfallible. False in setters. */
63032 : false, /* isMovable. Not relevant for setters. */
63033 : false, /* isEliminatable. Not relevant for setters. */
63034 : false, /* isAlwaysInSlot. Only relevant for getters. */
63035 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63036 : false, /* isTypedMethod. Only relevant for methods. */
63037 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63038 : };
63039 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63040 : static_assert(0 < 1, "There is no slot for us");
63041 : static const JSJitInfo webkitMaskImage_setterinfo = {
63042 : { (JSJitGetterOp)set_webkitMaskImage },
63043 : { prototypes::id::CSS2Properties },
63044 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63045 : JSJitInfo::Setter,
63046 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63047 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
63048 : false, /* isInfallible. False in setters. */
63049 : false, /* isMovable. Not relevant for setters. */
63050 : false, /* isEliminatable. Not relevant for setters. */
63051 : false, /* isAlwaysInSlot. Only relevant for getters. */
63052 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63053 : false, /* isTypedMethod. Only relevant for methods. */
63054 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63055 : };
63056 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63057 : static_assert(0 < 1, "There is no slot for us");
63058 :
63059 : static bool
63060 0 : get__webkit_mask_image(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
63061 : {
63062 0 : binding_detail::FastErrorResult rv;
63063 0 : DOMString result;
63064 0 : self->GetWebkitMaskImage(result, rv);
63065 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63066 0 : return false;
63067 : }
63068 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63069 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
63070 0 : return false;
63071 : }
63072 0 : return true;
63073 : }
63074 :
63075 : static bool
63076 0 : set__webkit_mask_image(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
63077 : {
63078 0 : binding_detail::FakeString arg0;
63079 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
63080 0 : return false;
63081 : }
63082 0 : binding_detail::FastErrorResult rv;
63083 0 : self->SetWebkitMaskImage(NonNullHelper(Constify(arg0)), rv);
63084 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63085 0 : return false;
63086 : }
63087 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63088 :
63089 0 : return true;
63090 : }
63091 :
63092 : static const JSJitInfo _webkit_mask_image_getterinfo = {
63093 : { (JSJitGetterOp)get__webkit_mask_image },
63094 : { prototypes::id::CSS2Properties },
63095 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63096 : JSJitInfo::Getter,
63097 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63098 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63099 : false, /* isInfallible. False in setters. */
63100 : false, /* isMovable. Not relevant for setters. */
63101 : false, /* isEliminatable. Not relevant for setters. */
63102 : false, /* isAlwaysInSlot. Only relevant for getters. */
63103 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63104 : false, /* isTypedMethod. Only relevant for methods. */
63105 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63106 : };
63107 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63108 : static_assert(0 < 1, "There is no slot for us");
63109 : static const JSJitInfo _webkit_mask_image_setterinfo = {
63110 : { (JSJitGetterOp)set__webkit_mask_image },
63111 : { prototypes::id::CSS2Properties },
63112 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63113 : JSJitInfo::Setter,
63114 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63115 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
63116 : false, /* isInfallible. False in setters. */
63117 : false, /* isMovable. Not relevant for setters. */
63118 : false, /* isEliminatable. Not relevant for setters. */
63119 : false, /* isAlwaysInSlot. Only relevant for getters. */
63120 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63121 : false, /* isTypedMethod. Only relevant for methods. */
63122 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63123 : };
63124 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63125 : static_assert(0 < 1, "There is no slot for us");
63126 :
63127 : static bool
63128 0 : get_WebkitMaskOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
63129 : {
63130 0 : binding_detail::FastErrorResult rv;
63131 0 : DOMString result;
63132 0 : self->GetWebkitMaskOrigin(result, rv);
63133 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63134 0 : return false;
63135 : }
63136 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63137 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
63138 0 : return false;
63139 : }
63140 0 : return true;
63141 : }
63142 :
63143 : static bool
63144 0 : set_WebkitMaskOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
63145 : {
63146 0 : binding_detail::FakeString arg0;
63147 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
63148 0 : return false;
63149 : }
63150 0 : binding_detail::FastErrorResult rv;
63151 0 : self->SetWebkitMaskOrigin(NonNullHelper(Constify(arg0)), rv);
63152 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63153 0 : return false;
63154 : }
63155 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63156 :
63157 0 : return true;
63158 : }
63159 :
63160 : static const JSJitInfo WebkitMaskOrigin_getterinfo = {
63161 : { (JSJitGetterOp)get_WebkitMaskOrigin },
63162 : { prototypes::id::CSS2Properties },
63163 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63164 : JSJitInfo::Getter,
63165 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63166 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63167 : false, /* isInfallible. False in setters. */
63168 : false, /* isMovable. Not relevant for setters. */
63169 : false, /* isEliminatable. Not relevant for setters. */
63170 : false, /* isAlwaysInSlot. Only relevant for getters. */
63171 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63172 : false, /* isTypedMethod. Only relevant for methods. */
63173 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63174 : };
63175 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63176 : static_assert(0 < 1, "There is no slot for us");
63177 : static const JSJitInfo WebkitMaskOrigin_setterinfo = {
63178 : { (JSJitGetterOp)set_WebkitMaskOrigin },
63179 : { prototypes::id::CSS2Properties },
63180 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63181 : JSJitInfo::Setter,
63182 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63183 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
63184 : false, /* isInfallible. False in setters. */
63185 : false, /* isMovable. Not relevant for setters. */
63186 : false, /* isEliminatable. Not relevant for setters. */
63187 : false, /* isAlwaysInSlot. Only relevant for getters. */
63188 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63189 : false, /* isTypedMethod. Only relevant for methods. */
63190 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63191 : };
63192 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63193 : static_assert(0 < 1, "There is no slot for us");
63194 :
63195 : static bool
63196 0 : get_webkitMaskOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
63197 : {
63198 0 : binding_detail::FastErrorResult rv;
63199 0 : DOMString result;
63200 0 : self->GetWebkitMaskOrigin(result, rv);
63201 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63202 0 : return false;
63203 : }
63204 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63205 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
63206 0 : return false;
63207 : }
63208 0 : return true;
63209 : }
63210 :
63211 : static bool
63212 0 : set_webkitMaskOrigin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
63213 : {
63214 0 : binding_detail::FakeString arg0;
63215 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
63216 0 : return false;
63217 : }
63218 0 : binding_detail::FastErrorResult rv;
63219 0 : self->SetWebkitMaskOrigin(NonNullHelper(Constify(arg0)), rv);
63220 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63221 0 : return false;
63222 : }
63223 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63224 :
63225 0 : return true;
63226 : }
63227 :
63228 : static const JSJitInfo webkitMaskOrigin_getterinfo = {
63229 : { (JSJitGetterOp)get_webkitMaskOrigin },
63230 : { prototypes::id::CSS2Properties },
63231 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63232 : JSJitInfo::Getter,
63233 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63234 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63235 : false, /* isInfallible. False in setters. */
63236 : false, /* isMovable. Not relevant for setters. */
63237 : false, /* isEliminatable. Not relevant for setters. */
63238 : false, /* isAlwaysInSlot. Only relevant for getters. */
63239 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63240 : false, /* isTypedMethod. Only relevant for methods. */
63241 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63242 : };
63243 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63244 : static_assert(0 < 1, "There is no slot for us");
63245 : static const JSJitInfo webkitMaskOrigin_setterinfo = {
63246 : { (JSJitGetterOp)set_webkitMaskOrigin },
63247 : { prototypes::id::CSS2Properties },
63248 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63249 : JSJitInfo::Setter,
63250 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63251 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
63252 : false, /* isInfallible. False in setters. */
63253 : false, /* isMovable. Not relevant for setters. */
63254 : false, /* isEliminatable. Not relevant for setters. */
63255 : false, /* isAlwaysInSlot. Only relevant for getters. */
63256 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63257 : false, /* isTypedMethod. Only relevant for methods. */
63258 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63259 : };
63260 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63261 : static_assert(0 < 1, "There is no slot for us");
63262 :
63263 : static bool
63264 0 : get__webkit_mask_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
63265 : {
63266 0 : binding_detail::FastErrorResult rv;
63267 0 : DOMString result;
63268 0 : self->GetWebkitMaskOrigin(result, rv);
63269 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63270 0 : return false;
63271 : }
63272 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63273 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
63274 0 : return false;
63275 : }
63276 0 : return true;
63277 : }
63278 :
63279 : static bool
63280 0 : set__webkit_mask_origin(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
63281 : {
63282 0 : binding_detail::FakeString arg0;
63283 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
63284 0 : return false;
63285 : }
63286 0 : binding_detail::FastErrorResult rv;
63287 0 : self->SetWebkitMaskOrigin(NonNullHelper(Constify(arg0)), rv);
63288 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63289 0 : return false;
63290 : }
63291 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63292 :
63293 0 : return true;
63294 : }
63295 :
63296 : static const JSJitInfo _webkit_mask_origin_getterinfo = {
63297 : { (JSJitGetterOp)get__webkit_mask_origin },
63298 : { prototypes::id::CSS2Properties },
63299 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63300 : JSJitInfo::Getter,
63301 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63302 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63303 : false, /* isInfallible. False in setters. */
63304 : false, /* isMovable. Not relevant for setters. */
63305 : false, /* isEliminatable. Not relevant for setters. */
63306 : false, /* isAlwaysInSlot. Only relevant for getters. */
63307 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63308 : false, /* isTypedMethod. Only relevant for methods. */
63309 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63310 : };
63311 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63312 : static_assert(0 < 1, "There is no slot for us");
63313 : static const JSJitInfo _webkit_mask_origin_setterinfo = {
63314 : { (JSJitGetterOp)set__webkit_mask_origin },
63315 : { prototypes::id::CSS2Properties },
63316 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63317 : JSJitInfo::Setter,
63318 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63319 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
63320 : false, /* isInfallible. False in setters. */
63321 : false, /* isMovable. Not relevant for setters. */
63322 : false, /* isEliminatable. Not relevant for setters. */
63323 : false, /* isAlwaysInSlot. Only relevant for getters. */
63324 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63325 : false, /* isTypedMethod. Only relevant for methods. */
63326 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63327 : };
63328 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63329 : static_assert(0 < 1, "There is no slot for us");
63330 :
63331 : static bool
63332 0 : get_WebkitMaskPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
63333 : {
63334 0 : binding_detail::FastErrorResult rv;
63335 0 : DOMString result;
63336 0 : self->GetWebkitMaskPosition(result, rv);
63337 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63338 0 : return false;
63339 : }
63340 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63341 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
63342 0 : return false;
63343 : }
63344 0 : return true;
63345 : }
63346 :
63347 : static bool
63348 0 : set_WebkitMaskPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
63349 : {
63350 0 : binding_detail::FakeString arg0;
63351 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
63352 0 : return false;
63353 : }
63354 0 : binding_detail::FastErrorResult rv;
63355 0 : self->SetWebkitMaskPosition(NonNullHelper(Constify(arg0)), rv);
63356 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63357 0 : return false;
63358 : }
63359 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63360 :
63361 0 : return true;
63362 : }
63363 :
63364 : static const JSJitInfo WebkitMaskPosition_getterinfo = {
63365 : { (JSJitGetterOp)get_WebkitMaskPosition },
63366 : { prototypes::id::CSS2Properties },
63367 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63368 : JSJitInfo::Getter,
63369 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63370 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63371 : false, /* isInfallible. False in setters. */
63372 : false, /* isMovable. Not relevant for setters. */
63373 : false, /* isEliminatable. Not relevant for setters. */
63374 : false, /* isAlwaysInSlot. Only relevant for getters. */
63375 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63376 : false, /* isTypedMethod. Only relevant for methods. */
63377 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63378 : };
63379 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63380 : static_assert(0 < 1, "There is no slot for us");
63381 : static const JSJitInfo WebkitMaskPosition_setterinfo = {
63382 : { (JSJitGetterOp)set_WebkitMaskPosition },
63383 : { prototypes::id::CSS2Properties },
63384 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63385 : JSJitInfo::Setter,
63386 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63387 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
63388 : false, /* isInfallible. False in setters. */
63389 : false, /* isMovable. Not relevant for setters. */
63390 : false, /* isEliminatable. Not relevant for setters. */
63391 : false, /* isAlwaysInSlot. Only relevant for getters. */
63392 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63393 : false, /* isTypedMethod. Only relevant for methods. */
63394 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63395 : };
63396 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63397 : static_assert(0 < 1, "There is no slot for us");
63398 :
63399 : static bool
63400 0 : get_webkitMaskPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
63401 : {
63402 0 : binding_detail::FastErrorResult rv;
63403 0 : DOMString result;
63404 0 : self->GetWebkitMaskPosition(result, rv);
63405 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63406 0 : return false;
63407 : }
63408 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63409 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
63410 0 : return false;
63411 : }
63412 0 : return true;
63413 : }
63414 :
63415 : static bool
63416 0 : set_webkitMaskPosition(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
63417 : {
63418 0 : binding_detail::FakeString arg0;
63419 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
63420 0 : return false;
63421 : }
63422 0 : binding_detail::FastErrorResult rv;
63423 0 : self->SetWebkitMaskPosition(NonNullHelper(Constify(arg0)), rv);
63424 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63425 0 : return false;
63426 : }
63427 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63428 :
63429 0 : return true;
63430 : }
63431 :
63432 : static const JSJitInfo webkitMaskPosition_getterinfo = {
63433 : { (JSJitGetterOp)get_webkitMaskPosition },
63434 : { prototypes::id::CSS2Properties },
63435 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63436 : JSJitInfo::Getter,
63437 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63438 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63439 : false, /* isInfallible. False in setters. */
63440 : false, /* isMovable. Not relevant for setters. */
63441 : false, /* isEliminatable. Not relevant for setters. */
63442 : false, /* isAlwaysInSlot. Only relevant for getters. */
63443 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63444 : false, /* isTypedMethod. Only relevant for methods. */
63445 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63446 : };
63447 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63448 : static_assert(0 < 1, "There is no slot for us");
63449 : static const JSJitInfo webkitMaskPosition_setterinfo = {
63450 : { (JSJitGetterOp)set_webkitMaskPosition },
63451 : { prototypes::id::CSS2Properties },
63452 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63453 : JSJitInfo::Setter,
63454 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63455 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
63456 : false, /* isInfallible. False in setters. */
63457 : false, /* isMovable. Not relevant for setters. */
63458 : false, /* isEliminatable. Not relevant for setters. */
63459 : false, /* isAlwaysInSlot. Only relevant for getters. */
63460 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63461 : false, /* isTypedMethod. Only relevant for methods. */
63462 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63463 : };
63464 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63465 : static_assert(0 < 1, "There is no slot for us");
63466 :
63467 : static bool
63468 0 : get__webkit_mask_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
63469 : {
63470 0 : binding_detail::FastErrorResult rv;
63471 0 : DOMString result;
63472 0 : self->GetWebkitMaskPosition(result, rv);
63473 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63474 0 : return false;
63475 : }
63476 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63477 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
63478 0 : return false;
63479 : }
63480 0 : return true;
63481 : }
63482 :
63483 : static bool
63484 0 : set__webkit_mask_position(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
63485 : {
63486 0 : binding_detail::FakeString arg0;
63487 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
63488 0 : return false;
63489 : }
63490 0 : binding_detail::FastErrorResult rv;
63491 0 : self->SetWebkitMaskPosition(NonNullHelper(Constify(arg0)), rv);
63492 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63493 0 : return false;
63494 : }
63495 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63496 :
63497 0 : return true;
63498 : }
63499 :
63500 : static const JSJitInfo _webkit_mask_position_getterinfo = {
63501 : { (JSJitGetterOp)get__webkit_mask_position },
63502 : { prototypes::id::CSS2Properties },
63503 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63504 : JSJitInfo::Getter,
63505 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63506 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63507 : false, /* isInfallible. False in setters. */
63508 : false, /* isMovable. Not relevant for setters. */
63509 : false, /* isEliminatable. Not relevant for setters. */
63510 : false, /* isAlwaysInSlot. Only relevant for getters. */
63511 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63512 : false, /* isTypedMethod. Only relevant for methods. */
63513 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63514 : };
63515 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63516 : static_assert(0 < 1, "There is no slot for us");
63517 : static const JSJitInfo _webkit_mask_position_setterinfo = {
63518 : { (JSJitGetterOp)set__webkit_mask_position },
63519 : { prototypes::id::CSS2Properties },
63520 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63521 : JSJitInfo::Setter,
63522 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63523 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
63524 : false, /* isInfallible. False in setters. */
63525 : false, /* isMovable. Not relevant for setters. */
63526 : false, /* isEliminatable. Not relevant for setters. */
63527 : false, /* isAlwaysInSlot. Only relevant for getters. */
63528 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63529 : false, /* isTypedMethod. Only relevant for methods. */
63530 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63531 : };
63532 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63533 : static_assert(0 < 1, "There is no slot for us");
63534 :
63535 : static bool
63536 0 : get_WebkitMaskPositionX(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
63537 : {
63538 0 : binding_detail::FastErrorResult rv;
63539 0 : DOMString result;
63540 0 : self->GetWebkitMaskPositionX(result, rv);
63541 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63542 0 : return false;
63543 : }
63544 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63545 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
63546 0 : return false;
63547 : }
63548 0 : return true;
63549 : }
63550 :
63551 : static bool
63552 0 : set_WebkitMaskPositionX(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
63553 : {
63554 0 : binding_detail::FakeString arg0;
63555 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
63556 0 : return false;
63557 : }
63558 0 : binding_detail::FastErrorResult rv;
63559 0 : self->SetWebkitMaskPositionX(NonNullHelper(Constify(arg0)), rv);
63560 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63561 0 : return false;
63562 : }
63563 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63564 :
63565 0 : return true;
63566 : }
63567 :
63568 : static const JSJitInfo WebkitMaskPositionX_getterinfo = {
63569 : { (JSJitGetterOp)get_WebkitMaskPositionX },
63570 : { prototypes::id::CSS2Properties },
63571 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63572 : JSJitInfo::Getter,
63573 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63574 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63575 : false, /* isInfallible. False in setters. */
63576 : false, /* isMovable. Not relevant for setters. */
63577 : false, /* isEliminatable. Not relevant for setters. */
63578 : false, /* isAlwaysInSlot. Only relevant for getters. */
63579 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63580 : false, /* isTypedMethod. Only relevant for methods. */
63581 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63582 : };
63583 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63584 : static_assert(0 < 1, "There is no slot for us");
63585 : static const JSJitInfo WebkitMaskPositionX_setterinfo = {
63586 : { (JSJitGetterOp)set_WebkitMaskPositionX },
63587 : { prototypes::id::CSS2Properties },
63588 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63589 : JSJitInfo::Setter,
63590 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63591 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
63592 : false, /* isInfallible. False in setters. */
63593 : false, /* isMovable. Not relevant for setters. */
63594 : false, /* isEliminatable. Not relevant for setters. */
63595 : false, /* isAlwaysInSlot. Only relevant for getters. */
63596 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63597 : false, /* isTypedMethod. Only relevant for methods. */
63598 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63599 : };
63600 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63601 : static_assert(0 < 1, "There is no slot for us");
63602 :
63603 : static bool
63604 0 : get_webkitMaskPositionX(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
63605 : {
63606 0 : binding_detail::FastErrorResult rv;
63607 0 : DOMString result;
63608 0 : self->GetWebkitMaskPositionX(result, rv);
63609 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63610 0 : return false;
63611 : }
63612 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63613 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
63614 0 : return false;
63615 : }
63616 0 : return true;
63617 : }
63618 :
63619 : static bool
63620 0 : set_webkitMaskPositionX(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
63621 : {
63622 0 : binding_detail::FakeString arg0;
63623 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
63624 0 : return false;
63625 : }
63626 0 : binding_detail::FastErrorResult rv;
63627 0 : self->SetWebkitMaskPositionX(NonNullHelper(Constify(arg0)), rv);
63628 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63629 0 : return false;
63630 : }
63631 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63632 :
63633 0 : return true;
63634 : }
63635 :
63636 : static const JSJitInfo webkitMaskPositionX_getterinfo = {
63637 : { (JSJitGetterOp)get_webkitMaskPositionX },
63638 : { prototypes::id::CSS2Properties },
63639 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63640 : JSJitInfo::Getter,
63641 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63642 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63643 : false, /* isInfallible. False in setters. */
63644 : false, /* isMovable. Not relevant for setters. */
63645 : false, /* isEliminatable. Not relevant for setters. */
63646 : false, /* isAlwaysInSlot. Only relevant for getters. */
63647 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63648 : false, /* isTypedMethod. Only relevant for methods. */
63649 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63650 : };
63651 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63652 : static_assert(0 < 1, "There is no slot for us");
63653 : static const JSJitInfo webkitMaskPositionX_setterinfo = {
63654 : { (JSJitGetterOp)set_webkitMaskPositionX },
63655 : { prototypes::id::CSS2Properties },
63656 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63657 : JSJitInfo::Setter,
63658 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63659 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
63660 : false, /* isInfallible. False in setters. */
63661 : false, /* isMovable. Not relevant for setters. */
63662 : false, /* isEliminatable. Not relevant for setters. */
63663 : false, /* isAlwaysInSlot. Only relevant for getters. */
63664 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63665 : false, /* isTypedMethod. Only relevant for methods. */
63666 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63667 : };
63668 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63669 : static_assert(0 < 1, "There is no slot for us");
63670 :
63671 : static bool
63672 0 : get__webkit_mask_position_x(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
63673 : {
63674 0 : binding_detail::FastErrorResult rv;
63675 0 : DOMString result;
63676 0 : self->GetWebkitMaskPositionX(result, rv);
63677 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63678 0 : return false;
63679 : }
63680 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63681 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
63682 0 : return false;
63683 : }
63684 0 : return true;
63685 : }
63686 :
63687 : static bool
63688 0 : set__webkit_mask_position_x(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
63689 : {
63690 0 : binding_detail::FakeString arg0;
63691 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
63692 0 : return false;
63693 : }
63694 0 : binding_detail::FastErrorResult rv;
63695 0 : self->SetWebkitMaskPositionX(NonNullHelper(Constify(arg0)), rv);
63696 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63697 0 : return false;
63698 : }
63699 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63700 :
63701 0 : return true;
63702 : }
63703 :
63704 : static const JSJitInfo _webkit_mask_position_x_getterinfo = {
63705 : { (JSJitGetterOp)get__webkit_mask_position_x },
63706 : { prototypes::id::CSS2Properties },
63707 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63708 : JSJitInfo::Getter,
63709 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63710 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63711 : false, /* isInfallible. False in setters. */
63712 : false, /* isMovable. Not relevant for setters. */
63713 : false, /* isEliminatable. Not relevant for setters. */
63714 : false, /* isAlwaysInSlot. Only relevant for getters. */
63715 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63716 : false, /* isTypedMethod. Only relevant for methods. */
63717 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63718 : };
63719 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63720 : static_assert(0 < 1, "There is no slot for us");
63721 : static const JSJitInfo _webkit_mask_position_x_setterinfo = {
63722 : { (JSJitGetterOp)set__webkit_mask_position_x },
63723 : { prototypes::id::CSS2Properties },
63724 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63725 : JSJitInfo::Setter,
63726 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63727 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
63728 : false, /* isInfallible. False in setters. */
63729 : false, /* isMovable. Not relevant for setters. */
63730 : false, /* isEliminatable. Not relevant for setters. */
63731 : false, /* isAlwaysInSlot. Only relevant for getters. */
63732 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63733 : false, /* isTypedMethod. Only relevant for methods. */
63734 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63735 : };
63736 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63737 : static_assert(0 < 1, "There is no slot for us");
63738 :
63739 : static bool
63740 0 : get_WebkitMaskPositionY(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
63741 : {
63742 0 : binding_detail::FastErrorResult rv;
63743 0 : DOMString result;
63744 0 : self->GetWebkitMaskPositionY(result, rv);
63745 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63746 0 : return false;
63747 : }
63748 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63749 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
63750 0 : return false;
63751 : }
63752 0 : return true;
63753 : }
63754 :
63755 : static bool
63756 0 : set_WebkitMaskPositionY(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
63757 : {
63758 0 : binding_detail::FakeString arg0;
63759 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
63760 0 : return false;
63761 : }
63762 0 : binding_detail::FastErrorResult rv;
63763 0 : self->SetWebkitMaskPositionY(NonNullHelper(Constify(arg0)), rv);
63764 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63765 0 : return false;
63766 : }
63767 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63768 :
63769 0 : return true;
63770 : }
63771 :
63772 : static const JSJitInfo WebkitMaskPositionY_getterinfo = {
63773 : { (JSJitGetterOp)get_WebkitMaskPositionY },
63774 : { prototypes::id::CSS2Properties },
63775 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63776 : JSJitInfo::Getter,
63777 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63778 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63779 : false, /* isInfallible. False in setters. */
63780 : false, /* isMovable. Not relevant for setters. */
63781 : false, /* isEliminatable. Not relevant for setters. */
63782 : false, /* isAlwaysInSlot. Only relevant for getters. */
63783 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63784 : false, /* isTypedMethod. Only relevant for methods. */
63785 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63786 : };
63787 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63788 : static_assert(0 < 1, "There is no slot for us");
63789 : static const JSJitInfo WebkitMaskPositionY_setterinfo = {
63790 : { (JSJitGetterOp)set_WebkitMaskPositionY },
63791 : { prototypes::id::CSS2Properties },
63792 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63793 : JSJitInfo::Setter,
63794 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63795 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
63796 : false, /* isInfallible. False in setters. */
63797 : false, /* isMovable. Not relevant for setters. */
63798 : false, /* isEliminatable. Not relevant for setters. */
63799 : false, /* isAlwaysInSlot. Only relevant for getters. */
63800 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63801 : false, /* isTypedMethod. Only relevant for methods. */
63802 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63803 : };
63804 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63805 : static_assert(0 < 1, "There is no slot for us");
63806 :
63807 : static bool
63808 0 : get_webkitMaskPositionY(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
63809 : {
63810 0 : binding_detail::FastErrorResult rv;
63811 0 : DOMString result;
63812 0 : self->GetWebkitMaskPositionY(result, rv);
63813 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63814 0 : return false;
63815 : }
63816 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63817 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
63818 0 : return false;
63819 : }
63820 0 : return true;
63821 : }
63822 :
63823 : static bool
63824 0 : set_webkitMaskPositionY(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
63825 : {
63826 0 : binding_detail::FakeString arg0;
63827 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
63828 0 : return false;
63829 : }
63830 0 : binding_detail::FastErrorResult rv;
63831 0 : self->SetWebkitMaskPositionY(NonNullHelper(Constify(arg0)), rv);
63832 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63833 0 : return false;
63834 : }
63835 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63836 :
63837 0 : return true;
63838 : }
63839 :
63840 : static const JSJitInfo webkitMaskPositionY_getterinfo = {
63841 : { (JSJitGetterOp)get_webkitMaskPositionY },
63842 : { prototypes::id::CSS2Properties },
63843 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63844 : JSJitInfo::Getter,
63845 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63846 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63847 : false, /* isInfallible. False in setters. */
63848 : false, /* isMovable. Not relevant for setters. */
63849 : false, /* isEliminatable. Not relevant for setters. */
63850 : false, /* isAlwaysInSlot. Only relevant for getters. */
63851 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63852 : false, /* isTypedMethod. Only relevant for methods. */
63853 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63854 : };
63855 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63856 : static_assert(0 < 1, "There is no slot for us");
63857 : static const JSJitInfo webkitMaskPositionY_setterinfo = {
63858 : { (JSJitGetterOp)set_webkitMaskPositionY },
63859 : { prototypes::id::CSS2Properties },
63860 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63861 : JSJitInfo::Setter,
63862 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63863 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
63864 : false, /* isInfallible. False in setters. */
63865 : false, /* isMovable. Not relevant for setters. */
63866 : false, /* isEliminatable. Not relevant for setters. */
63867 : false, /* isAlwaysInSlot. Only relevant for getters. */
63868 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63869 : false, /* isTypedMethod. Only relevant for methods. */
63870 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63871 : };
63872 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63873 : static_assert(0 < 1, "There is no slot for us");
63874 :
63875 : static bool
63876 0 : get__webkit_mask_position_y(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
63877 : {
63878 0 : binding_detail::FastErrorResult rv;
63879 0 : DOMString result;
63880 0 : self->GetWebkitMaskPositionY(result, rv);
63881 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63882 0 : return false;
63883 : }
63884 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63885 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
63886 0 : return false;
63887 : }
63888 0 : return true;
63889 : }
63890 :
63891 : static bool
63892 0 : set__webkit_mask_position_y(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
63893 : {
63894 0 : binding_detail::FakeString arg0;
63895 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
63896 0 : return false;
63897 : }
63898 0 : binding_detail::FastErrorResult rv;
63899 0 : self->SetWebkitMaskPositionY(NonNullHelper(Constify(arg0)), rv);
63900 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63901 0 : return false;
63902 : }
63903 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63904 :
63905 0 : return true;
63906 : }
63907 :
63908 : static const JSJitInfo _webkit_mask_position_y_getterinfo = {
63909 : { (JSJitGetterOp)get__webkit_mask_position_y },
63910 : { prototypes::id::CSS2Properties },
63911 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63912 : JSJitInfo::Getter,
63913 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63914 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63915 : false, /* isInfallible. False in setters. */
63916 : false, /* isMovable. Not relevant for setters. */
63917 : false, /* isEliminatable. Not relevant for setters. */
63918 : false, /* isAlwaysInSlot. Only relevant for getters. */
63919 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63920 : false, /* isTypedMethod. Only relevant for methods. */
63921 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63922 : };
63923 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63924 : static_assert(0 < 1, "There is no slot for us");
63925 : static const JSJitInfo _webkit_mask_position_y_setterinfo = {
63926 : { (JSJitGetterOp)set__webkit_mask_position_y },
63927 : { prototypes::id::CSS2Properties },
63928 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63929 : JSJitInfo::Setter,
63930 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63931 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
63932 : false, /* isInfallible. False in setters. */
63933 : false, /* isMovable. Not relevant for setters. */
63934 : false, /* isEliminatable. Not relevant for setters. */
63935 : false, /* isAlwaysInSlot. Only relevant for getters. */
63936 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63937 : false, /* isTypedMethod. Only relevant for methods. */
63938 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63939 : };
63940 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63941 : static_assert(0 < 1, "There is no slot for us");
63942 :
63943 : static bool
63944 0 : get_WebkitMaskRepeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
63945 : {
63946 0 : binding_detail::FastErrorResult rv;
63947 0 : DOMString result;
63948 0 : self->GetWebkitMaskRepeat(result, rv);
63949 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63950 0 : return false;
63951 : }
63952 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63953 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
63954 0 : return false;
63955 : }
63956 0 : return true;
63957 : }
63958 :
63959 : static bool
63960 0 : set_WebkitMaskRepeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
63961 : {
63962 0 : binding_detail::FakeString arg0;
63963 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
63964 0 : return false;
63965 : }
63966 0 : binding_detail::FastErrorResult rv;
63967 0 : self->SetWebkitMaskRepeat(NonNullHelper(Constify(arg0)), rv);
63968 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
63969 0 : return false;
63970 : }
63971 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
63972 :
63973 0 : return true;
63974 : }
63975 :
63976 : static const JSJitInfo WebkitMaskRepeat_getterinfo = {
63977 : { (JSJitGetterOp)get_WebkitMaskRepeat },
63978 : { prototypes::id::CSS2Properties },
63979 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63980 : JSJitInfo::Getter,
63981 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63982 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
63983 : false, /* isInfallible. False in setters. */
63984 : false, /* isMovable. Not relevant for setters. */
63985 : false, /* isEliminatable. Not relevant for setters. */
63986 : false, /* isAlwaysInSlot. Only relevant for getters. */
63987 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
63988 : false, /* isTypedMethod. Only relevant for methods. */
63989 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
63990 : };
63991 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
63992 : static_assert(0 < 1, "There is no slot for us");
63993 : static const JSJitInfo WebkitMaskRepeat_setterinfo = {
63994 : { (JSJitGetterOp)set_WebkitMaskRepeat },
63995 : { prototypes::id::CSS2Properties },
63996 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
63997 : JSJitInfo::Setter,
63998 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
63999 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
64000 : false, /* isInfallible. False in setters. */
64001 : false, /* isMovable. Not relevant for setters. */
64002 : false, /* isEliminatable. Not relevant for setters. */
64003 : false, /* isAlwaysInSlot. Only relevant for getters. */
64004 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
64005 : false, /* isTypedMethod. Only relevant for methods. */
64006 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
64007 : };
64008 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
64009 : static_assert(0 < 1, "There is no slot for us");
64010 :
64011 : static bool
64012 0 : get_webkitMaskRepeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
64013 : {
64014 0 : binding_detail::FastErrorResult rv;
64015 0 : DOMString result;
64016 0 : self->GetWebkitMaskRepeat(result, rv);
64017 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
64018 0 : return false;
64019 : }
64020 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
64021 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
64022 0 : return false;
64023 : }
64024 0 : return true;
64025 : }
64026 :
64027 : static bool
64028 0 : set_webkitMaskRepeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
64029 : {
64030 0 : binding_detail::FakeString arg0;
64031 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
64032 0 : return false;
64033 : }
64034 0 : binding_detail::FastErrorResult rv;
64035 0 : self->SetWebkitMaskRepeat(NonNullHelper(Constify(arg0)), rv);
64036 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
64037 0 : return false;
64038 : }
64039 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
64040 :
64041 0 : return true;
64042 : }
64043 :
64044 : static const JSJitInfo webkitMaskRepeat_getterinfo = {
64045 : { (JSJitGetterOp)get_webkitMaskRepeat },
64046 : { prototypes::id::CSS2Properties },
64047 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
64048 : JSJitInfo::Getter,
64049 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
64050 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
64051 : false, /* isInfallible. False in setters. */
64052 : false, /* isMovable. Not relevant for setters. */
64053 : false, /* isEliminatable. Not relevant for setters. */
64054 : false, /* isAlwaysInSlot. Only relevant for getters. */
64055 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
64056 : false, /* isTypedMethod. Only relevant for methods. */
64057 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
64058 : };
64059 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
64060 : static_assert(0 < 1, "There is no slot for us");
64061 : static const JSJitInfo webkitMaskRepeat_setterinfo = {
64062 : { (JSJitGetterOp)set_webkitMaskRepeat },
64063 : { prototypes::id::CSS2Properties },
64064 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
64065 : JSJitInfo::Setter,
64066 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
64067 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
64068 : false, /* isInfallible. False in setters. */
64069 : false, /* isMovable. Not relevant for setters. */
64070 : false, /* isEliminatable. Not relevant for setters. */
64071 : false, /* isAlwaysInSlot. Only relevant for getters. */
64072 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
64073 : false, /* isTypedMethod. Only relevant for methods. */
64074 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
64075 : };
64076 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
64077 : static_assert(0 < 1, "There is no slot for us");
64078 :
64079 : static bool
64080 0 : get__webkit_mask_repeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
64081 : {
64082 0 : binding_detail::FastErrorResult rv;
64083 0 : DOMString result;
64084 0 : self->GetWebkitMaskRepeat(result, rv);
64085 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
64086 0 : return false;
64087 : }
64088 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
64089 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
64090 0 : return false;
64091 : }
64092 0 : return true;
64093 : }
64094 :
64095 : static bool
64096 0 : set__webkit_mask_repeat(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
64097 : {
64098 0 : binding_detail::FakeString arg0;
64099 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
64100 0 : return false;
64101 : }
64102 0 : binding_detail::FastErrorResult rv;
64103 0 : self->SetWebkitMaskRepeat(NonNullHelper(Constify(arg0)), rv);
64104 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
64105 0 : return false;
64106 : }
64107 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
64108 :
64109 0 : return true;
64110 : }
64111 :
64112 : static const JSJitInfo _webkit_mask_repeat_getterinfo = {
64113 : { (JSJitGetterOp)get__webkit_mask_repeat },
64114 : { prototypes::id::CSS2Properties },
64115 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
64116 : JSJitInfo::Getter,
64117 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
64118 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
64119 : false, /* isInfallible. False in setters. */
64120 : false, /* isMovable. Not relevant for setters. */
64121 : false, /* isEliminatable. Not relevant for setters. */
64122 : false, /* isAlwaysInSlot. Only relevant for getters. */
64123 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
64124 : false, /* isTypedMethod. Only relevant for methods. */
64125 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
64126 : };
64127 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
64128 : static_assert(0 < 1, "There is no slot for us");
64129 : static const JSJitInfo _webkit_mask_repeat_setterinfo = {
64130 : { (JSJitGetterOp)set__webkit_mask_repeat },
64131 : { prototypes::id::CSS2Properties },
64132 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
64133 : JSJitInfo::Setter,
64134 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
64135 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
64136 : false, /* isInfallible. False in setters. */
64137 : false, /* isMovable. Not relevant for setters. */
64138 : false, /* isEliminatable. Not relevant for setters. */
64139 : false, /* isAlwaysInSlot. Only relevant for getters. */
64140 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
64141 : false, /* isTypedMethod. Only relevant for methods. */
64142 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
64143 : };
64144 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
64145 : static_assert(0 < 1, "There is no slot for us");
64146 :
64147 : static bool
64148 0 : get_WebkitMaskSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
64149 : {
64150 0 : binding_detail::FastErrorResult rv;
64151 0 : DOMString result;
64152 0 : self->GetWebkitMaskSize(result, rv);
64153 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
64154 0 : return false;
64155 : }
64156 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
64157 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
64158 0 : return false;
64159 : }
64160 0 : return true;
64161 : }
64162 :
64163 : static bool
64164 0 : set_WebkitMaskSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
64165 : {
64166 0 : binding_detail::FakeString arg0;
64167 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
64168 0 : return false;
64169 : }
64170 0 : binding_detail::FastErrorResult rv;
64171 0 : self->SetWebkitMaskSize(NonNullHelper(Constify(arg0)), rv);
64172 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
64173 0 : return false;
64174 : }
64175 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
64176 :
64177 0 : return true;
64178 : }
64179 :
64180 : static const JSJitInfo WebkitMaskSize_getterinfo = {
64181 : { (JSJitGetterOp)get_WebkitMaskSize },
64182 : { prototypes::id::CSS2Properties },
64183 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
64184 : JSJitInfo::Getter,
64185 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
64186 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
64187 : false, /* isInfallible. False in setters. */
64188 : false, /* isMovable. Not relevant for setters. */
64189 : false, /* isEliminatable. Not relevant for setters. */
64190 : false, /* isAlwaysInSlot. Only relevant for getters. */
64191 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
64192 : false, /* isTypedMethod. Only relevant for methods. */
64193 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
64194 : };
64195 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
64196 : static_assert(0 < 1, "There is no slot for us");
64197 : static const JSJitInfo WebkitMaskSize_setterinfo = {
64198 : { (JSJitGetterOp)set_WebkitMaskSize },
64199 : { prototypes::id::CSS2Properties },
64200 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
64201 : JSJitInfo::Setter,
64202 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
64203 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
64204 : false, /* isInfallible. False in setters. */
64205 : false, /* isMovable. Not relevant for setters. */
64206 : false, /* isEliminatable. Not relevant for setters. */
64207 : false, /* isAlwaysInSlot. Only relevant for getters. */
64208 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
64209 : false, /* isTypedMethod. Only relevant for methods. */
64210 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
64211 : };
64212 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
64213 : static_assert(0 < 1, "There is no slot for us");
64214 :
64215 : static bool
64216 0 : get_webkitMaskSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
64217 : {
64218 0 : binding_detail::FastErrorResult rv;
64219 0 : DOMString result;
64220 0 : self->GetWebkitMaskSize(result, rv);
64221 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
64222 0 : return false;
64223 : }
64224 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
64225 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
64226 0 : return false;
64227 : }
64228 0 : return true;
64229 : }
64230 :
64231 : static bool
64232 0 : set_webkitMaskSize(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
64233 : {
64234 0 : binding_detail::FakeString arg0;
64235 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
64236 0 : return false;
64237 : }
64238 0 : binding_detail::FastErrorResult rv;
64239 0 : self->SetWebkitMaskSize(NonNullHelper(Constify(arg0)), rv);
64240 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
64241 0 : return false;
64242 : }
64243 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
64244 :
64245 0 : return true;
64246 : }
64247 :
64248 : static const JSJitInfo webkitMaskSize_getterinfo = {
64249 : { (JSJitGetterOp)get_webkitMaskSize },
64250 : { prototypes::id::CSS2Properties },
64251 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
64252 : JSJitInfo::Getter,
64253 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
64254 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
64255 : false, /* isInfallible. False in setters. */
64256 : false, /* isMovable. Not relevant for setters. */
64257 : false, /* isEliminatable. Not relevant for setters. */
64258 : false, /* isAlwaysInSlot. Only relevant for getters. */
64259 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
64260 : false, /* isTypedMethod. Only relevant for methods. */
64261 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
64262 : };
64263 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
64264 : static_assert(0 < 1, "There is no slot for us");
64265 : static const JSJitInfo webkitMaskSize_setterinfo = {
64266 : { (JSJitGetterOp)set_webkitMaskSize },
64267 : { prototypes::id::CSS2Properties },
64268 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
64269 : JSJitInfo::Setter,
64270 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
64271 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
64272 : false, /* isInfallible. False in setters. */
64273 : false, /* isMovable. Not relevant for setters. */
64274 : false, /* isEliminatable. Not relevant for setters. */
64275 : false, /* isAlwaysInSlot. Only relevant for getters. */
64276 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
64277 : false, /* isTypedMethod. Only relevant for methods. */
64278 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
64279 : };
64280 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
64281 : static_assert(0 < 1, "There is no slot for us");
64282 :
64283 : static bool
64284 0 : get__webkit_mask_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitGetterCallArgs args)
64285 : {
64286 0 : binding_detail::FastErrorResult rv;
64287 0 : DOMString result;
64288 0 : self->GetWebkitMaskSize(result, rv);
64289 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
64290 0 : return false;
64291 : }
64292 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
64293 0 : if (!xpc::NonVoidStringToJsval(cx, result, args.rval())) {
64294 0 : return false;
64295 : }
64296 0 : return true;
64297 : }
64298 :
64299 : static bool
64300 0 : set__webkit_mask_size(JSContext* cx, JS::Handle<JSObject*> obj, nsDOMCSSDeclaration* self, JSJitSetterCallArgs args)
64301 : {
64302 0 : binding_detail::FakeString arg0;
64303 0 : if (!ConvertJSValueToString(cx, args[0], eEmpty, eStringify, arg0)) {
64304 0 : return false;
64305 : }
64306 0 : binding_detail::FastErrorResult rv;
64307 0 : self->SetWebkitMaskSize(NonNullHelper(Constify(arg0)), rv);
64308 0 : if (MOZ_UNLIKELY(rv.MaybeSetPendingException(cx))) {
64309 0 : return false;
64310 : }
64311 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
64312 :
64313 0 : return true;
64314 : }
64315 :
64316 : static const JSJitInfo _webkit_mask_size_getterinfo = {
64317 : { (JSJitGetterOp)get__webkit_mask_size },
64318 : { prototypes::id::CSS2Properties },
64319 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
64320 : JSJitInfo::Getter,
64321 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
64322 : JSVAL_TYPE_STRING, /* returnType. Not relevant for setters. */
64323 : false, /* isInfallible. False in setters. */
64324 : false, /* isMovable. Not relevant for setters. */
64325 : false, /* isEliminatable. Not relevant for setters. */
64326 : false, /* isAlwaysInSlot. Only relevant for getters. */
64327 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
64328 : false, /* isTypedMethod. Only relevant for methods. */
64329 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
64330 : };
64331 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
64332 : static_assert(0 < 1, "There is no slot for us");
64333 : static const JSJitInfo _webkit_mask_size_setterinfo = {
64334 : { (JSJitGetterOp)set__webkit_mask_size },
64335 : { prototypes::id::CSS2Properties },
64336 : { PrototypeTraits<prototypes::id::CSS2Properties>::Depth },
64337 : JSJitInfo::Setter,
64338 : JSJitInfo::AliasEverything, /* aliasSet. Not relevant for setters. */
64339 : JSVAL_TYPE_UNDEFINED, /* returnType. Not relevant for setters. */
64340 : false, /* isInfallible. False in setters. */
64341 : false, /* isMovable. Not relevant for setters. */
64342 : false, /* isEliminatable. Not relevant for setters. */
64343 : false, /* isAlwaysInSlot. Only relevant for getters. */
64344 : false, /* isLazilyCachedInSlot. Only relevant for getters. */
64345 : false, /* isTypedMethod. Only relevant for methods. */
64346 : 0 /* Reserved slot index, if we're stored in a slot, else 0. */
64347 : };
64348 : static_assert(0 <= JSJitInfo::maxSlotIndex, "We won't fit");
64349 : static_assert(0 < 1, "There is no slot for us");
64350 :
64351 : static void
64352 0 : _objectMoved(JSObject* obj, const JSObject* old)
64353 : {
64354 0 : nsDOMCSSDeclaration* self = UnwrapPossiblyNotInitializedDOMObject<nsDOMCSSDeclaration>(obj);
64355 0 : if (self) {
64356 0 : UpdateWrapper(self, self, obj, old);
64357 : }
64358 0 : }
64359 :
64360 : // We deliberately use brace-elision to make Visual Studio produce better initalization code.
64361 : #if defined(__clang__)
64362 : #pragma clang diagnostic push
64363 : #pragma clang diagnostic ignored "-Wmissing-braces"
64364 : #endif
64365 : static const JSFunctionSpec sMethods_specs[] = {
64366 : JS_SYM_FNSPEC(iterator, nullptr, nullptr, 0, 0, "ArrayValues"),
64367 : JS_FS_END
64368 : };
64369 : #if defined(__clang__)
64370 : #pragma clang diagnostic pop
64371 : #endif
64372 :
64373 :
64374 : // Can't be const because the pref-enabled boolean needs to be writable
64375 : static Prefable<const JSFunctionSpec> sMethods[] = {
64376 : { nullptr, &sMethods_specs[0] },
64377 : { nullptr, nullptr }
64378 : };
64379 :
64380 : static_assert(1 <= 1ull << NUM_BITS_PROPERTY_INFO_PREF_INDEX,
64381 : "We have a prefable index that is >= (1 << NUM_BITS_PROPERTY_INFO_PREF_INDEX)");
64382 : static_assert(1 <= 1ull << NUM_BITS_PROPERTY_INFO_SPEC_INDEX,
64383 : "We have a spec index that is >= (1 << NUM_BITS_PROPERTY_INFO_SPEC_INDEX)");
64384 :
64385 : // We deliberately use brace-elision to make Visual Studio produce better initalization code.
64386 : #if defined(__clang__)
64387 : #pragma clang diagnostic push
64388 : #pragma clang diagnostic ignored "-Wmissing-braces"
64389 : #endif
64390 : static const JSPropertySpec sAttributes_specs[] = {
64391 : { "alignContent", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &alignContent_getterinfo, GenericBindingSetter, &alignContent_setterinfo },
64392 : { "align-content", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &align_content_getterinfo, GenericBindingSetter, &align_content_setterinfo },
64393 : { "alignItems", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &alignItems_getterinfo, GenericBindingSetter, &alignItems_setterinfo },
64394 : { "align-items", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &align_items_getterinfo, GenericBindingSetter, &align_items_setterinfo },
64395 : { "alignSelf", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &alignSelf_getterinfo, GenericBindingSetter, &alignSelf_setterinfo },
64396 : { "align-self", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &align_self_getterinfo, GenericBindingSetter, &align_self_setterinfo },
64397 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64398 : { "all", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &all_getterinfo, GenericBindingSetter, &all_setterinfo },
64399 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64400 : { "animation", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animation_getterinfo, GenericBindingSetter, &animation_setterinfo },
64401 : { "animationDelay", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animationDelay_getterinfo, GenericBindingSetter, &animationDelay_setterinfo },
64402 : { "animation-delay", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animation_delay_getterinfo, GenericBindingSetter, &animation_delay_setterinfo },
64403 : { "animationDirection", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animationDirection_getterinfo, GenericBindingSetter, &animationDirection_setterinfo },
64404 : { "animation-direction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animation_direction_getterinfo, GenericBindingSetter, &animation_direction_setterinfo },
64405 : { "animationDuration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animationDuration_getterinfo, GenericBindingSetter, &animationDuration_setterinfo },
64406 : { "animation-duration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animation_duration_getterinfo, GenericBindingSetter, &animation_duration_setterinfo },
64407 : { "animationFillMode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animationFillMode_getterinfo, GenericBindingSetter, &animationFillMode_setterinfo },
64408 : { "animation-fill-mode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animation_fill_mode_getterinfo, GenericBindingSetter, &animation_fill_mode_setterinfo },
64409 : { "animationIterationCount", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animationIterationCount_getterinfo, GenericBindingSetter, &animationIterationCount_setterinfo },
64410 : { "animation-iteration-count", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animation_iteration_count_getterinfo, GenericBindingSetter, &animation_iteration_count_setterinfo },
64411 : { "animationName", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animationName_getterinfo, GenericBindingSetter, &animationName_setterinfo },
64412 : { "animation-name", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animation_name_getterinfo, GenericBindingSetter, &animation_name_setterinfo },
64413 : { "animationPlayState", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animationPlayState_getterinfo, GenericBindingSetter, &animationPlayState_setterinfo },
64414 : { "animation-play-state", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animation_play_state_getterinfo, GenericBindingSetter, &animation_play_state_setterinfo },
64415 : { "animationTimingFunction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animationTimingFunction_getterinfo, GenericBindingSetter, &animationTimingFunction_setterinfo },
64416 : { "animation-timing-function", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &animation_timing_function_getterinfo, GenericBindingSetter, &animation_timing_function_setterinfo },
64417 : { "MozAppearance", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozAppearance_getterinfo, GenericBindingSetter, &MozAppearance_setterinfo },
64418 : { "-moz-appearance", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_appearance_getterinfo, GenericBindingSetter, &_moz_appearance_setterinfo },
64419 : { "backfaceVisibility", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &backfaceVisibility_getterinfo, GenericBindingSetter, &backfaceVisibility_setterinfo },
64420 : { "backface-visibility", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &backface_visibility_getterinfo, GenericBindingSetter, &backface_visibility_setterinfo },
64421 : { "background", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &background_getterinfo, GenericBindingSetter, &background_setterinfo },
64422 : { "backgroundAttachment", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &backgroundAttachment_getterinfo, GenericBindingSetter, &backgroundAttachment_setterinfo },
64423 : { "background-attachment", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &background_attachment_getterinfo, GenericBindingSetter, &background_attachment_setterinfo },
64424 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64425 : { "backgroundBlendMode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &backgroundBlendMode_getterinfo, GenericBindingSetter, &backgroundBlendMode_setterinfo },
64426 : { "background-blend-mode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &background_blend_mode_getterinfo, GenericBindingSetter, &background_blend_mode_setterinfo },
64427 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64428 : { "backgroundClip", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &backgroundClip_getterinfo, GenericBindingSetter, &backgroundClip_setterinfo },
64429 : { "background-clip", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &background_clip_getterinfo, GenericBindingSetter, &background_clip_setterinfo },
64430 : { "backgroundColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &backgroundColor_getterinfo, GenericBindingSetter, &backgroundColor_setterinfo },
64431 : { "background-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &background_color_getterinfo, GenericBindingSetter, &background_color_setterinfo },
64432 : { "backgroundImage", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &backgroundImage_getterinfo, GenericBindingSetter, &backgroundImage_setterinfo },
64433 : { "background-image", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &background_image_getterinfo, GenericBindingSetter, &background_image_setterinfo },
64434 : { "backgroundOrigin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &backgroundOrigin_getterinfo, GenericBindingSetter, &backgroundOrigin_setterinfo },
64435 : { "background-origin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &background_origin_getterinfo, GenericBindingSetter, &background_origin_setterinfo },
64436 : { "backgroundPosition", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &backgroundPosition_getterinfo, GenericBindingSetter, &backgroundPosition_setterinfo },
64437 : { "background-position", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &background_position_getterinfo, GenericBindingSetter, &background_position_setterinfo },
64438 : { "backgroundPositionX", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &backgroundPositionX_getterinfo, GenericBindingSetter, &backgroundPositionX_setterinfo },
64439 : { "background-position-x", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &background_position_x_getterinfo, GenericBindingSetter, &background_position_x_setterinfo },
64440 : { "backgroundPositionY", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &backgroundPositionY_getterinfo, GenericBindingSetter, &backgroundPositionY_setterinfo },
64441 : { "background-position-y", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &background_position_y_getterinfo, GenericBindingSetter, &background_position_y_setterinfo },
64442 : { "backgroundRepeat", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &backgroundRepeat_getterinfo, GenericBindingSetter, &backgroundRepeat_setterinfo },
64443 : { "background-repeat", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &background_repeat_getterinfo, GenericBindingSetter, &background_repeat_setterinfo },
64444 : { "backgroundSize", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &backgroundSize_getterinfo, GenericBindingSetter, &backgroundSize_setterinfo },
64445 : { "background-size", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &background_size_getterinfo, GenericBindingSetter, &background_size_setterinfo },
64446 : { "MozBinding", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBinding_getterinfo, GenericBindingSetter, &MozBinding_setterinfo },
64447 : { "-moz-binding", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_binding_getterinfo, GenericBindingSetter, &_moz_binding_setterinfo },
64448 : { "blockSize", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &blockSize_getterinfo, GenericBindingSetter, &blockSize_setterinfo },
64449 : { "block-size", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &block_size_getterinfo, GenericBindingSetter, &block_size_setterinfo },
64450 : { "border", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_getterinfo, GenericBindingSetter, &border_setterinfo },
64451 : { "borderBlockEnd", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderBlockEnd_getterinfo, GenericBindingSetter, &borderBlockEnd_setterinfo },
64452 : { "border-block-end", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_block_end_getterinfo, GenericBindingSetter, &border_block_end_setterinfo },
64453 : { "borderBlockEndColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderBlockEndColor_getterinfo, GenericBindingSetter, &borderBlockEndColor_setterinfo },
64454 : { "border-block-end-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_block_end_color_getterinfo, GenericBindingSetter, &border_block_end_color_setterinfo },
64455 : { "borderBlockEndStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderBlockEndStyle_getterinfo, GenericBindingSetter, &borderBlockEndStyle_setterinfo },
64456 : { "border-block-end-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_block_end_style_getterinfo, GenericBindingSetter, &border_block_end_style_setterinfo },
64457 : { "borderBlockEndWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderBlockEndWidth_getterinfo, GenericBindingSetter, &borderBlockEndWidth_setterinfo },
64458 : { "border-block-end-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_block_end_width_getterinfo, GenericBindingSetter, &border_block_end_width_setterinfo },
64459 : { "borderBlockStart", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderBlockStart_getterinfo, GenericBindingSetter, &borderBlockStart_setterinfo },
64460 : { "border-block-start", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_block_start_getterinfo, GenericBindingSetter, &border_block_start_setterinfo },
64461 : { "borderBlockStartColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderBlockStartColor_getterinfo, GenericBindingSetter, &borderBlockStartColor_setterinfo },
64462 : { "border-block-start-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_block_start_color_getterinfo, GenericBindingSetter, &border_block_start_color_setterinfo },
64463 : { "borderBlockStartStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderBlockStartStyle_getterinfo, GenericBindingSetter, &borderBlockStartStyle_setterinfo },
64464 : { "border-block-start-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_block_start_style_getterinfo, GenericBindingSetter, &border_block_start_style_setterinfo },
64465 : { "borderBlockStartWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderBlockStartWidth_getterinfo, GenericBindingSetter, &borderBlockStartWidth_setterinfo },
64466 : { "border-block-start-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_block_start_width_getterinfo, GenericBindingSetter, &border_block_start_width_setterinfo },
64467 : { "borderBottom", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderBottom_getterinfo, GenericBindingSetter, &borderBottom_setterinfo },
64468 : { "border-bottom", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_bottom_getterinfo, GenericBindingSetter, &border_bottom_setterinfo },
64469 : { "borderBottomColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderBottomColor_getterinfo, GenericBindingSetter, &borderBottomColor_setterinfo },
64470 : { "border-bottom-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_bottom_color_getterinfo, GenericBindingSetter, &border_bottom_color_setterinfo },
64471 : { "MozBorderBottomColors", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBorderBottomColors_getterinfo, GenericBindingSetter, &MozBorderBottomColors_setterinfo },
64472 : { "-moz-border-bottom-colors", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_border_bottom_colors_getterinfo, GenericBindingSetter, &_moz_border_bottom_colors_setterinfo },
64473 : { "borderBottomLeftRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderBottomLeftRadius_getterinfo, GenericBindingSetter, &borderBottomLeftRadius_setterinfo },
64474 : { "border-bottom-left-radius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_bottom_left_radius_getterinfo, GenericBindingSetter, &border_bottom_left_radius_setterinfo },
64475 : { "borderBottomRightRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderBottomRightRadius_getterinfo, GenericBindingSetter, &borderBottomRightRadius_setterinfo },
64476 : { "border-bottom-right-radius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_bottom_right_radius_getterinfo, GenericBindingSetter, &border_bottom_right_radius_setterinfo },
64477 : { "borderBottomStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderBottomStyle_getterinfo, GenericBindingSetter, &borderBottomStyle_setterinfo },
64478 : { "border-bottom-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_bottom_style_getterinfo, GenericBindingSetter, &border_bottom_style_setterinfo },
64479 : { "borderBottomWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderBottomWidth_getterinfo, GenericBindingSetter, &borderBottomWidth_setterinfo },
64480 : { "border-bottom-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_bottom_width_getterinfo, GenericBindingSetter, &border_bottom_width_setterinfo },
64481 : { "borderCollapse", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderCollapse_getterinfo, GenericBindingSetter, &borderCollapse_setterinfo },
64482 : { "border-collapse", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_collapse_getterinfo, GenericBindingSetter, &border_collapse_setterinfo },
64483 : { "borderColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderColor_getterinfo, GenericBindingSetter, &borderColor_setterinfo },
64484 : { "border-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_color_getterinfo, GenericBindingSetter, &border_color_setterinfo },
64485 : { "borderImage", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderImage_getterinfo, GenericBindingSetter, &borderImage_setterinfo },
64486 : { "border-image", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_image_getterinfo, GenericBindingSetter, &border_image_setterinfo },
64487 : { "borderImageOutset", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderImageOutset_getterinfo, GenericBindingSetter, &borderImageOutset_setterinfo },
64488 : { "border-image-outset", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_image_outset_getterinfo, GenericBindingSetter, &border_image_outset_setterinfo },
64489 : { "borderImageRepeat", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderImageRepeat_getterinfo, GenericBindingSetter, &borderImageRepeat_setterinfo },
64490 : { "border-image-repeat", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_image_repeat_getterinfo, GenericBindingSetter, &border_image_repeat_setterinfo },
64491 : { "borderImageSlice", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderImageSlice_getterinfo, GenericBindingSetter, &borderImageSlice_setterinfo },
64492 : { "border-image-slice", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_image_slice_getterinfo, GenericBindingSetter, &border_image_slice_setterinfo },
64493 : { "borderImageSource", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderImageSource_getterinfo, GenericBindingSetter, &borderImageSource_setterinfo },
64494 : { "border-image-source", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_image_source_getterinfo, GenericBindingSetter, &border_image_source_setterinfo },
64495 : { "borderImageWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderImageWidth_getterinfo, GenericBindingSetter, &borderImageWidth_setterinfo },
64496 : { "border-image-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_image_width_getterinfo, GenericBindingSetter, &border_image_width_setterinfo },
64497 : { "borderInlineEnd", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderInlineEnd_getterinfo, GenericBindingSetter, &borderInlineEnd_setterinfo },
64498 : { "border-inline-end", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_inline_end_getterinfo, GenericBindingSetter, &border_inline_end_setterinfo },
64499 : { "borderInlineEndColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderInlineEndColor_getterinfo, GenericBindingSetter, &borderInlineEndColor_setterinfo },
64500 : { "border-inline-end-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_inline_end_color_getterinfo, GenericBindingSetter, &border_inline_end_color_setterinfo },
64501 : { "borderInlineEndStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderInlineEndStyle_getterinfo, GenericBindingSetter, &borderInlineEndStyle_setterinfo },
64502 : { "border-inline-end-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_inline_end_style_getterinfo, GenericBindingSetter, &border_inline_end_style_setterinfo },
64503 : { "borderInlineEndWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderInlineEndWidth_getterinfo, GenericBindingSetter, &borderInlineEndWidth_setterinfo },
64504 : { "border-inline-end-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_inline_end_width_getterinfo, GenericBindingSetter, &border_inline_end_width_setterinfo },
64505 : { "borderInlineStart", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderInlineStart_getterinfo, GenericBindingSetter, &borderInlineStart_setterinfo },
64506 : { "border-inline-start", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_inline_start_getterinfo, GenericBindingSetter, &border_inline_start_setterinfo },
64507 : { "borderInlineStartColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderInlineStartColor_getterinfo, GenericBindingSetter, &borderInlineStartColor_setterinfo },
64508 : { "border-inline-start-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_inline_start_color_getterinfo, GenericBindingSetter, &border_inline_start_color_setterinfo },
64509 : { "borderInlineStartStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderInlineStartStyle_getterinfo, GenericBindingSetter, &borderInlineStartStyle_setterinfo },
64510 : { "border-inline-start-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_inline_start_style_getterinfo, GenericBindingSetter, &border_inline_start_style_setterinfo },
64511 : { "borderInlineStartWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderInlineStartWidth_getterinfo, GenericBindingSetter, &borderInlineStartWidth_setterinfo },
64512 : { "border-inline-start-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_inline_start_width_getterinfo, GenericBindingSetter, &border_inline_start_width_setterinfo },
64513 : { "borderLeft", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderLeft_getterinfo, GenericBindingSetter, &borderLeft_setterinfo },
64514 : { "border-left", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_left_getterinfo, GenericBindingSetter, &border_left_setterinfo },
64515 : { "borderLeftColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderLeftColor_getterinfo, GenericBindingSetter, &borderLeftColor_setterinfo },
64516 : { "border-left-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_left_color_getterinfo, GenericBindingSetter, &border_left_color_setterinfo },
64517 : { "MozBorderLeftColors", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBorderLeftColors_getterinfo, GenericBindingSetter, &MozBorderLeftColors_setterinfo },
64518 : { "-moz-border-left-colors", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_border_left_colors_getterinfo, GenericBindingSetter, &_moz_border_left_colors_setterinfo },
64519 : { "borderLeftStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderLeftStyle_getterinfo, GenericBindingSetter, &borderLeftStyle_setterinfo },
64520 : { "border-left-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_left_style_getterinfo, GenericBindingSetter, &border_left_style_setterinfo },
64521 : { "borderLeftWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderLeftWidth_getterinfo, GenericBindingSetter, &borderLeftWidth_setterinfo },
64522 : { "border-left-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_left_width_getterinfo, GenericBindingSetter, &border_left_width_setterinfo },
64523 : { "borderRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderRadius_getterinfo, GenericBindingSetter, &borderRadius_setterinfo },
64524 : { "border-radius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_radius_getterinfo, GenericBindingSetter, &border_radius_setterinfo },
64525 : { "borderRight", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderRight_getterinfo, GenericBindingSetter, &borderRight_setterinfo },
64526 : { "border-right", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_right_getterinfo, GenericBindingSetter, &border_right_setterinfo },
64527 : { "borderRightColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderRightColor_getterinfo, GenericBindingSetter, &borderRightColor_setterinfo },
64528 : { "border-right-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_right_color_getterinfo, GenericBindingSetter, &border_right_color_setterinfo },
64529 : { "MozBorderRightColors", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBorderRightColors_getterinfo, GenericBindingSetter, &MozBorderRightColors_setterinfo },
64530 : { "-moz-border-right-colors", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_border_right_colors_getterinfo, GenericBindingSetter, &_moz_border_right_colors_setterinfo },
64531 : { "borderRightStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderRightStyle_getterinfo, GenericBindingSetter, &borderRightStyle_setterinfo },
64532 : { "border-right-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_right_style_getterinfo, GenericBindingSetter, &border_right_style_setterinfo },
64533 : { "borderRightWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderRightWidth_getterinfo, GenericBindingSetter, &borderRightWidth_setterinfo },
64534 : { "border-right-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_right_width_getterinfo, GenericBindingSetter, &border_right_width_setterinfo },
64535 : { "borderSpacing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderSpacing_getterinfo, GenericBindingSetter, &borderSpacing_setterinfo },
64536 : { "border-spacing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_spacing_getterinfo, GenericBindingSetter, &border_spacing_setterinfo },
64537 : { "borderStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderStyle_getterinfo, GenericBindingSetter, &borderStyle_setterinfo },
64538 : { "border-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_style_getterinfo, GenericBindingSetter, &border_style_setterinfo },
64539 : { "borderTop", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderTop_getterinfo, GenericBindingSetter, &borderTop_setterinfo },
64540 : { "border-top", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_top_getterinfo, GenericBindingSetter, &border_top_setterinfo },
64541 : { "borderTopColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderTopColor_getterinfo, GenericBindingSetter, &borderTopColor_setterinfo },
64542 : { "border-top-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_top_color_getterinfo, GenericBindingSetter, &border_top_color_setterinfo },
64543 : { "MozBorderTopColors", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBorderTopColors_getterinfo, GenericBindingSetter, &MozBorderTopColors_setterinfo },
64544 : { "-moz-border-top-colors", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_border_top_colors_getterinfo, GenericBindingSetter, &_moz_border_top_colors_setterinfo },
64545 : { "borderTopLeftRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderTopLeftRadius_getterinfo, GenericBindingSetter, &borderTopLeftRadius_setterinfo },
64546 : { "border-top-left-radius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_top_left_radius_getterinfo, GenericBindingSetter, &border_top_left_radius_setterinfo },
64547 : { "borderTopRightRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderTopRightRadius_getterinfo, GenericBindingSetter, &borderTopRightRadius_setterinfo },
64548 : { "border-top-right-radius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_top_right_radius_getterinfo, GenericBindingSetter, &border_top_right_radius_setterinfo },
64549 : { "borderTopStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderTopStyle_getterinfo, GenericBindingSetter, &borderTopStyle_setterinfo },
64550 : { "border-top-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_top_style_getterinfo, GenericBindingSetter, &border_top_style_setterinfo },
64551 : { "borderTopWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderTopWidth_getterinfo, GenericBindingSetter, &borderTopWidth_setterinfo },
64552 : { "border-top-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_top_width_getterinfo, GenericBindingSetter, &border_top_width_setterinfo },
64553 : { "borderWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &borderWidth_getterinfo, GenericBindingSetter, &borderWidth_setterinfo },
64554 : { "border-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &border_width_getterinfo, GenericBindingSetter, &border_width_setterinfo },
64555 : { "bottom", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &bottom_getterinfo, GenericBindingSetter, &bottom_setterinfo },
64556 : { "MozBoxAlign", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBoxAlign_getterinfo, GenericBindingSetter, &MozBoxAlign_setterinfo },
64557 : { "-moz-box-align", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_box_align_getterinfo, GenericBindingSetter, &_moz_box_align_setterinfo },
64558 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64559 : { "boxDecorationBreak", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &boxDecorationBreak_getterinfo, GenericBindingSetter, &boxDecorationBreak_setterinfo },
64560 : { "box-decoration-break", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &box_decoration_break_getterinfo, GenericBindingSetter, &box_decoration_break_setterinfo },
64561 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64562 : { "MozBoxDirection", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBoxDirection_getterinfo, GenericBindingSetter, &MozBoxDirection_setterinfo },
64563 : { "-moz-box-direction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_box_direction_getterinfo, GenericBindingSetter, &_moz_box_direction_setterinfo },
64564 : { "MozBoxFlex", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBoxFlex_getterinfo, GenericBindingSetter, &MozBoxFlex_setterinfo },
64565 : { "-moz-box-flex", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_box_flex_getterinfo, GenericBindingSetter, &_moz_box_flex_setterinfo },
64566 : { "MozBoxOrdinalGroup", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBoxOrdinalGroup_getterinfo, GenericBindingSetter, &MozBoxOrdinalGroup_setterinfo },
64567 : { "-moz-box-ordinal-group", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_box_ordinal_group_getterinfo, GenericBindingSetter, &_moz_box_ordinal_group_setterinfo },
64568 : { "MozBoxOrient", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBoxOrient_getterinfo, GenericBindingSetter, &MozBoxOrient_setterinfo },
64569 : { "-moz-box-orient", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_box_orient_getterinfo, GenericBindingSetter, &_moz_box_orient_setterinfo },
64570 : { "MozBoxPack", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBoxPack_getterinfo, GenericBindingSetter, &MozBoxPack_setterinfo },
64571 : { "-moz-box-pack", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_box_pack_getterinfo, GenericBindingSetter, &_moz_box_pack_setterinfo },
64572 : { "boxShadow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &boxShadow_getterinfo, GenericBindingSetter, &boxShadow_setterinfo },
64573 : { "box-shadow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &box_shadow_getterinfo, GenericBindingSetter, &box_shadow_setterinfo },
64574 : { "boxSizing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &boxSizing_getterinfo, GenericBindingSetter, &boxSizing_setterinfo },
64575 : { "box-sizing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &box_sizing_getterinfo, GenericBindingSetter, &box_sizing_setterinfo },
64576 : { "captionSide", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &captionSide_getterinfo, GenericBindingSetter, &captionSide_setterinfo },
64577 : { "caption-side", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &caption_side_getterinfo, GenericBindingSetter, &caption_side_setterinfo },
64578 : { "caretColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &caretColor_getterinfo, GenericBindingSetter, &caretColor_setterinfo },
64579 : { "caret-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &caret_color_getterinfo, GenericBindingSetter, &caret_color_setterinfo },
64580 : { "clear", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &clear_getterinfo, GenericBindingSetter, &clear_setterinfo },
64581 : { "clip", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &clip_getterinfo, GenericBindingSetter, &clip_setterinfo },
64582 : { "clipPath", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &clipPath_getterinfo, GenericBindingSetter, &clipPath_setterinfo },
64583 : { "clip-path", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &clip_path_getterinfo, GenericBindingSetter, &clip_path_setterinfo },
64584 : { "clipRule", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &clipRule_getterinfo, GenericBindingSetter, &clipRule_setterinfo },
64585 : { "clip-rule", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &clip_rule_getterinfo, GenericBindingSetter, &clip_rule_setterinfo },
64586 : { "color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &color_getterinfo, GenericBindingSetter, &color_setterinfo },
64587 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64588 : { "colorAdjust", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &colorAdjust_getterinfo, GenericBindingSetter, &colorAdjust_setterinfo },
64589 : { "color-adjust", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &color_adjust_getterinfo, GenericBindingSetter, &color_adjust_setterinfo },
64590 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64591 : { "colorInterpolation", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &colorInterpolation_getterinfo, GenericBindingSetter, &colorInterpolation_setterinfo },
64592 : { "color-interpolation", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &color_interpolation_getterinfo, GenericBindingSetter, &color_interpolation_setterinfo },
64593 : { "colorInterpolationFilters", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &colorInterpolationFilters_getterinfo, GenericBindingSetter, &colorInterpolationFilters_setterinfo },
64594 : { "color-interpolation-filters", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &color_interpolation_filters_getterinfo, GenericBindingSetter, &color_interpolation_filters_setterinfo },
64595 : { "columnCount", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &columnCount_getterinfo, GenericBindingSetter, &columnCount_setterinfo },
64596 : { "column-count", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &column_count_getterinfo, GenericBindingSetter, &column_count_setterinfo },
64597 : { "columnFill", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &columnFill_getterinfo, GenericBindingSetter, &columnFill_setterinfo },
64598 : { "column-fill", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &column_fill_getterinfo, GenericBindingSetter, &column_fill_setterinfo },
64599 : { "columnGap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &columnGap_getterinfo, GenericBindingSetter, &columnGap_setterinfo },
64600 : { "column-gap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &column_gap_getterinfo, GenericBindingSetter, &column_gap_setterinfo },
64601 : { "columnRule", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &columnRule_getterinfo, GenericBindingSetter, &columnRule_setterinfo },
64602 : { "column-rule", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &column_rule_getterinfo, GenericBindingSetter, &column_rule_setterinfo },
64603 : { "columnRuleColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &columnRuleColor_getterinfo, GenericBindingSetter, &columnRuleColor_setterinfo },
64604 : { "column-rule-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &column_rule_color_getterinfo, GenericBindingSetter, &column_rule_color_setterinfo },
64605 : { "columnRuleStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &columnRuleStyle_getterinfo, GenericBindingSetter, &columnRuleStyle_setterinfo },
64606 : { "column-rule-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &column_rule_style_getterinfo, GenericBindingSetter, &column_rule_style_setterinfo },
64607 : { "columnRuleWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &columnRuleWidth_getterinfo, GenericBindingSetter, &columnRuleWidth_setterinfo },
64608 : { "column-rule-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &column_rule_width_getterinfo, GenericBindingSetter, &column_rule_width_setterinfo },
64609 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64610 : { "columnSpan", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &columnSpan_getterinfo, GenericBindingSetter, &columnSpan_setterinfo },
64611 : { "column-span", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &column_span_getterinfo, GenericBindingSetter, &column_span_setterinfo },
64612 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64613 : { "columnWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &columnWidth_getterinfo, GenericBindingSetter, &columnWidth_setterinfo },
64614 : { "column-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &column_width_getterinfo, GenericBindingSetter, &column_width_setterinfo },
64615 : { "columns", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &columns_getterinfo, GenericBindingSetter, &columns_setterinfo },
64616 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64617 : { "contain", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &contain_getterinfo, GenericBindingSetter, &contain_setterinfo },
64618 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64619 : { "content", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &content_getterinfo, GenericBindingSetter, &content_setterinfo },
64620 : { "counterIncrement", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &counterIncrement_getterinfo, GenericBindingSetter, &counterIncrement_setterinfo },
64621 : { "counter-increment", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &counter_increment_getterinfo, GenericBindingSetter, &counter_increment_setterinfo },
64622 : { "counterReset", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &counterReset_getterinfo, GenericBindingSetter, &counterReset_setterinfo },
64623 : { "counter-reset", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &counter_reset_getterinfo, GenericBindingSetter, &counter_reset_setterinfo },
64624 : { "cursor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &cursor_getterinfo, GenericBindingSetter, &cursor_setterinfo },
64625 : { "direction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &direction_getterinfo, GenericBindingSetter, &direction_setterinfo },
64626 : { "display", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &display_getterinfo, GenericBindingSetter, &display_setterinfo },
64627 : { "dominantBaseline", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &dominantBaseline_getterinfo, GenericBindingSetter, &dominantBaseline_setterinfo },
64628 : { "dominant-baseline", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &dominant_baseline_getterinfo, GenericBindingSetter, &dominant_baseline_setterinfo },
64629 : { "emptyCells", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &emptyCells_getterinfo, GenericBindingSetter, &emptyCells_setterinfo },
64630 : { "empty-cells", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &empty_cells_getterinfo, GenericBindingSetter, &empty_cells_setterinfo },
64631 : { "fill", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fill_getterinfo, GenericBindingSetter, &fill_setterinfo },
64632 : { "fillOpacity", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fillOpacity_getterinfo, GenericBindingSetter, &fillOpacity_setterinfo },
64633 : { "fill-opacity", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fill_opacity_getterinfo, GenericBindingSetter, &fill_opacity_setterinfo },
64634 : { "fillRule", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fillRule_getterinfo, GenericBindingSetter, &fillRule_setterinfo },
64635 : { "fill-rule", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fill_rule_getterinfo, GenericBindingSetter, &fill_rule_setterinfo },
64636 : { "filter", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &filter_getterinfo, GenericBindingSetter, &filter_setterinfo },
64637 : { "flex", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &flex_getterinfo, GenericBindingSetter, &flex_setterinfo },
64638 : { "flexBasis", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &flexBasis_getterinfo, GenericBindingSetter, &flexBasis_setterinfo },
64639 : { "flex-basis", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &flex_basis_getterinfo, GenericBindingSetter, &flex_basis_setterinfo },
64640 : { "flexDirection", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &flexDirection_getterinfo, GenericBindingSetter, &flexDirection_setterinfo },
64641 : { "flex-direction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &flex_direction_getterinfo, GenericBindingSetter, &flex_direction_setterinfo },
64642 : { "flexFlow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &flexFlow_getterinfo, GenericBindingSetter, &flexFlow_setterinfo },
64643 : { "flex-flow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &flex_flow_getterinfo, GenericBindingSetter, &flex_flow_setterinfo },
64644 : { "flexGrow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &flexGrow_getterinfo, GenericBindingSetter, &flexGrow_setterinfo },
64645 : { "flex-grow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &flex_grow_getterinfo, GenericBindingSetter, &flex_grow_setterinfo },
64646 : { "flexShrink", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &flexShrink_getterinfo, GenericBindingSetter, &flexShrink_setterinfo },
64647 : { "flex-shrink", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &flex_shrink_getterinfo, GenericBindingSetter, &flex_shrink_setterinfo },
64648 : { "flexWrap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &flexWrap_getterinfo, GenericBindingSetter, &flexWrap_setterinfo },
64649 : { "flex-wrap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &flex_wrap_getterinfo, GenericBindingSetter, &flex_wrap_setterinfo },
64650 : { "cssFloat", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &cssFloat_getterinfo, GenericBindingSetter, &cssFloat_setterinfo },
64651 : { "float", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &float_getterinfo, GenericBindingSetter, &float_setterinfo },
64652 : { "MozFloatEdge", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozFloatEdge_getterinfo, GenericBindingSetter, &MozFloatEdge_setterinfo },
64653 : { "-moz-float-edge", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_float_edge_getterinfo, GenericBindingSetter, &_moz_float_edge_setterinfo },
64654 : { "floodColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &floodColor_getterinfo, GenericBindingSetter, &floodColor_setterinfo },
64655 : { "flood-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &flood_color_getterinfo, GenericBindingSetter, &flood_color_setterinfo },
64656 : { "floodOpacity", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &floodOpacity_getterinfo, GenericBindingSetter, &floodOpacity_setterinfo },
64657 : { "flood-opacity", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &flood_opacity_getterinfo, GenericBindingSetter, &flood_opacity_setterinfo },
64658 : { "font", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_getterinfo, GenericBindingSetter, &font_setterinfo },
64659 : { "fontFamily", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontFamily_getterinfo, GenericBindingSetter, &fontFamily_setterinfo },
64660 : { "font-family", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_family_getterinfo, GenericBindingSetter, &font_family_setterinfo },
64661 : { "fontFeatureSettings", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontFeatureSettings_getterinfo, GenericBindingSetter, &fontFeatureSettings_setterinfo },
64662 : { "font-feature-settings", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_feature_settings_getterinfo, GenericBindingSetter, &font_feature_settings_setterinfo },
64663 : { "fontKerning", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontKerning_getterinfo, GenericBindingSetter, &fontKerning_setterinfo },
64664 : { "font-kerning", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_kerning_getterinfo, GenericBindingSetter, &font_kerning_setterinfo },
64665 : { "fontLanguageOverride", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontLanguageOverride_getterinfo, GenericBindingSetter, &fontLanguageOverride_setterinfo },
64666 : { "font-language-override", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_language_override_getterinfo, GenericBindingSetter, &font_language_override_setterinfo },
64667 : { "fontSize", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontSize_getterinfo, GenericBindingSetter, &fontSize_setterinfo },
64668 : { "font-size", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_size_getterinfo, GenericBindingSetter, &font_size_setterinfo },
64669 : { "fontSizeAdjust", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontSizeAdjust_getterinfo, GenericBindingSetter, &fontSizeAdjust_setterinfo },
64670 : { "font-size-adjust", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_size_adjust_getterinfo, GenericBindingSetter, &font_size_adjust_setterinfo },
64671 : { "fontStretch", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontStretch_getterinfo, GenericBindingSetter, &fontStretch_setterinfo },
64672 : { "font-stretch", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_stretch_getterinfo, GenericBindingSetter, &font_stretch_setterinfo },
64673 : { "fontStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontStyle_getterinfo, GenericBindingSetter, &fontStyle_setterinfo },
64674 : { "font-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_style_getterinfo, GenericBindingSetter, &font_style_setterinfo },
64675 : { "fontSynthesis", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontSynthesis_getterinfo, GenericBindingSetter, &fontSynthesis_setterinfo },
64676 : { "font-synthesis", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_synthesis_getterinfo, GenericBindingSetter, &font_synthesis_setterinfo },
64677 : { "fontVariant", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontVariant_getterinfo, GenericBindingSetter, &fontVariant_setterinfo },
64678 : { "font-variant", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_variant_getterinfo, GenericBindingSetter, &font_variant_setterinfo },
64679 : { "fontVariantAlternates", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontVariantAlternates_getterinfo, GenericBindingSetter, &fontVariantAlternates_setterinfo },
64680 : { "font-variant-alternates", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_variant_alternates_getterinfo, GenericBindingSetter, &font_variant_alternates_setterinfo },
64681 : { "fontVariantCaps", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontVariantCaps_getterinfo, GenericBindingSetter, &fontVariantCaps_setterinfo },
64682 : { "font-variant-caps", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_variant_caps_getterinfo, GenericBindingSetter, &font_variant_caps_setterinfo },
64683 : { "fontVariantEastAsian", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontVariantEastAsian_getterinfo, GenericBindingSetter, &fontVariantEastAsian_setterinfo },
64684 : { "font-variant-east-asian", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_variant_east_asian_getterinfo, GenericBindingSetter, &font_variant_east_asian_setterinfo },
64685 : { "fontVariantLigatures", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontVariantLigatures_getterinfo, GenericBindingSetter, &fontVariantLigatures_setterinfo },
64686 : { "font-variant-ligatures", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_variant_ligatures_getterinfo, GenericBindingSetter, &font_variant_ligatures_setterinfo },
64687 : { "fontVariantNumeric", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontVariantNumeric_getterinfo, GenericBindingSetter, &fontVariantNumeric_setterinfo },
64688 : { "font-variant-numeric", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_variant_numeric_getterinfo, GenericBindingSetter, &font_variant_numeric_setterinfo },
64689 : { "fontVariantPosition", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontVariantPosition_getterinfo, GenericBindingSetter, &fontVariantPosition_setterinfo },
64690 : { "font-variant-position", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_variant_position_getterinfo, GenericBindingSetter, &font_variant_position_setterinfo },
64691 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64692 : { "fontVariationSettings", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontVariationSettings_getterinfo, GenericBindingSetter, &fontVariationSettings_setterinfo },
64693 : { "font-variation-settings", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_variation_settings_getterinfo, GenericBindingSetter, &font_variation_settings_setterinfo },
64694 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64695 : { "fontWeight", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &fontWeight_getterinfo, GenericBindingSetter, &fontWeight_setterinfo },
64696 : { "font-weight", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &font_weight_getterinfo, GenericBindingSetter, &font_weight_setterinfo },
64697 : { "MozForceBrokenImageIcon", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozForceBrokenImageIcon_getterinfo, GenericBindingSetter, &MozForceBrokenImageIcon_setterinfo },
64698 : { "-moz-force-broken-image-icon", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_force_broken_image_icon_getterinfo, GenericBindingSetter, &_moz_force_broken_image_icon_setterinfo },
64699 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64700 : { "grid", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_getterinfo, GenericBindingSetter, &grid_setterinfo },
64701 : { "gridArea", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridArea_getterinfo, GenericBindingSetter, &gridArea_setterinfo },
64702 : { "grid-area", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_area_getterinfo, GenericBindingSetter, &grid_area_setterinfo },
64703 : { "gridAutoColumns", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridAutoColumns_getterinfo, GenericBindingSetter, &gridAutoColumns_setterinfo },
64704 : { "grid-auto-columns", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_auto_columns_getterinfo, GenericBindingSetter, &grid_auto_columns_setterinfo },
64705 : { "gridAutoFlow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridAutoFlow_getterinfo, GenericBindingSetter, &gridAutoFlow_setterinfo },
64706 : { "grid-auto-flow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_auto_flow_getterinfo, GenericBindingSetter, &grid_auto_flow_setterinfo },
64707 : { "gridAutoRows", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridAutoRows_getterinfo, GenericBindingSetter, &gridAutoRows_setterinfo },
64708 : { "grid-auto-rows", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_auto_rows_getterinfo, GenericBindingSetter, &grid_auto_rows_setterinfo },
64709 : { "gridColumn", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridColumn_getterinfo, GenericBindingSetter, &gridColumn_setterinfo },
64710 : { "grid-column", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_column_getterinfo, GenericBindingSetter, &grid_column_setterinfo },
64711 : { "gridColumnEnd", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridColumnEnd_getterinfo, GenericBindingSetter, &gridColumnEnd_setterinfo },
64712 : { "grid-column-end", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_column_end_getterinfo, GenericBindingSetter, &grid_column_end_setterinfo },
64713 : { "gridColumnGap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridColumnGap_getterinfo, GenericBindingSetter, &gridColumnGap_setterinfo },
64714 : { "grid-column-gap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_column_gap_getterinfo, GenericBindingSetter, &grid_column_gap_setterinfo },
64715 : { "gridColumnStart", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridColumnStart_getterinfo, GenericBindingSetter, &gridColumnStart_setterinfo },
64716 : { "grid-column-start", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_column_start_getterinfo, GenericBindingSetter, &grid_column_start_setterinfo },
64717 : { "gridGap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridGap_getterinfo, GenericBindingSetter, &gridGap_setterinfo },
64718 : { "grid-gap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_gap_getterinfo, GenericBindingSetter, &grid_gap_setterinfo },
64719 : { "gridRow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridRow_getterinfo, GenericBindingSetter, &gridRow_setterinfo },
64720 : { "grid-row", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_row_getterinfo, GenericBindingSetter, &grid_row_setterinfo },
64721 : { "gridRowEnd", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridRowEnd_getterinfo, GenericBindingSetter, &gridRowEnd_setterinfo },
64722 : { "grid-row-end", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_row_end_getterinfo, GenericBindingSetter, &grid_row_end_setterinfo },
64723 : { "gridRowGap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridRowGap_getterinfo, GenericBindingSetter, &gridRowGap_setterinfo },
64724 : { "grid-row-gap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_row_gap_getterinfo, GenericBindingSetter, &grid_row_gap_setterinfo },
64725 : { "gridRowStart", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridRowStart_getterinfo, GenericBindingSetter, &gridRowStart_setterinfo },
64726 : { "grid-row-start", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_row_start_getterinfo, GenericBindingSetter, &grid_row_start_setterinfo },
64727 : { "gridTemplate", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridTemplate_getterinfo, GenericBindingSetter, &gridTemplate_setterinfo },
64728 : { "grid-template", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_template_getterinfo, GenericBindingSetter, &grid_template_setterinfo },
64729 : { "gridTemplateAreas", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridTemplateAreas_getterinfo, GenericBindingSetter, &gridTemplateAreas_setterinfo },
64730 : { "grid-template-areas", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_template_areas_getterinfo, GenericBindingSetter, &grid_template_areas_setterinfo },
64731 : { "gridTemplateColumns", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridTemplateColumns_getterinfo, GenericBindingSetter, &gridTemplateColumns_setterinfo },
64732 : { "grid-template-columns", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_template_columns_getterinfo, GenericBindingSetter, &grid_template_columns_setterinfo },
64733 : { "gridTemplateRows", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &gridTemplateRows_getterinfo, GenericBindingSetter, &gridTemplateRows_setterinfo },
64734 : { "grid-template-rows", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &grid_template_rows_getterinfo, GenericBindingSetter, &grid_template_rows_setterinfo },
64735 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64736 : { "height", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &height_getterinfo, GenericBindingSetter, &height_setterinfo },
64737 : { "hyphens", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &hyphens_getterinfo, GenericBindingSetter, &hyphens_setterinfo },
64738 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64739 : { "initialLetter", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &initialLetter_getterinfo, GenericBindingSetter, &initialLetter_setterinfo },
64740 : { "initial-letter", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &initial_letter_getterinfo, GenericBindingSetter, &initial_letter_setterinfo },
64741 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64742 : { "imageOrientation", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &imageOrientation_getterinfo, GenericBindingSetter, &imageOrientation_setterinfo },
64743 : { "image-orientation", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &image_orientation_getterinfo, GenericBindingSetter, &image_orientation_setterinfo },
64744 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64745 : { "MozImageRegion", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozImageRegion_getterinfo, GenericBindingSetter, &MozImageRegion_setterinfo },
64746 : { "-moz-image-region", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_image_region_getterinfo, GenericBindingSetter, &_moz_image_region_setterinfo },
64747 : { "imageRendering", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &imageRendering_getterinfo, GenericBindingSetter, &imageRendering_setterinfo },
64748 : { "image-rendering", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &image_rendering_getterinfo, GenericBindingSetter, &image_rendering_setterinfo },
64749 : { "imeMode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &imeMode_getterinfo, GenericBindingSetter, &imeMode_setterinfo },
64750 : { "ime-mode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &ime_mode_getterinfo, GenericBindingSetter, &ime_mode_setterinfo },
64751 : { "inlineSize", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &inlineSize_getterinfo, GenericBindingSetter, &inlineSize_setterinfo },
64752 : { "inline-size", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &inline_size_getterinfo, GenericBindingSetter, &inline_size_setterinfo },
64753 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64754 : { "isolation", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &isolation_getterinfo, GenericBindingSetter, &isolation_setterinfo },
64755 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64756 : { "justifyContent", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &justifyContent_getterinfo, GenericBindingSetter, &justifyContent_setterinfo },
64757 : { "justify-content", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &justify_content_getterinfo, GenericBindingSetter, &justify_content_setterinfo },
64758 : { "justifyItems", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &justifyItems_getterinfo, GenericBindingSetter, &justifyItems_setterinfo },
64759 : { "justify-items", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &justify_items_getterinfo, GenericBindingSetter, &justify_items_setterinfo },
64760 : { "justifySelf", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &justifySelf_getterinfo, GenericBindingSetter, &justifySelf_setterinfo },
64761 : { "justify-self", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &justify_self_getterinfo, GenericBindingSetter, &justify_self_setterinfo },
64762 : { "left", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &left_getterinfo, GenericBindingSetter, &left_setterinfo },
64763 : { "letterSpacing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &letterSpacing_getterinfo, GenericBindingSetter, &letterSpacing_setterinfo },
64764 : { "letter-spacing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &letter_spacing_getterinfo, GenericBindingSetter, &letter_spacing_setterinfo },
64765 : { "lightingColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &lightingColor_getterinfo, GenericBindingSetter, &lightingColor_setterinfo },
64766 : { "lighting-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &lighting_color_getterinfo, GenericBindingSetter, &lighting_color_setterinfo },
64767 : { "lineHeight", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &lineHeight_getterinfo, GenericBindingSetter, &lineHeight_setterinfo },
64768 : { "line-height", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &line_height_getterinfo, GenericBindingSetter, &line_height_setterinfo },
64769 : { "listStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &listStyle_getterinfo, GenericBindingSetter, &listStyle_setterinfo },
64770 : { "list-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &list_style_getterinfo, GenericBindingSetter, &list_style_setterinfo },
64771 : { "listStyleImage", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &listStyleImage_getterinfo, GenericBindingSetter, &listStyleImage_setterinfo },
64772 : { "list-style-image", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &list_style_image_getterinfo, GenericBindingSetter, &list_style_image_setterinfo },
64773 : { "listStylePosition", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &listStylePosition_getterinfo, GenericBindingSetter, &listStylePosition_setterinfo },
64774 : { "list-style-position", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &list_style_position_getterinfo, GenericBindingSetter, &list_style_position_setterinfo },
64775 : { "listStyleType", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &listStyleType_getterinfo, GenericBindingSetter, &listStyleType_setterinfo },
64776 : { "list-style-type", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &list_style_type_getterinfo, GenericBindingSetter, &list_style_type_setterinfo },
64777 : { "margin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &margin_getterinfo, GenericBindingSetter, &margin_setterinfo },
64778 : { "marginBlockEnd", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &marginBlockEnd_getterinfo, GenericBindingSetter, &marginBlockEnd_setterinfo },
64779 : { "margin-block-end", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &margin_block_end_getterinfo, GenericBindingSetter, &margin_block_end_setterinfo },
64780 : { "marginBlockStart", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &marginBlockStart_getterinfo, GenericBindingSetter, &marginBlockStart_setterinfo },
64781 : { "margin-block-start", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &margin_block_start_getterinfo, GenericBindingSetter, &margin_block_start_setterinfo },
64782 : { "marginBottom", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &marginBottom_getterinfo, GenericBindingSetter, &marginBottom_setterinfo },
64783 : { "margin-bottom", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &margin_bottom_getterinfo, GenericBindingSetter, &margin_bottom_setterinfo },
64784 : { "marginInlineEnd", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &marginInlineEnd_getterinfo, GenericBindingSetter, &marginInlineEnd_setterinfo },
64785 : { "margin-inline-end", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &margin_inline_end_getterinfo, GenericBindingSetter, &margin_inline_end_setterinfo },
64786 : { "marginInlineStart", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &marginInlineStart_getterinfo, GenericBindingSetter, &marginInlineStart_setterinfo },
64787 : { "margin-inline-start", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &margin_inline_start_getterinfo, GenericBindingSetter, &margin_inline_start_setterinfo },
64788 : { "marginLeft", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &marginLeft_getterinfo, GenericBindingSetter, &marginLeft_setterinfo },
64789 : { "margin-left", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &margin_left_getterinfo, GenericBindingSetter, &margin_left_setterinfo },
64790 : { "marginRight", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &marginRight_getterinfo, GenericBindingSetter, &marginRight_setterinfo },
64791 : { "margin-right", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &margin_right_getterinfo, GenericBindingSetter, &margin_right_setterinfo },
64792 : { "marginTop", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &marginTop_getterinfo, GenericBindingSetter, &marginTop_setterinfo },
64793 : { "margin-top", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &margin_top_getterinfo, GenericBindingSetter, &margin_top_setterinfo },
64794 : { "marker", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &marker_getterinfo, GenericBindingSetter, &marker_setterinfo },
64795 : { "markerEnd", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &markerEnd_getterinfo, GenericBindingSetter, &markerEnd_setterinfo },
64796 : { "marker-end", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &marker_end_getterinfo, GenericBindingSetter, &marker_end_setterinfo },
64797 : { "markerMid", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &markerMid_getterinfo, GenericBindingSetter, &markerMid_setterinfo },
64798 : { "marker-mid", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &marker_mid_getterinfo, GenericBindingSetter, &marker_mid_setterinfo },
64799 : { "markerStart", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &markerStart_getterinfo, GenericBindingSetter, &markerStart_setterinfo },
64800 : { "marker-start", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &marker_start_getterinfo, GenericBindingSetter, &marker_start_setterinfo },
64801 : { "mask", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &mask_getterinfo, GenericBindingSetter, &mask_setterinfo },
64802 : { "maskClip", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &maskClip_getterinfo, GenericBindingSetter, &maskClip_setterinfo },
64803 : { "mask-clip", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &mask_clip_getterinfo, GenericBindingSetter, &mask_clip_setterinfo },
64804 : { "maskComposite", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &maskComposite_getterinfo, GenericBindingSetter, &maskComposite_setterinfo },
64805 : { "mask-composite", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &mask_composite_getterinfo, GenericBindingSetter, &mask_composite_setterinfo },
64806 : { "maskImage", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &maskImage_getterinfo, GenericBindingSetter, &maskImage_setterinfo },
64807 : { "mask-image", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &mask_image_getterinfo, GenericBindingSetter, &mask_image_setterinfo },
64808 : { "maskMode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &maskMode_getterinfo, GenericBindingSetter, &maskMode_setterinfo },
64809 : { "mask-mode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &mask_mode_getterinfo, GenericBindingSetter, &mask_mode_setterinfo },
64810 : { "maskOrigin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &maskOrigin_getterinfo, GenericBindingSetter, &maskOrigin_setterinfo },
64811 : { "mask-origin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &mask_origin_getterinfo, GenericBindingSetter, &mask_origin_setterinfo },
64812 : { "maskPosition", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &maskPosition_getterinfo, GenericBindingSetter, &maskPosition_setterinfo },
64813 : { "mask-position", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &mask_position_getterinfo, GenericBindingSetter, &mask_position_setterinfo },
64814 : { "maskPositionX", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &maskPositionX_getterinfo, GenericBindingSetter, &maskPositionX_setterinfo },
64815 : { "mask-position-x", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &mask_position_x_getterinfo, GenericBindingSetter, &mask_position_x_setterinfo },
64816 : { "maskPositionY", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &maskPositionY_getterinfo, GenericBindingSetter, &maskPositionY_setterinfo },
64817 : { "mask-position-y", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &mask_position_y_getterinfo, GenericBindingSetter, &mask_position_y_setterinfo },
64818 : { "maskRepeat", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &maskRepeat_getterinfo, GenericBindingSetter, &maskRepeat_setterinfo },
64819 : { "mask-repeat", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &mask_repeat_getterinfo, GenericBindingSetter, &mask_repeat_setterinfo },
64820 : { "maskSize", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &maskSize_getterinfo, GenericBindingSetter, &maskSize_setterinfo },
64821 : { "mask-size", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &mask_size_getterinfo, GenericBindingSetter, &mask_size_setterinfo },
64822 : { "maskType", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &maskType_getterinfo, GenericBindingSetter, &maskType_setterinfo },
64823 : { "mask-type", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &mask_type_getterinfo, GenericBindingSetter, &mask_type_setterinfo },
64824 : { "maxBlockSize", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &maxBlockSize_getterinfo, GenericBindingSetter, &maxBlockSize_setterinfo },
64825 : { "max-block-size", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &max_block_size_getterinfo, GenericBindingSetter, &max_block_size_setterinfo },
64826 : { "maxHeight", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &maxHeight_getterinfo, GenericBindingSetter, &maxHeight_setterinfo },
64827 : { "max-height", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &max_height_getterinfo, GenericBindingSetter, &max_height_setterinfo },
64828 : { "maxInlineSize", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &maxInlineSize_getterinfo, GenericBindingSetter, &maxInlineSize_setterinfo },
64829 : { "max-inline-size", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &max_inline_size_getterinfo, GenericBindingSetter, &max_inline_size_setterinfo },
64830 : { "maxWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &maxWidth_getterinfo, GenericBindingSetter, &maxWidth_setterinfo },
64831 : { "max-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &max_width_getterinfo, GenericBindingSetter, &max_width_setterinfo },
64832 : { "minBlockSize", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &minBlockSize_getterinfo, GenericBindingSetter, &minBlockSize_setterinfo },
64833 : { "min-block-size", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &min_block_size_getterinfo, GenericBindingSetter, &min_block_size_setterinfo },
64834 : { "minHeight", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &minHeight_getterinfo, GenericBindingSetter, &minHeight_setterinfo },
64835 : { "min-height", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &min_height_getterinfo, GenericBindingSetter, &min_height_setterinfo },
64836 : { "minInlineSize", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &minInlineSize_getterinfo, GenericBindingSetter, &minInlineSize_setterinfo },
64837 : { "min-inline-size", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &min_inline_size_getterinfo, GenericBindingSetter, &min_inline_size_setterinfo },
64838 : { "minWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &minWidth_getterinfo, GenericBindingSetter, &minWidth_setterinfo },
64839 : { "min-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &min_width_getterinfo, GenericBindingSetter, &min_width_setterinfo },
64840 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64841 : { "mixBlendMode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &mixBlendMode_getterinfo, GenericBindingSetter, &mixBlendMode_setterinfo },
64842 : { "mix-blend-mode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &mix_blend_mode_getterinfo, GenericBindingSetter, &mix_blend_mode_setterinfo },
64843 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64844 : { "objectFit", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &objectFit_getterinfo, GenericBindingSetter, &objectFit_setterinfo },
64845 : { "object-fit", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &object_fit_getterinfo, GenericBindingSetter, &object_fit_setterinfo },
64846 : { "objectPosition", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &objectPosition_getterinfo, GenericBindingSetter, &objectPosition_setterinfo },
64847 : { "object-position", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &object_position_getterinfo, GenericBindingSetter, &object_position_setterinfo },
64848 : { "offsetBlockEnd", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &offsetBlockEnd_getterinfo, GenericBindingSetter, &offsetBlockEnd_setterinfo },
64849 : { "offset-block-end", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &offset_block_end_getterinfo, GenericBindingSetter, &offset_block_end_setterinfo },
64850 : { "offsetBlockStart", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &offsetBlockStart_getterinfo, GenericBindingSetter, &offsetBlockStart_setterinfo },
64851 : { "offset-block-start", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &offset_block_start_getterinfo, GenericBindingSetter, &offset_block_start_setterinfo },
64852 : { "offsetInlineEnd", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &offsetInlineEnd_getterinfo, GenericBindingSetter, &offsetInlineEnd_setterinfo },
64853 : { "offset-inline-end", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &offset_inline_end_getterinfo, GenericBindingSetter, &offset_inline_end_setterinfo },
64854 : { "offsetInlineStart", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &offsetInlineStart_getterinfo, GenericBindingSetter, &offsetInlineStart_setterinfo },
64855 : { "offset-inline-start", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &offset_inline_start_getterinfo, GenericBindingSetter, &offset_inline_start_setterinfo },
64856 : { "opacity", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &opacity_getterinfo, GenericBindingSetter, &opacity_setterinfo },
64857 : { "order", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &order_getterinfo, GenericBindingSetter, &order_setterinfo },
64858 : { "MozOrient", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozOrient_getterinfo, GenericBindingSetter, &MozOrient_setterinfo },
64859 : { "-moz-orient", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_orient_getterinfo, GenericBindingSetter, &_moz_orient_setterinfo },
64860 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64861 : { "MozOsxFontSmoothing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozOsxFontSmoothing_getterinfo, GenericBindingSetter, &MozOsxFontSmoothing_setterinfo },
64862 : { "-moz-osx-font-smoothing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_osx_font_smoothing_getterinfo, GenericBindingSetter, &_moz_osx_font_smoothing_setterinfo },
64863 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64864 : { "outline", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &outline_getterinfo, GenericBindingSetter, &outline_setterinfo },
64865 : { "outlineColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &outlineColor_getterinfo, GenericBindingSetter, &outlineColor_setterinfo },
64866 : { "outline-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &outline_color_getterinfo, GenericBindingSetter, &outline_color_setterinfo },
64867 : { "outlineOffset", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &outlineOffset_getterinfo, GenericBindingSetter, &outlineOffset_setterinfo },
64868 : { "outline-offset", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &outline_offset_getterinfo, GenericBindingSetter, &outline_offset_setterinfo },
64869 : { "MozOutlineRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozOutlineRadius_getterinfo, GenericBindingSetter, &MozOutlineRadius_setterinfo },
64870 : { "-moz-outline-radius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_outline_radius_getterinfo, GenericBindingSetter, &_moz_outline_radius_setterinfo },
64871 : { "MozOutlineRadiusBottomleft", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozOutlineRadiusBottomleft_getterinfo, GenericBindingSetter, &MozOutlineRadiusBottomleft_setterinfo },
64872 : { "-moz-outline-radius-bottomleft", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_outline_radius_bottomleft_getterinfo, GenericBindingSetter, &_moz_outline_radius_bottomleft_setterinfo },
64873 : { "MozOutlineRadiusBottomright", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozOutlineRadiusBottomright_getterinfo, GenericBindingSetter, &MozOutlineRadiusBottomright_setterinfo },
64874 : { "-moz-outline-radius-bottomright", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_outline_radius_bottomright_getterinfo, GenericBindingSetter, &_moz_outline_radius_bottomright_setterinfo },
64875 : { "MozOutlineRadiusTopleft", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozOutlineRadiusTopleft_getterinfo, GenericBindingSetter, &MozOutlineRadiusTopleft_setterinfo },
64876 : { "-moz-outline-radius-topleft", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_outline_radius_topleft_getterinfo, GenericBindingSetter, &_moz_outline_radius_topleft_setterinfo },
64877 : { "MozOutlineRadiusTopright", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozOutlineRadiusTopright_getterinfo, GenericBindingSetter, &MozOutlineRadiusTopright_setterinfo },
64878 : { "-moz-outline-radius-topright", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_outline_radius_topright_getterinfo, GenericBindingSetter, &_moz_outline_radius_topright_setterinfo },
64879 : { "outlineStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &outlineStyle_getterinfo, GenericBindingSetter, &outlineStyle_setterinfo },
64880 : { "outline-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &outline_style_getterinfo, GenericBindingSetter, &outline_style_setterinfo },
64881 : { "outlineWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &outlineWidth_getterinfo, GenericBindingSetter, &outlineWidth_setterinfo },
64882 : { "outline-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &outline_width_getterinfo, GenericBindingSetter, &outline_width_setterinfo },
64883 : { "overflow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &overflow_getterinfo, GenericBindingSetter, &overflow_setterinfo },
64884 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64885 : { "overflowClipBox", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &overflowClipBox_getterinfo, GenericBindingSetter, &overflowClipBox_setterinfo },
64886 : { "overflow-clip-box", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &overflow_clip_box_getterinfo, GenericBindingSetter, &overflow_clip_box_setterinfo },
64887 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64888 : { "overflowX", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &overflowX_getterinfo, GenericBindingSetter, &overflowX_setterinfo },
64889 : { "overflow-x", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &overflow_x_getterinfo, GenericBindingSetter, &overflow_x_setterinfo },
64890 : { "overflowY", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &overflowY_getterinfo, GenericBindingSetter, &overflowY_setterinfo },
64891 : { "overflow-y", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &overflow_y_getterinfo, GenericBindingSetter, &overflow_y_setterinfo },
64892 : { "padding", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &padding_getterinfo, GenericBindingSetter, &padding_setterinfo },
64893 : { "paddingBlockEnd", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &paddingBlockEnd_getterinfo, GenericBindingSetter, &paddingBlockEnd_setterinfo },
64894 : { "padding-block-end", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &padding_block_end_getterinfo, GenericBindingSetter, &padding_block_end_setterinfo },
64895 : { "paddingBlockStart", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &paddingBlockStart_getterinfo, GenericBindingSetter, &paddingBlockStart_setterinfo },
64896 : { "padding-block-start", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &padding_block_start_getterinfo, GenericBindingSetter, &padding_block_start_setterinfo },
64897 : { "paddingBottom", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &paddingBottom_getterinfo, GenericBindingSetter, &paddingBottom_setterinfo },
64898 : { "padding-bottom", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &padding_bottom_getterinfo, GenericBindingSetter, &padding_bottom_setterinfo },
64899 : { "paddingInlineEnd", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &paddingInlineEnd_getterinfo, GenericBindingSetter, &paddingInlineEnd_setterinfo },
64900 : { "padding-inline-end", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &padding_inline_end_getterinfo, GenericBindingSetter, &padding_inline_end_setterinfo },
64901 : { "paddingInlineStart", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &paddingInlineStart_getterinfo, GenericBindingSetter, &paddingInlineStart_setterinfo },
64902 : { "padding-inline-start", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &padding_inline_start_getterinfo, GenericBindingSetter, &padding_inline_start_setterinfo },
64903 : { "paddingLeft", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &paddingLeft_getterinfo, GenericBindingSetter, &paddingLeft_setterinfo },
64904 : { "padding-left", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &padding_left_getterinfo, GenericBindingSetter, &padding_left_setterinfo },
64905 : { "paddingRight", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &paddingRight_getterinfo, GenericBindingSetter, &paddingRight_setterinfo },
64906 : { "padding-right", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &padding_right_getterinfo, GenericBindingSetter, &padding_right_setterinfo },
64907 : { "paddingTop", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &paddingTop_getterinfo, GenericBindingSetter, &paddingTop_setterinfo },
64908 : { "padding-top", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &padding_top_getterinfo, GenericBindingSetter, &padding_top_setterinfo },
64909 : { "pageBreakAfter", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &pageBreakAfter_getterinfo, GenericBindingSetter, &pageBreakAfter_setterinfo },
64910 : { "page-break-after", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &page_break_after_getterinfo, GenericBindingSetter, &page_break_after_setterinfo },
64911 : { "pageBreakBefore", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &pageBreakBefore_getterinfo, GenericBindingSetter, &pageBreakBefore_setterinfo },
64912 : { "page-break-before", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &page_break_before_getterinfo, GenericBindingSetter, &page_break_before_setterinfo },
64913 : { "pageBreakInside", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &pageBreakInside_getterinfo, GenericBindingSetter, &pageBreakInside_setterinfo },
64914 : { "page-break-inside", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &page_break_inside_getterinfo, GenericBindingSetter, &page_break_inside_setterinfo },
64915 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64916 : { "paintOrder", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &paintOrder_getterinfo, GenericBindingSetter, &paintOrder_setterinfo },
64917 : { "paint-order", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &paint_order_getterinfo, GenericBindingSetter, &paint_order_setterinfo },
64918 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64919 : { "perspective", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &perspective_getterinfo, GenericBindingSetter, &perspective_setterinfo },
64920 : { "perspectiveOrigin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &perspectiveOrigin_getterinfo, GenericBindingSetter, &perspectiveOrigin_setterinfo },
64921 : { "perspective-origin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &perspective_origin_getterinfo, GenericBindingSetter, &perspective_origin_setterinfo },
64922 : { "placeContent", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &placeContent_getterinfo, GenericBindingSetter, &placeContent_setterinfo },
64923 : { "place-content", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &place_content_getterinfo, GenericBindingSetter, &place_content_setterinfo },
64924 : { "placeItems", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &placeItems_getterinfo, GenericBindingSetter, &placeItems_setterinfo },
64925 : { "place-items", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &place_items_getterinfo, GenericBindingSetter, &place_items_setterinfo },
64926 : { "placeSelf", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &placeSelf_getterinfo, GenericBindingSetter, &placeSelf_setterinfo },
64927 : { "place-self", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &place_self_getterinfo, GenericBindingSetter, &place_self_setterinfo },
64928 : { "pointerEvents", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &pointerEvents_getterinfo, GenericBindingSetter, &pointerEvents_setterinfo },
64929 : { "pointer-events", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &pointer_events_getterinfo, GenericBindingSetter, &pointer_events_setterinfo },
64930 : { "position", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &position_getterinfo, GenericBindingSetter, &position_setterinfo },
64931 : { "quotes", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, "es_getterinfo, GenericBindingSetter, "es_setterinfo },
64932 : { "resize", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &resize_getterinfo, GenericBindingSetter, &resize_setterinfo },
64933 : { "right", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &right_getterinfo, GenericBindingSetter, &right_setterinfo },
64934 : { "rubyAlign", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &rubyAlign_getterinfo, GenericBindingSetter, &rubyAlign_setterinfo },
64935 : { "ruby-align", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &ruby_align_getterinfo, GenericBindingSetter, &ruby_align_setterinfo },
64936 : { "rubyPosition", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &rubyPosition_getterinfo, GenericBindingSetter, &rubyPosition_setterinfo },
64937 : { "ruby-position", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &ruby_position_getterinfo, GenericBindingSetter, &ruby_position_setterinfo },
64938 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64939 : { "scrollBehavior", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scrollBehavior_getterinfo, GenericBindingSetter, &scrollBehavior_setterinfo },
64940 : { "scroll-behavior", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scroll_behavior_getterinfo, GenericBindingSetter, &scroll_behavior_setterinfo },
64941 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64942 : { "scrollSnapCoordinate", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scrollSnapCoordinate_getterinfo, GenericBindingSetter, &scrollSnapCoordinate_setterinfo },
64943 : { "scroll-snap-coordinate", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scroll_snap_coordinate_getterinfo, GenericBindingSetter, &scroll_snap_coordinate_setterinfo },
64944 : { "scrollSnapDestination", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scrollSnapDestination_getterinfo, GenericBindingSetter, &scrollSnapDestination_setterinfo },
64945 : { "scroll-snap-destination", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scroll_snap_destination_getterinfo, GenericBindingSetter, &scroll_snap_destination_setterinfo },
64946 : { "scrollSnapPointsX", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scrollSnapPointsX_getterinfo, GenericBindingSetter, &scrollSnapPointsX_setterinfo },
64947 : { "scroll-snap-points-x", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scroll_snap_points_x_getterinfo, GenericBindingSetter, &scroll_snap_points_x_setterinfo },
64948 : { "scrollSnapPointsY", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scrollSnapPointsY_getterinfo, GenericBindingSetter, &scrollSnapPointsY_setterinfo },
64949 : { "scroll-snap-points-y", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scroll_snap_points_y_getterinfo, GenericBindingSetter, &scroll_snap_points_y_setterinfo },
64950 : { "scrollSnapType", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scrollSnapType_getterinfo, GenericBindingSetter, &scrollSnapType_setterinfo },
64951 : { "scroll-snap-type", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scroll_snap_type_getterinfo, GenericBindingSetter, &scroll_snap_type_setterinfo },
64952 : { "scrollSnapTypeX", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scrollSnapTypeX_getterinfo, GenericBindingSetter, &scrollSnapTypeX_setterinfo },
64953 : { "scroll-snap-type-x", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scroll_snap_type_x_getterinfo, GenericBindingSetter, &scroll_snap_type_x_setterinfo },
64954 : { "scrollSnapTypeY", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scrollSnapTypeY_getterinfo, GenericBindingSetter, &scrollSnapTypeY_setterinfo },
64955 : { "scroll-snap-type-y", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &scroll_snap_type_y_getterinfo, GenericBindingSetter, &scroll_snap_type_y_setterinfo },
64956 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64957 : { "shapeOutside", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &shapeOutside_getterinfo, GenericBindingSetter, &shapeOutside_setterinfo },
64958 : { "shape-outside", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &shape_outside_getterinfo, GenericBindingSetter, &shape_outside_setterinfo },
64959 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64960 : { "shapeRendering", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &shapeRendering_getterinfo, GenericBindingSetter, &shapeRendering_setterinfo },
64961 : { "shape-rendering", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &shape_rendering_getterinfo, GenericBindingSetter, &shape_rendering_setterinfo },
64962 : { "MozStackSizing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozStackSizing_getterinfo, GenericBindingSetter, &MozStackSizing_setterinfo },
64963 : { "-moz-stack-sizing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_stack_sizing_getterinfo, GenericBindingSetter, &_moz_stack_sizing_setterinfo },
64964 : { "stopColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &stopColor_getterinfo, GenericBindingSetter, &stopColor_setterinfo },
64965 : { "stop-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &stop_color_getterinfo, GenericBindingSetter, &stop_color_setterinfo },
64966 : { "stopOpacity", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &stopOpacity_getterinfo, GenericBindingSetter, &stopOpacity_setterinfo },
64967 : { "stop-opacity", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &stop_opacity_getterinfo, GenericBindingSetter, &stop_opacity_setterinfo },
64968 : { "stroke", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &stroke_getterinfo, GenericBindingSetter, &stroke_setterinfo },
64969 : { "strokeDasharray", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &strokeDasharray_getterinfo, GenericBindingSetter, &strokeDasharray_setterinfo },
64970 : { "stroke-dasharray", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &stroke_dasharray_getterinfo, GenericBindingSetter, &stroke_dasharray_setterinfo },
64971 : { "strokeDashoffset", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &strokeDashoffset_getterinfo, GenericBindingSetter, &strokeDashoffset_setterinfo },
64972 : { "stroke-dashoffset", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &stroke_dashoffset_getterinfo, GenericBindingSetter, &stroke_dashoffset_setterinfo },
64973 : { "strokeLinecap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &strokeLinecap_getterinfo, GenericBindingSetter, &strokeLinecap_setterinfo },
64974 : { "stroke-linecap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &stroke_linecap_getterinfo, GenericBindingSetter, &stroke_linecap_setterinfo },
64975 : { "strokeLinejoin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &strokeLinejoin_getterinfo, GenericBindingSetter, &strokeLinejoin_setterinfo },
64976 : { "stroke-linejoin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &stroke_linejoin_getterinfo, GenericBindingSetter, &stroke_linejoin_setterinfo },
64977 : { "strokeMiterlimit", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &strokeMiterlimit_getterinfo, GenericBindingSetter, &strokeMiterlimit_setterinfo },
64978 : { "stroke-miterlimit", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &stroke_miterlimit_getterinfo, GenericBindingSetter, &stroke_miterlimit_setterinfo },
64979 : { "strokeOpacity", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &strokeOpacity_getterinfo, GenericBindingSetter, &strokeOpacity_setterinfo },
64980 : { "stroke-opacity", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &stroke_opacity_getterinfo, GenericBindingSetter, &stroke_opacity_setterinfo },
64981 : { "strokeWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &strokeWidth_getterinfo, GenericBindingSetter, &strokeWidth_setterinfo },
64982 : { "stroke-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &stroke_width_getterinfo, GenericBindingSetter, &stroke_width_setterinfo },
64983 : { "MozTabSize", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozTabSize_getterinfo, GenericBindingSetter, &MozTabSize_setterinfo },
64984 : { "-moz-tab-size", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_tab_size_getterinfo, GenericBindingSetter, &_moz_tab_size_setterinfo },
64985 : { "tableLayout", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &tableLayout_getterinfo, GenericBindingSetter, &tableLayout_setterinfo },
64986 : { "table-layout", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &table_layout_getterinfo, GenericBindingSetter, &table_layout_setterinfo },
64987 : { "textAlign", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textAlign_getterinfo, GenericBindingSetter, &textAlign_setterinfo },
64988 : { "text-align", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_align_getterinfo, GenericBindingSetter, &text_align_setterinfo },
64989 : { "textAlignLast", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textAlignLast_getterinfo, GenericBindingSetter, &textAlignLast_setterinfo },
64990 : { "text-align-last", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_align_last_getterinfo, GenericBindingSetter, &text_align_last_setterinfo },
64991 : { "textAnchor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textAnchor_getterinfo, GenericBindingSetter, &textAnchor_setterinfo },
64992 : { "text-anchor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_anchor_getterinfo, GenericBindingSetter, &text_anchor_setterinfo },
64993 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64994 : { "textCombineUpright", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textCombineUpright_getterinfo, GenericBindingSetter, &textCombineUpright_setterinfo },
64995 : { "text-combine-upright", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_combine_upright_getterinfo, GenericBindingSetter, &text_combine_upright_setterinfo },
64996 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
64997 : { "textDecoration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textDecoration_getterinfo, GenericBindingSetter, &textDecoration_setterinfo },
64998 : { "text-decoration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_decoration_getterinfo, GenericBindingSetter, &text_decoration_setterinfo },
64999 : { "textDecorationColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textDecorationColor_getterinfo, GenericBindingSetter, &textDecorationColor_setterinfo },
65000 : { "text-decoration-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_decoration_color_getterinfo, GenericBindingSetter, &text_decoration_color_setterinfo },
65001 : { "textDecorationLine", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textDecorationLine_getterinfo, GenericBindingSetter, &textDecorationLine_setterinfo },
65002 : { "text-decoration-line", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_decoration_line_getterinfo, GenericBindingSetter, &text_decoration_line_setterinfo },
65003 : { "textDecorationStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textDecorationStyle_getterinfo, GenericBindingSetter, &textDecorationStyle_setterinfo },
65004 : { "text-decoration-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_decoration_style_getterinfo, GenericBindingSetter, &text_decoration_style_setterinfo },
65005 : { "textEmphasis", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textEmphasis_getterinfo, GenericBindingSetter, &textEmphasis_setterinfo },
65006 : { "text-emphasis", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_emphasis_getterinfo, GenericBindingSetter, &text_emphasis_setterinfo },
65007 : { "textEmphasisColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textEmphasisColor_getterinfo, GenericBindingSetter, &textEmphasisColor_setterinfo },
65008 : { "text-emphasis-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_emphasis_color_getterinfo, GenericBindingSetter, &text_emphasis_color_setterinfo },
65009 : { "textEmphasisPosition", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textEmphasisPosition_getterinfo, GenericBindingSetter, &textEmphasisPosition_setterinfo },
65010 : { "text-emphasis-position", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_emphasis_position_getterinfo, GenericBindingSetter, &text_emphasis_position_setterinfo },
65011 : { "textEmphasisStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textEmphasisStyle_getterinfo, GenericBindingSetter, &textEmphasisStyle_setterinfo },
65012 : { "text-emphasis-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_emphasis_style_getterinfo, GenericBindingSetter, &text_emphasis_style_setterinfo },
65013 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65014 : { "WebkitTextFillColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitTextFillColor_getterinfo, GenericBindingSetter, &WebkitTextFillColor_setterinfo },
65015 : { "webkitTextFillColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitTextFillColor_getterinfo, GenericBindingSetter, &webkitTextFillColor_setterinfo },
65016 : { "-webkit-text-fill-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_text_fill_color_getterinfo, GenericBindingSetter, &_webkit_text_fill_color_setterinfo },
65017 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65018 : { "textIndent", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textIndent_getterinfo, GenericBindingSetter, &textIndent_setterinfo },
65019 : { "text-indent", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_indent_getterinfo, GenericBindingSetter, &text_indent_setterinfo },
65020 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65021 : { "textJustify", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textJustify_getterinfo, GenericBindingSetter, &textJustify_setterinfo },
65022 : { "text-justify", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_justify_getterinfo, GenericBindingSetter, &text_justify_setterinfo },
65023 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65024 : { "textOrientation", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textOrientation_getterinfo, GenericBindingSetter, &textOrientation_setterinfo },
65025 : { "text-orientation", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_orientation_getterinfo, GenericBindingSetter, &text_orientation_setterinfo },
65026 : { "textOverflow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textOverflow_getterinfo, GenericBindingSetter, &textOverflow_setterinfo },
65027 : { "text-overflow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_overflow_getterinfo, GenericBindingSetter, &text_overflow_setterinfo },
65028 : { "textRendering", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textRendering_getterinfo, GenericBindingSetter, &textRendering_setterinfo },
65029 : { "text-rendering", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_rendering_getterinfo, GenericBindingSetter, &text_rendering_setterinfo },
65030 : { "textShadow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textShadow_getterinfo, GenericBindingSetter, &textShadow_setterinfo },
65031 : { "text-shadow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_shadow_getterinfo, GenericBindingSetter, &text_shadow_setterinfo },
65032 : { "MozTextSizeAdjust", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozTextSizeAdjust_getterinfo, GenericBindingSetter, &MozTextSizeAdjust_setterinfo },
65033 : { "-moz-text-size-adjust", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_text_size_adjust_getterinfo, GenericBindingSetter, &_moz_text_size_adjust_setterinfo },
65034 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65035 : { "WebkitTextStroke", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitTextStroke_getterinfo, GenericBindingSetter, &WebkitTextStroke_setterinfo },
65036 : { "webkitTextStroke", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitTextStroke_getterinfo, GenericBindingSetter, &webkitTextStroke_setterinfo },
65037 : { "-webkit-text-stroke", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_text_stroke_getterinfo, GenericBindingSetter, &_webkit_text_stroke_setterinfo },
65038 : { "WebkitTextStrokeColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitTextStrokeColor_getterinfo, GenericBindingSetter, &WebkitTextStrokeColor_setterinfo },
65039 : { "webkitTextStrokeColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitTextStrokeColor_getterinfo, GenericBindingSetter, &webkitTextStrokeColor_setterinfo },
65040 : { "-webkit-text-stroke-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_text_stroke_color_getterinfo, GenericBindingSetter, &_webkit_text_stroke_color_setterinfo },
65041 : { "WebkitTextStrokeWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitTextStrokeWidth_getterinfo, GenericBindingSetter, &WebkitTextStrokeWidth_setterinfo },
65042 : { "webkitTextStrokeWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitTextStrokeWidth_getterinfo, GenericBindingSetter, &webkitTextStrokeWidth_setterinfo },
65043 : { "-webkit-text-stroke-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_text_stroke_width_getterinfo, GenericBindingSetter, &_webkit_text_stroke_width_setterinfo },
65044 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65045 : { "textTransform", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &textTransform_getterinfo, GenericBindingSetter, &textTransform_setterinfo },
65046 : { "text-transform", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &text_transform_getterinfo, GenericBindingSetter, &text_transform_setterinfo },
65047 : { "top", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &top_getterinfo, GenericBindingSetter, &top_setterinfo },
65048 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65049 : { "touchAction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &touchAction_getterinfo, GenericBindingSetter, &touchAction_setterinfo },
65050 : { "touch-action", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &touch_action_getterinfo, GenericBindingSetter, &touch_action_setterinfo },
65051 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65052 : { "transform", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transform_getterinfo, GenericBindingSetter, &transform_setterinfo },
65053 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65054 : { "MozTransform", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozTransform_getterinfo, GenericBindingSetter, &MozTransform_setterinfo },
65055 : { "-moz-transform", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_transform_getterinfo, GenericBindingSetter, &_moz_transform_setterinfo },
65056 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65057 : { "transformBox", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transformBox_getterinfo, GenericBindingSetter, &transformBox_setterinfo },
65058 : { "transform-box", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transform_box_getterinfo, GenericBindingSetter, &transform_box_setterinfo },
65059 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65060 : { "transformOrigin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transformOrigin_getterinfo, GenericBindingSetter, &transformOrigin_setterinfo },
65061 : { "transform-origin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transform_origin_getterinfo, GenericBindingSetter, &transform_origin_setterinfo },
65062 : { "transformStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transformStyle_getterinfo, GenericBindingSetter, &transformStyle_setterinfo },
65063 : { "transform-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transform_style_getterinfo, GenericBindingSetter, &transform_style_setterinfo },
65064 : { "transition", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transition_getterinfo, GenericBindingSetter, &transition_setterinfo },
65065 : { "transitionDelay", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transitionDelay_getterinfo, GenericBindingSetter, &transitionDelay_setterinfo },
65066 : { "transition-delay", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transition_delay_getterinfo, GenericBindingSetter, &transition_delay_setterinfo },
65067 : { "transitionDuration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transitionDuration_getterinfo, GenericBindingSetter, &transitionDuration_setterinfo },
65068 : { "transition-duration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transition_duration_getterinfo, GenericBindingSetter, &transition_duration_setterinfo },
65069 : { "transitionProperty", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transitionProperty_getterinfo, GenericBindingSetter, &transitionProperty_setterinfo },
65070 : { "transition-property", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transition_property_getterinfo, GenericBindingSetter, &transition_property_setterinfo },
65071 : { "transitionTimingFunction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transitionTimingFunction_getterinfo, GenericBindingSetter, &transitionTimingFunction_setterinfo },
65072 : { "transition-timing-function", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &transition_timing_function_getterinfo, GenericBindingSetter, &transition_timing_function_setterinfo },
65073 : { "unicodeBidi", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &unicodeBidi_getterinfo, GenericBindingSetter, &unicodeBidi_setterinfo },
65074 : { "unicode-bidi", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &unicode_bidi_getterinfo, GenericBindingSetter, &unicode_bidi_setterinfo },
65075 : { "MozUserFocus", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozUserFocus_getterinfo, GenericBindingSetter, &MozUserFocus_setterinfo },
65076 : { "-moz-user-focus", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_user_focus_getterinfo, GenericBindingSetter, &_moz_user_focus_setterinfo },
65077 : { "MozUserInput", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozUserInput_getterinfo, GenericBindingSetter, &MozUserInput_setterinfo },
65078 : { "-moz-user-input", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_user_input_getterinfo, GenericBindingSetter, &_moz_user_input_setterinfo },
65079 : { "MozUserModify", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozUserModify_getterinfo, GenericBindingSetter, &MozUserModify_setterinfo },
65080 : { "-moz-user-modify", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_user_modify_getterinfo, GenericBindingSetter, &_moz_user_modify_setterinfo },
65081 : { "MozUserSelect", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozUserSelect_getterinfo, GenericBindingSetter, &MozUserSelect_setterinfo },
65082 : { "-moz-user-select", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_user_select_getterinfo, GenericBindingSetter, &_moz_user_select_setterinfo },
65083 : { "vectorEffect", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &vectorEffect_getterinfo, GenericBindingSetter, &vectorEffect_setterinfo },
65084 : { "vector-effect", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &vector_effect_getterinfo, GenericBindingSetter, &vector_effect_setterinfo },
65085 : { "verticalAlign", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &verticalAlign_getterinfo, GenericBindingSetter, &verticalAlign_setterinfo },
65086 : { "vertical-align", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &vertical_align_getterinfo, GenericBindingSetter, &vertical_align_setterinfo },
65087 : { "visibility", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &visibility_getterinfo, GenericBindingSetter, &visibility_setterinfo },
65088 : { "whiteSpace", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &whiteSpace_getterinfo, GenericBindingSetter, &whiteSpace_setterinfo },
65089 : { "white-space", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &white_space_getterinfo, GenericBindingSetter, &white_space_setterinfo },
65090 : { "width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &width_getterinfo, GenericBindingSetter, &width_setterinfo },
65091 : { "willChange", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &willChange_getterinfo, GenericBindingSetter, &willChange_setterinfo },
65092 : { "will-change", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &will_change_getterinfo, GenericBindingSetter, &will_change_setterinfo },
65093 : { "MozWindowDragging", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozWindowDragging_getterinfo, GenericBindingSetter, &MozWindowDragging_setterinfo },
65094 : { "-moz-window-dragging", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_window_dragging_getterinfo, GenericBindingSetter, &_moz_window_dragging_setterinfo },
65095 : { "wordBreak", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &wordBreak_getterinfo, GenericBindingSetter, &wordBreak_setterinfo },
65096 : { "word-break", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &word_break_getterinfo, GenericBindingSetter, &word_break_setterinfo },
65097 : { "wordSpacing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &wordSpacing_getterinfo, GenericBindingSetter, &wordSpacing_setterinfo },
65098 : { "word-spacing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &word_spacing_getterinfo, GenericBindingSetter, &word_spacing_setterinfo },
65099 : { "overflowWrap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &overflowWrap_getterinfo, GenericBindingSetter, &overflowWrap_setterinfo },
65100 : { "overflow-wrap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &overflow_wrap_getterinfo, GenericBindingSetter, &overflow_wrap_setterinfo },
65101 : { "writingMode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &writingMode_getterinfo, GenericBindingSetter, &writingMode_setterinfo },
65102 : { "writing-mode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &writing_mode_getterinfo, GenericBindingSetter, &writing_mode_setterinfo },
65103 : { "zIndex", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &zIndex_getterinfo, GenericBindingSetter, &zIndex_setterinfo },
65104 : { "z-index", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &z_index_getterinfo, GenericBindingSetter, &z_index_setterinfo },
65105 : { "wordWrap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &wordWrap_getterinfo, GenericBindingSetter, &wordWrap_setterinfo },
65106 : { "word-wrap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &word_wrap_getterinfo, GenericBindingSetter, &word_wrap_setterinfo },
65107 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65108 : { "MozTransformOrigin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozTransformOrigin_getterinfo, GenericBindingSetter, &MozTransformOrigin_setterinfo },
65109 : { "-moz-transform-origin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_transform_origin_getterinfo, GenericBindingSetter, &_moz_transform_origin_setterinfo },
65110 : { "MozPerspectiveOrigin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozPerspectiveOrigin_getterinfo, GenericBindingSetter, &MozPerspectiveOrigin_setterinfo },
65111 : { "-moz-perspective-origin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_perspective_origin_getterinfo, GenericBindingSetter, &_moz_perspective_origin_setterinfo },
65112 : { "MozPerspective", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozPerspective_getterinfo, GenericBindingSetter, &MozPerspective_setterinfo },
65113 : { "-moz-perspective", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_perspective_getterinfo, GenericBindingSetter, &_moz_perspective_setterinfo },
65114 : { "MozTransformStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozTransformStyle_getterinfo, GenericBindingSetter, &MozTransformStyle_setterinfo },
65115 : { "-moz-transform-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_transform_style_getterinfo, GenericBindingSetter, &_moz_transform_style_setterinfo },
65116 : { "MozBackfaceVisibility", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBackfaceVisibility_getterinfo, GenericBindingSetter, &MozBackfaceVisibility_setterinfo },
65117 : { "-moz-backface-visibility", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_backface_visibility_getterinfo, GenericBindingSetter, &_moz_backface_visibility_setterinfo },
65118 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65119 : { "MozBorderImage", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBorderImage_getterinfo, GenericBindingSetter, &MozBorderImage_setterinfo },
65120 : { "-moz-border-image", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_border_image_getterinfo, GenericBindingSetter, &_moz_border_image_setterinfo },
65121 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65122 : { "MozTransition", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozTransition_getterinfo, GenericBindingSetter, &MozTransition_setterinfo },
65123 : { "-moz-transition", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_transition_getterinfo, GenericBindingSetter, &_moz_transition_setterinfo },
65124 : { "MozTransitionDelay", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozTransitionDelay_getterinfo, GenericBindingSetter, &MozTransitionDelay_setterinfo },
65125 : { "-moz-transition-delay", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_transition_delay_getterinfo, GenericBindingSetter, &_moz_transition_delay_setterinfo },
65126 : { "MozTransitionDuration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozTransitionDuration_getterinfo, GenericBindingSetter, &MozTransitionDuration_setterinfo },
65127 : { "-moz-transition-duration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_transition_duration_getterinfo, GenericBindingSetter, &_moz_transition_duration_setterinfo },
65128 : { "MozTransitionProperty", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozTransitionProperty_getterinfo, GenericBindingSetter, &MozTransitionProperty_setterinfo },
65129 : { "-moz-transition-property", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_transition_property_getterinfo, GenericBindingSetter, &_moz_transition_property_setterinfo },
65130 : { "MozTransitionTimingFunction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozTransitionTimingFunction_getterinfo, GenericBindingSetter, &MozTransitionTimingFunction_setterinfo },
65131 : { "-moz-transition-timing-function", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_transition_timing_function_getterinfo, GenericBindingSetter, &_moz_transition_timing_function_setterinfo },
65132 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65133 : { "MozAnimation", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozAnimation_getterinfo, GenericBindingSetter, &MozAnimation_setterinfo },
65134 : { "-moz-animation", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_animation_getterinfo, GenericBindingSetter, &_moz_animation_setterinfo },
65135 : { "MozAnimationDelay", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozAnimationDelay_getterinfo, GenericBindingSetter, &MozAnimationDelay_setterinfo },
65136 : { "-moz-animation-delay", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_animation_delay_getterinfo, GenericBindingSetter, &_moz_animation_delay_setterinfo },
65137 : { "MozAnimationDirection", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozAnimationDirection_getterinfo, GenericBindingSetter, &MozAnimationDirection_setterinfo },
65138 : { "-moz-animation-direction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_animation_direction_getterinfo, GenericBindingSetter, &_moz_animation_direction_setterinfo },
65139 : { "MozAnimationDuration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozAnimationDuration_getterinfo, GenericBindingSetter, &MozAnimationDuration_setterinfo },
65140 : { "-moz-animation-duration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_animation_duration_getterinfo, GenericBindingSetter, &_moz_animation_duration_setterinfo },
65141 : { "MozAnimationFillMode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozAnimationFillMode_getterinfo, GenericBindingSetter, &MozAnimationFillMode_setterinfo },
65142 : { "-moz-animation-fill-mode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_animation_fill_mode_getterinfo, GenericBindingSetter, &_moz_animation_fill_mode_setterinfo },
65143 : { "MozAnimationIterationCount", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozAnimationIterationCount_getterinfo, GenericBindingSetter, &MozAnimationIterationCount_setterinfo },
65144 : { "-moz-animation-iteration-count", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_animation_iteration_count_getterinfo, GenericBindingSetter, &_moz_animation_iteration_count_setterinfo },
65145 : { "MozAnimationName", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozAnimationName_getterinfo, GenericBindingSetter, &MozAnimationName_setterinfo },
65146 : { "-moz-animation-name", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_animation_name_getterinfo, GenericBindingSetter, &_moz_animation_name_setterinfo },
65147 : { "MozAnimationPlayState", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozAnimationPlayState_getterinfo, GenericBindingSetter, &MozAnimationPlayState_setterinfo },
65148 : { "-moz-animation-play-state", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_animation_play_state_getterinfo, GenericBindingSetter, &_moz_animation_play_state_setterinfo },
65149 : { "MozAnimationTimingFunction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozAnimationTimingFunction_getterinfo, GenericBindingSetter, &MozAnimationTimingFunction_setterinfo },
65150 : { "-moz-animation-timing-function", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_animation_timing_function_getterinfo, GenericBindingSetter, &_moz_animation_timing_function_setterinfo },
65151 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65152 : { "MozBoxSizing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBoxSizing_getterinfo, GenericBindingSetter, &MozBoxSizing_setterinfo },
65153 : { "-moz-box-sizing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_box_sizing_getterinfo, GenericBindingSetter, &_moz_box_sizing_setterinfo },
65154 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65155 : { "MozFontFeatureSettings", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozFontFeatureSettings_getterinfo, GenericBindingSetter, &MozFontFeatureSettings_setterinfo },
65156 : { "-moz-font-feature-settings", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_font_feature_settings_getterinfo, GenericBindingSetter, &_moz_font_feature_settings_setterinfo },
65157 : { "MozFontLanguageOverride", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozFontLanguageOverride_getterinfo, GenericBindingSetter, &MozFontLanguageOverride_setterinfo },
65158 : { "-moz-font-language-override", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_font_language_override_getterinfo, GenericBindingSetter, &_moz_font_language_override_setterinfo },
65159 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65160 : { "MozPaddingEnd", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozPaddingEnd_getterinfo, GenericBindingSetter, &MozPaddingEnd_setterinfo },
65161 : { "-moz-padding-end", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_padding_end_getterinfo, GenericBindingSetter, &_moz_padding_end_setterinfo },
65162 : { "MozPaddingStart", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozPaddingStart_getterinfo, GenericBindingSetter, &MozPaddingStart_setterinfo },
65163 : { "-moz-padding-start", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_padding_start_getterinfo, GenericBindingSetter, &_moz_padding_start_setterinfo },
65164 : { "MozMarginEnd", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozMarginEnd_getterinfo, GenericBindingSetter, &MozMarginEnd_setterinfo },
65165 : { "-moz-margin-end", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_margin_end_getterinfo, GenericBindingSetter, &_moz_margin_end_setterinfo },
65166 : { "MozMarginStart", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozMarginStart_getterinfo, GenericBindingSetter, &MozMarginStart_setterinfo },
65167 : { "-moz-margin-start", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_margin_start_getterinfo, GenericBindingSetter, &_moz_margin_start_setterinfo },
65168 : { "MozBorderEnd", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBorderEnd_getterinfo, GenericBindingSetter, &MozBorderEnd_setterinfo },
65169 : { "-moz-border-end", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_border_end_getterinfo, GenericBindingSetter, &_moz_border_end_setterinfo },
65170 : { "MozBorderEndColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBorderEndColor_getterinfo, GenericBindingSetter, &MozBorderEndColor_setterinfo },
65171 : { "-moz-border-end-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_border_end_color_getterinfo, GenericBindingSetter, &_moz_border_end_color_setterinfo },
65172 : { "MozBorderEndStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBorderEndStyle_getterinfo, GenericBindingSetter, &MozBorderEndStyle_setterinfo },
65173 : { "-moz-border-end-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_border_end_style_getterinfo, GenericBindingSetter, &_moz_border_end_style_setterinfo },
65174 : { "MozBorderEndWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBorderEndWidth_getterinfo, GenericBindingSetter, &MozBorderEndWidth_setterinfo },
65175 : { "-moz-border-end-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_border_end_width_getterinfo, GenericBindingSetter, &_moz_border_end_width_setterinfo },
65176 : { "MozBorderStart", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBorderStart_getterinfo, GenericBindingSetter, &MozBorderStart_setterinfo },
65177 : { "-moz-border-start", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_border_start_getterinfo, GenericBindingSetter, &_moz_border_start_setterinfo },
65178 : { "MozBorderStartColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBorderStartColor_getterinfo, GenericBindingSetter, &MozBorderStartColor_setterinfo },
65179 : { "-moz-border-start-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_border_start_color_getterinfo, GenericBindingSetter, &_moz_border_start_color_setterinfo },
65180 : { "MozBorderStartStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBorderStartStyle_getterinfo, GenericBindingSetter, &MozBorderStartStyle_setterinfo },
65181 : { "-moz-border-start-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_border_start_style_getterinfo, GenericBindingSetter, &_moz_border_start_style_setterinfo },
65182 : { "MozBorderStartWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozBorderStartWidth_getterinfo, GenericBindingSetter, &MozBorderStartWidth_setterinfo },
65183 : { "-moz-border-start-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_border_start_width_getterinfo, GenericBindingSetter, &_moz_border_start_width_setterinfo },
65184 : { "MozHyphens", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozHyphens_getterinfo, GenericBindingSetter, &MozHyphens_setterinfo },
65185 : { "-moz-hyphens", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_hyphens_getterinfo, GenericBindingSetter, &_moz_hyphens_setterinfo },
65186 : { "MozColumnCount", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozColumnCount_getterinfo, GenericBindingSetter, &MozColumnCount_setterinfo },
65187 : { "-moz-column-count", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_column_count_getterinfo, GenericBindingSetter, &_moz_column_count_setterinfo },
65188 : { "MozColumnFill", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozColumnFill_getterinfo, GenericBindingSetter, &MozColumnFill_setterinfo },
65189 : { "-moz-column-fill", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_column_fill_getterinfo, GenericBindingSetter, &_moz_column_fill_setterinfo },
65190 : { "MozColumnGap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozColumnGap_getterinfo, GenericBindingSetter, &MozColumnGap_setterinfo },
65191 : { "-moz-column-gap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_column_gap_getterinfo, GenericBindingSetter, &_moz_column_gap_setterinfo },
65192 : { "MozColumnRule", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozColumnRule_getterinfo, GenericBindingSetter, &MozColumnRule_setterinfo },
65193 : { "-moz-column-rule", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_column_rule_getterinfo, GenericBindingSetter, &_moz_column_rule_setterinfo },
65194 : { "MozColumnRuleColor", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozColumnRuleColor_getterinfo, GenericBindingSetter, &MozColumnRuleColor_setterinfo },
65195 : { "-moz-column-rule-color", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_column_rule_color_getterinfo, GenericBindingSetter, &_moz_column_rule_color_setterinfo },
65196 : { "MozColumnRuleStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozColumnRuleStyle_getterinfo, GenericBindingSetter, &MozColumnRuleStyle_setterinfo },
65197 : { "-moz-column-rule-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_column_rule_style_getterinfo, GenericBindingSetter, &_moz_column_rule_style_setterinfo },
65198 : { "MozColumnRuleWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozColumnRuleWidth_getterinfo, GenericBindingSetter, &MozColumnRuleWidth_setterinfo },
65199 : { "-moz-column-rule-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_column_rule_width_getterinfo, GenericBindingSetter, &_moz_column_rule_width_setterinfo },
65200 : { "MozColumnWidth", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozColumnWidth_getterinfo, GenericBindingSetter, &MozColumnWidth_setterinfo },
65201 : { "-moz-column-width", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_column_width_getterinfo, GenericBindingSetter, &_moz_column_width_setterinfo },
65202 : { "MozColumns", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &MozColumns_getterinfo, GenericBindingSetter, &MozColumns_setterinfo },
65203 : { "-moz-columns", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_moz_columns_getterinfo, GenericBindingSetter, &_moz_columns_setterinfo },
65204 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr },
65205 : { "WebkitAnimation", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitAnimation_getterinfo, GenericBindingSetter, &WebkitAnimation_setterinfo },
65206 : { "webkitAnimation", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitAnimation_getterinfo, GenericBindingSetter, &webkitAnimation_setterinfo },
65207 : { "-webkit-animation", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_animation_getterinfo, GenericBindingSetter, &_webkit_animation_setterinfo },
65208 : { "WebkitAnimationDelay", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitAnimationDelay_getterinfo, GenericBindingSetter, &WebkitAnimationDelay_setterinfo },
65209 : { "webkitAnimationDelay", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitAnimationDelay_getterinfo, GenericBindingSetter, &webkitAnimationDelay_setterinfo },
65210 : { "-webkit-animation-delay", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_animation_delay_getterinfo, GenericBindingSetter, &_webkit_animation_delay_setterinfo },
65211 : { "WebkitAnimationDirection", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitAnimationDirection_getterinfo, GenericBindingSetter, &WebkitAnimationDirection_setterinfo },
65212 : { "webkitAnimationDirection", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitAnimationDirection_getterinfo, GenericBindingSetter, &webkitAnimationDirection_setterinfo },
65213 : { "-webkit-animation-direction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_animation_direction_getterinfo, GenericBindingSetter, &_webkit_animation_direction_setterinfo },
65214 : { "WebkitAnimationDuration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitAnimationDuration_getterinfo, GenericBindingSetter, &WebkitAnimationDuration_setterinfo },
65215 : { "webkitAnimationDuration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitAnimationDuration_getterinfo, GenericBindingSetter, &webkitAnimationDuration_setterinfo },
65216 : { "-webkit-animation-duration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_animation_duration_getterinfo, GenericBindingSetter, &_webkit_animation_duration_setterinfo },
65217 : { "WebkitAnimationFillMode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitAnimationFillMode_getterinfo, GenericBindingSetter, &WebkitAnimationFillMode_setterinfo },
65218 : { "webkitAnimationFillMode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitAnimationFillMode_getterinfo, GenericBindingSetter, &webkitAnimationFillMode_setterinfo },
65219 : { "-webkit-animation-fill-mode", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_animation_fill_mode_getterinfo, GenericBindingSetter, &_webkit_animation_fill_mode_setterinfo },
65220 : { "WebkitAnimationIterationCount", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitAnimationIterationCount_getterinfo, GenericBindingSetter, &WebkitAnimationIterationCount_setterinfo },
65221 : { "webkitAnimationIterationCount", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitAnimationIterationCount_getterinfo, GenericBindingSetter, &webkitAnimationIterationCount_setterinfo },
65222 : { "-webkit-animation-iteration-count", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_animation_iteration_count_getterinfo, GenericBindingSetter, &_webkit_animation_iteration_count_setterinfo },
65223 : { "WebkitAnimationName", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitAnimationName_getterinfo, GenericBindingSetter, &WebkitAnimationName_setterinfo },
65224 : { "webkitAnimationName", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitAnimationName_getterinfo, GenericBindingSetter, &webkitAnimationName_setterinfo },
65225 : { "-webkit-animation-name", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_animation_name_getterinfo, GenericBindingSetter, &_webkit_animation_name_setterinfo },
65226 : { "WebkitAnimationPlayState", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitAnimationPlayState_getterinfo, GenericBindingSetter, &WebkitAnimationPlayState_setterinfo },
65227 : { "webkitAnimationPlayState", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitAnimationPlayState_getterinfo, GenericBindingSetter, &webkitAnimationPlayState_setterinfo },
65228 : { "-webkit-animation-play-state", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_animation_play_state_getterinfo, GenericBindingSetter, &_webkit_animation_play_state_setterinfo },
65229 : { "WebkitAnimationTimingFunction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitAnimationTimingFunction_getterinfo, GenericBindingSetter, &WebkitAnimationTimingFunction_setterinfo },
65230 : { "webkitAnimationTimingFunction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitAnimationTimingFunction_getterinfo, GenericBindingSetter, &webkitAnimationTimingFunction_setterinfo },
65231 : { "-webkit-animation-timing-function", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_animation_timing_function_getterinfo, GenericBindingSetter, &_webkit_animation_timing_function_setterinfo },
65232 : { "WebkitFilter", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitFilter_getterinfo, GenericBindingSetter, &WebkitFilter_setterinfo },
65233 : { "webkitFilter", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitFilter_getterinfo, GenericBindingSetter, &webkitFilter_setterinfo },
65234 : { "-webkit-filter", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_filter_getterinfo, GenericBindingSetter, &_webkit_filter_setterinfo },
65235 : { "WebkitTextSizeAdjust", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitTextSizeAdjust_getterinfo, GenericBindingSetter, &WebkitTextSizeAdjust_setterinfo },
65236 : { "webkitTextSizeAdjust", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitTextSizeAdjust_getterinfo, GenericBindingSetter, &webkitTextSizeAdjust_setterinfo },
65237 : { "-webkit-text-size-adjust", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_text_size_adjust_getterinfo, GenericBindingSetter, &_webkit_text_size_adjust_setterinfo },
65238 : { "WebkitTransform", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitTransform_getterinfo, GenericBindingSetter, &WebkitTransform_setterinfo },
65239 : { "webkitTransform", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitTransform_getterinfo, GenericBindingSetter, &webkitTransform_setterinfo },
65240 : { "-webkit-transform", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_transform_getterinfo, GenericBindingSetter, &_webkit_transform_setterinfo },
65241 : { "WebkitTransformOrigin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitTransformOrigin_getterinfo, GenericBindingSetter, &WebkitTransformOrigin_setterinfo },
65242 : { "webkitTransformOrigin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitTransformOrigin_getterinfo, GenericBindingSetter, &webkitTransformOrigin_setterinfo },
65243 : { "-webkit-transform-origin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_transform_origin_getterinfo, GenericBindingSetter, &_webkit_transform_origin_setterinfo },
65244 : { "WebkitTransformStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitTransformStyle_getterinfo, GenericBindingSetter, &WebkitTransformStyle_setterinfo },
65245 : { "webkitTransformStyle", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitTransformStyle_getterinfo, GenericBindingSetter, &webkitTransformStyle_setterinfo },
65246 : { "-webkit-transform-style", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_transform_style_getterinfo, GenericBindingSetter, &_webkit_transform_style_setterinfo },
65247 : { "WebkitBackfaceVisibility", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBackfaceVisibility_getterinfo, GenericBindingSetter, &WebkitBackfaceVisibility_setterinfo },
65248 : { "webkitBackfaceVisibility", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBackfaceVisibility_getterinfo, GenericBindingSetter, &webkitBackfaceVisibility_setterinfo },
65249 : { "-webkit-backface-visibility", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_backface_visibility_getterinfo, GenericBindingSetter, &_webkit_backface_visibility_setterinfo },
65250 : { "WebkitPerspective", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitPerspective_getterinfo, GenericBindingSetter, &WebkitPerspective_setterinfo },
65251 : { "webkitPerspective", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitPerspective_getterinfo, GenericBindingSetter, &webkitPerspective_setterinfo },
65252 : { "-webkit-perspective", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_perspective_getterinfo, GenericBindingSetter, &_webkit_perspective_setterinfo },
65253 : { "WebkitPerspectiveOrigin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitPerspectiveOrigin_getterinfo, GenericBindingSetter, &WebkitPerspectiveOrigin_setterinfo },
65254 : { "webkitPerspectiveOrigin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitPerspectiveOrigin_getterinfo, GenericBindingSetter, &webkitPerspectiveOrigin_setterinfo },
65255 : { "-webkit-perspective-origin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_perspective_origin_getterinfo, GenericBindingSetter, &_webkit_perspective_origin_setterinfo },
65256 : { "WebkitTransition", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitTransition_getterinfo, GenericBindingSetter, &WebkitTransition_setterinfo },
65257 : { "webkitTransition", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitTransition_getterinfo, GenericBindingSetter, &webkitTransition_setterinfo },
65258 : { "-webkit-transition", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_transition_getterinfo, GenericBindingSetter, &_webkit_transition_setterinfo },
65259 : { "WebkitTransitionDelay", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitTransitionDelay_getterinfo, GenericBindingSetter, &WebkitTransitionDelay_setterinfo },
65260 : { "webkitTransitionDelay", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitTransitionDelay_getterinfo, GenericBindingSetter, &webkitTransitionDelay_setterinfo },
65261 : { "-webkit-transition-delay", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_transition_delay_getterinfo, GenericBindingSetter, &_webkit_transition_delay_setterinfo },
65262 : { "WebkitTransitionDuration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitTransitionDuration_getterinfo, GenericBindingSetter, &WebkitTransitionDuration_setterinfo },
65263 : { "webkitTransitionDuration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitTransitionDuration_getterinfo, GenericBindingSetter, &webkitTransitionDuration_setterinfo },
65264 : { "-webkit-transition-duration", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_transition_duration_getterinfo, GenericBindingSetter, &_webkit_transition_duration_setterinfo },
65265 : { "WebkitTransitionProperty", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitTransitionProperty_getterinfo, GenericBindingSetter, &WebkitTransitionProperty_setterinfo },
65266 : { "webkitTransitionProperty", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitTransitionProperty_getterinfo, GenericBindingSetter, &webkitTransitionProperty_setterinfo },
65267 : { "-webkit-transition-property", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_transition_property_getterinfo, GenericBindingSetter, &_webkit_transition_property_setterinfo },
65268 : { "WebkitTransitionTimingFunction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitTransitionTimingFunction_getterinfo, GenericBindingSetter, &WebkitTransitionTimingFunction_setterinfo },
65269 : { "webkitTransitionTimingFunction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitTransitionTimingFunction_getterinfo, GenericBindingSetter, &webkitTransitionTimingFunction_setterinfo },
65270 : { "-webkit-transition-timing-function", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_transition_timing_function_getterinfo, GenericBindingSetter, &_webkit_transition_timing_function_setterinfo },
65271 : { "WebkitBorderRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBorderRadius_getterinfo, GenericBindingSetter, &WebkitBorderRadius_setterinfo },
65272 : { "webkitBorderRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBorderRadius_getterinfo, GenericBindingSetter, &webkitBorderRadius_setterinfo },
65273 : { "-webkit-border-radius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_border_radius_getterinfo, GenericBindingSetter, &_webkit_border_radius_setterinfo },
65274 : { "WebkitBorderTopLeftRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBorderTopLeftRadius_getterinfo, GenericBindingSetter, &WebkitBorderTopLeftRadius_setterinfo },
65275 : { "webkitBorderTopLeftRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBorderTopLeftRadius_getterinfo, GenericBindingSetter, &webkitBorderTopLeftRadius_setterinfo },
65276 : { "-webkit-border-top-left-radius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_border_top_left_radius_getterinfo, GenericBindingSetter, &_webkit_border_top_left_radius_setterinfo },
65277 : { "WebkitBorderTopRightRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBorderTopRightRadius_getterinfo, GenericBindingSetter, &WebkitBorderTopRightRadius_setterinfo },
65278 : { "webkitBorderTopRightRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBorderTopRightRadius_getterinfo, GenericBindingSetter, &webkitBorderTopRightRadius_setterinfo },
65279 : { "-webkit-border-top-right-radius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_border_top_right_radius_getterinfo, GenericBindingSetter, &_webkit_border_top_right_radius_setterinfo },
65280 : { "WebkitBorderBottomLeftRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBorderBottomLeftRadius_getterinfo, GenericBindingSetter, &WebkitBorderBottomLeftRadius_setterinfo },
65281 : { "webkitBorderBottomLeftRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBorderBottomLeftRadius_getterinfo, GenericBindingSetter, &webkitBorderBottomLeftRadius_setterinfo },
65282 : { "-webkit-border-bottom-left-radius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_border_bottom_left_radius_getterinfo, GenericBindingSetter, &_webkit_border_bottom_left_radius_setterinfo },
65283 : { "WebkitBorderBottomRightRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBorderBottomRightRadius_getterinfo, GenericBindingSetter, &WebkitBorderBottomRightRadius_setterinfo },
65284 : { "webkitBorderBottomRightRadius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBorderBottomRightRadius_getterinfo, GenericBindingSetter, &webkitBorderBottomRightRadius_setterinfo },
65285 : { "-webkit-border-bottom-right-radius", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_border_bottom_right_radius_getterinfo, GenericBindingSetter, &_webkit_border_bottom_right_radius_setterinfo },
65286 : { "WebkitBackgroundClip", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBackgroundClip_getterinfo, GenericBindingSetter, &WebkitBackgroundClip_setterinfo },
65287 : { "webkitBackgroundClip", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBackgroundClip_getterinfo, GenericBindingSetter, &webkitBackgroundClip_setterinfo },
65288 : { "-webkit-background-clip", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_background_clip_getterinfo, GenericBindingSetter, &_webkit_background_clip_setterinfo },
65289 : { "WebkitBackgroundOrigin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBackgroundOrigin_getterinfo, GenericBindingSetter, &WebkitBackgroundOrigin_setterinfo },
65290 : { "webkitBackgroundOrigin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBackgroundOrigin_getterinfo, GenericBindingSetter, &webkitBackgroundOrigin_setterinfo },
65291 : { "-webkit-background-origin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_background_origin_getterinfo, GenericBindingSetter, &_webkit_background_origin_setterinfo },
65292 : { "WebkitBackgroundSize", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBackgroundSize_getterinfo, GenericBindingSetter, &WebkitBackgroundSize_setterinfo },
65293 : { "webkitBackgroundSize", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBackgroundSize_getterinfo, GenericBindingSetter, &webkitBackgroundSize_setterinfo },
65294 : { "-webkit-background-size", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_background_size_getterinfo, GenericBindingSetter, &_webkit_background_size_setterinfo },
65295 : { "WebkitBorderImage", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBorderImage_getterinfo, GenericBindingSetter, &WebkitBorderImage_setterinfo },
65296 : { "webkitBorderImage", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBorderImage_getterinfo, GenericBindingSetter, &webkitBorderImage_setterinfo },
65297 : { "-webkit-border-image", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_border_image_getterinfo, GenericBindingSetter, &_webkit_border_image_setterinfo },
65298 : { "WebkitBoxShadow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBoxShadow_getterinfo, GenericBindingSetter, &WebkitBoxShadow_setterinfo },
65299 : { "webkitBoxShadow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBoxShadow_getterinfo, GenericBindingSetter, &webkitBoxShadow_setterinfo },
65300 : { "-webkit-box-shadow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_box_shadow_getterinfo, GenericBindingSetter, &_webkit_box_shadow_setterinfo },
65301 : { "WebkitBoxSizing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBoxSizing_getterinfo, GenericBindingSetter, &WebkitBoxSizing_setterinfo },
65302 : { "webkitBoxSizing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBoxSizing_getterinfo, GenericBindingSetter, &webkitBoxSizing_setterinfo },
65303 : { "-webkit-box-sizing", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_box_sizing_getterinfo, GenericBindingSetter, &_webkit_box_sizing_setterinfo },
65304 : { "WebkitBoxFlex", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBoxFlex_getterinfo, GenericBindingSetter, &WebkitBoxFlex_setterinfo },
65305 : { "webkitBoxFlex", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBoxFlex_getterinfo, GenericBindingSetter, &webkitBoxFlex_setterinfo },
65306 : { "-webkit-box-flex", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_box_flex_getterinfo, GenericBindingSetter, &_webkit_box_flex_setterinfo },
65307 : { "WebkitBoxOrdinalGroup", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBoxOrdinalGroup_getterinfo, GenericBindingSetter, &WebkitBoxOrdinalGroup_setterinfo },
65308 : { "webkitBoxOrdinalGroup", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBoxOrdinalGroup_getterinfo, GenericBindingSetter, &webkitBoxOrdinalGroup_setterinfo },
65309 : { "-webkit-box-ordinal-group", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_box_ordinal_group_getterinfo, GenericBindingSetter, &_webkit_box_ordinal_group_setterinfo },
65310 : { "WebkitBoxOrient", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBoxOrient_getterinfo, GenericBindingSetter, &WebkitBoxOrient_setterinfo },
65311 : { "webkitBoxOrient", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBoxOrient_getterinfo, GenericBindingSetter, &webkitBoxOrient_setterinfo },
65312 : { "-webkit-box-orient", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_box_orient_getterinfo, GenericBindingSetter, &_webkit_box_orient_setterinfo },
65313 : { "WebkitBoxDirection", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBoxDirection_getterinfo, GenericBindingSetter, &WebkitBoxDirection_setterinfo },
65314 : { "webkitBoxDirection", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBoxDirection_getterinfo, GenericBindingSetter, &webkitBoxDirection_setterinfo },
65315 : { "-webkit-box-direction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_box_direction_getterinfo, GenericBindingSetter, &_webkit_box_direction_setterinfo },
65316 : { "WebkitBoxAlign", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBoxAlign_getterinfo, GenericBindingSetter, &WebkitBoxAlign_setterinfo },
65317 : { "webkitBoxAlign", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBoxAlign_getterinfo, GenericBindingSetter, &webkitBoxAlign_setterinfo },
65318 : { "-webkit-box-align", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_box_align_getterinfo, GenericBindingSetter, &_webkit_box_align_setterinfo },
65319 : { "WebkitBoxPack", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitBoxPack_getterinfo, GenericBindingSetter, &WebkitBoxPack_setterinfo },
65320 : { "webkitBoxPack", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitBoxPack_getterinfo, GenericBindingSetter, &webkitBoxPack_setterinfo },
65321 : { "-webkit-box-pack", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_box_pack_getterinfo, GenericBindingSetter, &_webkit_box_pack_setterinfo },
65322 : { "WebkitFlexDirection", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitFlexDirection_getterinfo, GenericBindingSetter, &WebkitFlexDirection_setterinfo },
65323 : { "webkitFlexDirection", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitFlexDirection_getterinfo, GenericBindingSetter, &webkitFlexDirection_setterinfo },
65324 : { "-webkit-flex-direction", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_flex_direction_getterinfo, GenericBindingSetter, &_webkit_flex_direction_setterinfo },
65325 : { "WebkitFlexWrap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitFlexWrap_getterinfo, GenericBindingSetter, &WebkitFlexWrap_setterinfo },
65326 : { "webkitFlexWrap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitFlexWrap_getterinfo, GenericBindingSetter, &webkitFlexWrap_setterinfo },
65327 : { "-webkit-flex-wrap", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_flex_wrap_getterinfo, GenericBindingSetter, &_webkit_flex_wrap_setterinfo },
65328 : { "WebkitFlexFlow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitFlexFlow_getterinfo, GenericBindingSetter, &WebkitFlexFlow_setterinfo },
65329 : { "webkitFlexFlow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitFlexFlow_getterinfo, GenericBindingSetter, &webkitFlexFlow_setterinfo },
65330 : { "-webkit-flex-flow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_flex_flow_getterinfo, GenericBindingSetter, &_webkit_flex_flow_setterinfo },
65331 : { "WebkitOrder", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitOrder_getterinfo, GenericBindingSetter, &WebkitOrder_setterinfo },
65332 : { "webkitOrder", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitOrder_getterinfo, GenericBindingSetter, &webkitOrder_setterinfo },
65333 : { "-webkit-order", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_order_getterinfo, GenericBindingSetter, &_webkit_order_setterinfo },
65334 : { "WebkitFlex", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitFlex_getterinfo, GenericBindingSetter, &WebkitFlex_setterinfo },
65335 : { "webkitFlex", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitFlex_getterinfo, GenericBindingSetter, &webkitFlex_setterinfo },
65336 : { "-webkit-flex", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_flex_getterinfo, GenericBindingSetter, &_webkit_flex_setterinfo },
65337 : { "WebkitFlexGrow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitFlexGrow_getterinfo, GenericBindingSetter, &WebkitFlexGrow_setterinfo },
65338 : { "webkitFlexGrow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitFlexGrow_getterinfo, GenericBindingSetter, &webkitFlexGrow_setterinfo },
65339 : { "-webkit-flex-grow", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_flex_grow_getterinfo, GenericBindingSetter, &_webkit_flex_grow_setterinfo },
65340 : { "WebkitFlexShrink", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitFlexShrink_getterinfo, GenericBindingSetter, &WebkitFlexShrink_setterinfo },
65341 : { "webkitFlexShrink", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitFlexShrink_getterinfo, GenericBindingSetter, &webkitFlexShrink_setterinfo },
65342 : { "-webkit-flex-shrink", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_flex_shrink_getterinfo, GenericBindingSetter, &_webkit_flex_shrink_setterinfo },
65343 : { "WebkitFlexBasis", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitFlexBasis_getterinfo, GenericBindingSetter, &WebkitFlexBasis_setterinfo },
65344 : { "webkitFlexBasis", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitFlexBasis_getterinfo, GenericBindingSetter, &webkitFlexBasis_setterinfo },
65345 : { "-webkit-flex-basis", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_flex_basis_getterinfo, GenericBindingSetter, &_webkit_flex_basis_setterinfo },
65346 : { "WebkitJustifyContent", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitJustifyContent_getterinfo, GenericBindingSetter, &WebkitJustifyContent_setterinfo },
65347 : { "webkitJustifyContent", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitJustifyContent_getterinfo, GenericBindingSetter, &webkitJustifyContent_setterinfo },
65348 : { "-webkit-justify-content", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_justify_content_getterinfo, GenericBindingSetter, &_webkit_justify_content_setterinfo },
65349 : { "WebkitAlignItems", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitAlignItems_getterinfo, GenericBindingSetter, &WebkitAlignItems_setterinfo },
65350 : { "webkitAlignItems", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitAlignItems_getterinfo, GenericBindingSetter, &webkitAlignItems_setterinfo },
65351 : { "-webkit-align-items", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_align_items_getterinfo, GenericBindingSetter, &_webkit_align_items_setterinfo },
65352 : { "WebkitAlignSelf", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitAlignSelf_getterinfo, GenericBindingSetter, &WebkitAlignSelf_setterinfo },
65353 : { "webkitAlignSelf", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitAlignSelf_getterinfo, GenericBindingSetter, &webkitAlignSelf_setterinfo },
65354 : { "-webkit-align-self", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_align_self_getterinfo, GenericBindingSetter, &_webkit_align_self_setterinfo },
65355 : { "WebkitAlignContent", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitAlignContent_getterinfo, GenericBindingSetter, &WebkitAlignContent_setterinfo },
65356 : { "webkitAlignContent", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitAlignContent_getterinfo, GenericBindingSetter, &webkitAlignContent_setterinfo },
65357 : { "-webkit-align-content", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_align_content_getterinfo, GenericBindingSetter, &_webkit_align_content_setterinfo },
65358 : { "WebkitUserSelect", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitUserSelect_getterinfo, GenericBindingSetter, &WebkitUserSelect_setterinfo },
65359 : { "webkitUserSelect", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitUserSelect_getterinfo, GenericBindingSetter, &webkitUserSelect_setterinfo },
65360 : { "-webkit-user-select", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_user_select_getterinfo, GenericBindingSetter, &_webkit_user_select_setterinfo },
65361 : { "WebkitMask", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitMask_getterinfo, GenericBindingSetter, &WebkitMask_setterinfo },
65362 : { "webkitMask", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitMask_getterinfo, GenericBindingSetter, &webkitMask_setterinfo },
65363 : { "-webkit-mask", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_mask_getterinfo, GenericBindingSetter, &_webkit_mask_setterinfo },
65364 : { "WebkitMaskClip", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitMaskClip_getterinfo, GenericBindingSetter, &WebkitMaskClip_setterinfo },
65365 : { "webkitMaskClip", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitMaskClip_getterinfo, GenericBindingSetter, &webkitMaskClip_setterinfo },
65366 : { "-webkit-mask-clip", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_mask_clip_getterinfo, GenericBindingSetter, &_webkit_mask_clip_setterinfo },
65367 : { "WebkitMaskComposite", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitMaskComposite_getterinfo, GenericBindingSetter, &WebkitMaskComposite_setterinfo },
65368 : { "webkitMaskComposite", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitMaskComposite_getterinfo, GenericBindingSetter, &webkitMaskComposite_setterinfo },
65369 : { "-webkit-mask-composite", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_mask_composite_getterinfo, GenericBindingSetter, &_webkit_mask_composite_setterinfo },
65370 : { "WebkitMaskImage", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitMaskImage_getterinfo, GenericBindingSetter, &WebkitMaskImage_setterinfo },
65371 : { "webkitMaskImage", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitMaskImage_getterinfo, GenericBindingSetter, &webkitMaskImage_setterinfo },
65372 : { "-webkit-mask-image", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_mask_image_getterinfo, GenericBindingSetter, &_webkit_mask_image_setterinfo },
65373 : { "WebkitMaskOrigin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitMaskOrigin_getterinfo, GenericBindingSetter, &WebkitMaskOrigin_setterinfo },
65374 : { "webkitMaskOrigin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitMaskOrigin_getterinfo, GenericBindingSetter, &webkitMaskOrigin_setterinfo },
65375 : { "-webkit-mask-origin", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_mask_origin_getterinfo, GenericBindingSetter, &_webkit_mask_origin_setterinfo },
65376 : { "WebkitMaskPosition", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitMaskPosition_getterinfo, GenericBindingSetter, &WebkitMaskPosition_setterinfo },
65377 : { "webkitMaskPosition", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitMaskPosition_getterinfo, GenericBindingSetter, &webkitMaskPosition_setterinfo },
65378 : { "-webkit-mask-position", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_mask_position_getterinfo, GenericBindingSetter, &_webkit_mask_position_setterinfo },
65379 : { "WebkitMaskPositionX", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitMaskPositionX_getterinfo, GenericBindingSetter, &WebkitMaskPositionX_setterinfo },
65380 : { "webkitMaskPositionX", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitMaskPositionX_getterinfo, GenericBindingSetter, &webkitMaskPositionX_setterinfo },
65381 : { "-webkit-mask-position-x", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_mask_position_x_getterinfo, GenericBindingSetter, &_webkit_mask_position_x_setterinfo },
65382 : { "WebkitMaskPositionY", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitMaskPositionY_getterinfo, GenericBindingSetter, &WebkitMaskPositionY_setterinfo },
65383 : { "webkitMaskPositionY", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitMaskPositionY_getterinfo, GenericBindingSetter, &webkitMaskPositionY_setterinfo },
65384 : { "-webkit-mask-position-y", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_mask_position_y_getterinfo, GenericBindingSetter, &_webkit_mask_position_y_setterinfo },
65385 : { "WebkitMaskRepeat", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitMaskRepeat_getterinfo, GenericBindingSetter, &WebkitMaskRepeat_setterinfo },
65386 : { "webkitMaskRepeat", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitMaskRepeat_getterinfo, GenericBindingSetter, &webkitMaskRepeat_setterinfo },
65387 : { "-webkit-mask-repeat", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_mask_repeat_getterinfo, GenericBindingSetter, &_webkit_mask_repeat_setterinfo },
65388 : { "WebkitMaskSize", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &WebkitMaskSize_getterinfo, GenericBindingSetter, &WebkitMaskSize_setterinfo },
65389 : { "webkitMaskSize", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &webkitMaskSize_getterinfo, GenericBindingSetter, &webkitMaskSize_setterinfo },
65390 : { "-webkit-mask-size", JSPROP_SHARED | JSPROP_ENUMERATE, GenericBindingGetter, &_webkit_mask_size_getterinfo, GenericBindingSetter, &_webkit_mask_size_setterinfo },
65391 : { nullptr, 0, nullptr, nullptr, nullptr, nullptr }
65392 : };
65393 : #if defined(__clang__)
65394 : #pragma clang diagnostic pop
65395 : #endif
65396 :
65397 : static PrefableDisablers sAttributes_disablers7 = {
65398 : true, false, 0, nullptr
65399 : };
65400 :
65401 : static PrefableDisablers sAttributes_disablers34 = {
65402 : true, false, 0, nullptr
65403 : };
65404 :
65405 : static PrefableDisablers sAttributes_disablers168 = {
65406 : true, false, 0, nullptr
65407 : };
65408 :
65409 : static PrefableDisablers sAttributes_disablers197 = {
65410 : true, false, 0, nullptr
65411 : };
65412 :
65413 : static PrefableDisablers sAttributes_disablers219 = {
65414 : true, false, 0, nullptr
65415 : };
65416 :
65417 : static PrefableDisablers sAttributes_disablers226 = {
65418 : true, false, 0, nullptr
65419 : };
65420 :
65421 : static PrefableDisablers sAttributes_disablers301 = {
65422 : true, false, 0, nullptr
65423 : };
65424 :
65425 : static PrefableDisablers sAttributes_disablers309 = {
65426 : true, false, 0, nullptr
65427 : };
65428 :
65429 : static PrefableDisablers sAttributes_disablers348 = {
65430 : true, false, 0, nullptr
65431 : };
65432 :
65433 : static PrefableDisablers sAttributes_disablers351 = {
65434 : true, false, 0, nullptr
65435 : };
65436 :
65437 : static PrefableDisablers sAttributes_disablers363 = {
65438 : true, false, 0, nullptr
65439 : };
65440 :
65441 : static PrefableDisablers sAttributes_disablers450 = {
65442 : true, false, 0, nullptr
65443 : };
65444 :
65445 : static PrefableDisablers sAttributes_disablers470 = {
65446 : true, false, 0, nullptr
65447 : };
65448 :
65449 : static PrefableDisablers sAttributes_disablers494 = {
65450 : true, false, 0, nullptr
65451 : };
65452 :
65453 : static PrefableDisablers sAttributes_disablers525 = {
65454 : true, false, 0, nullptr
65455 : };
65456 :
65457 : static PrefableDisablers sAttributes_disablers548 = {
65458 : true, false, 0, nullptr
65459 : };
65460 :
65461 : static PrefableDisablers sAttributes_disablers551 = {
65462 : true, false, 0, nullptr
65463 : };
65464 :
65465 : static PrefableDisablers sAttributes_disablers566 = {
65466 : true, false, 0, nullptr
65467 : };
65468 :
65469 : static PrefableDisablers sAttributes_disablers603 = {
65470 : true, false, 0, nullptr
65471 : };
65472 :
65473 : static PrefableDisablers sAttributes_disablers623 = {
65474 : true, false, 0, nullptr
65475 : };
65476 :
65477 : static PrefableDisablers sAttributes_disablers630 = {
65478 : true, false, 0, nullptr
65479 : };
65480 :
65481 : static PrefableDisablers sAttributes_disablers644 = {
65482 : true, false, 0, nullptr
65483 : };
65484 :
65485 : static PrefableDisablers sAttributes_disablers658 = {
65486 : true, false, 0, nullptr
65487 : };
65488 :
65489 : static PrefableDisablers sAttributes_disablers663 = {
65490 : true, false, 0, nullptr
65491 : };
65492 :
65493 : static PrefableDisablers sAttributes_disablers666 = {
65494 : true, false, 0, nullptr
65495 : };
65496 :
65497 : static PrefableDisablers sAttributes_disablers717 = {
65498 : true, false, 0, nullptr
65499 : };
65500 :
65501 : static PrefableDisablers sAttributes_disablers728 = {
65502 : true, false, 0, nullptr
65503 : };
65504 :
65505 : static PrefableDisablers sAttributes_disablers731 = {
65506 : true, false, 0, nullptr
65507 : };
65508 :
65509 : static PrefableDisablers sAttributes_disablers742 = {
65510 : true, false, 0, nullptr
65511 : };
65512 :
65513 : static PrefableDisablers sAttributes_disablers761 = {
65514 : true, false, 0, nullptr
65515 : };
65516 :
65517 : static PrefableDisablers sAttributes_disablers764 = {
65518 : true, false, 0, nullptr
65519 : };
65520 :
65521 : static PrefableDisablers sAttributes_disablers814 = {
65522 : true, false, 0, nullptr
65523 : };
65524 :
65525 : // Can't be const because the pref-enabled boolean needs to be writable
65526 : static Prefable<const JSPropertySpec> sAttributes[] = {
65527 : { nullptr, &sAttributes_specs[0] },
65528 : { &sAttributes_disablers7, &sAttributes_specs[7] },
65529 : { nullptr, &sAttributes_specs[9] },
65530 : { &sAttributes_disablers34, &sAttributes_specs[34] },
65531 : { nullptr, &sAttributes_specs[37] },
65532 : { &sAttributes_disablers168, &sAttributes_specs[168] },
65533 : { nullptr, &sAttributes_specs[171] },
65534 : { &sAttributes_disablers197, &sAttributes_specs[197] },
65535 : { nullptr, &sAttributes_specs[200] },
65536 : { &sAttributes_disablers219, &sAttributes_specs[219] },
65537 : { nullptr, &sAttributes_specs[222] },
65538 : { &sAttributes_disablers226, &sAttributes_specs[226] },
65539 : { nullptr, &sAttributes_specs[228] },
65540 : { &sAttributes_disablers301, &sAttributes_specs[301] },
65541 : { nullptr, &sAttributes_specs[304] },
65542 : { &sAttributes_disablers309, &sAttributes_specs[309] },
65543 : { nullptr, &sAttributes_specs[345] },
65544 : { &sAttributes_disablers348, &sAttributes_specs[348] },
65545 : { &sAttributes_disablers351, &sAttributes_specs[351] },
65546 : { nullptr, &sAttributes_specs[354] },
65547 : { &sAttributes_disablers363, &sAttributes_specs[363] },
65548 : { nullptr, &sAttributes_specs[365] },
65549 : { &sAttributes_disablers450, &sAttributes_specs[450] },
65550 : { nullptr, &sAttributes_specs[453] },
65551 : { &sAttributes_disablers470, &sAttributes_specs[470] },
65552 : { nullptr, &sAttributes_specs[473] },
65553 : { &sAttributes_disablers494, &sAttributes_specs[494] },
65554 : { nullptr, &sAttributes_specs[497] },
65555 : { &sAttributes_disablers525, &sAttributes_specs[525] },
65556 : { nullptr, &sAttributes_specs[528] },
65557 : { &sAttributes_disablers548, &sAttributes_specs[548] },
65558 : { &sAttributes_disablers551, &sAttributes_specs[551] },
65559 : { &sAttributes_disablers566, &sAttributes_specs[566] },
65560 : { nullptr, &sAttributes_specs[569] },
65561 : { &sAttributes_disablers603, &sAttributes_specs[603] },
65562 : { nullptr, &sAttributes_specs[606] },
65563 : { &sAttributes_disablers623, &sAttributes_specs[623] },
65564 : { nullptr, &sAttributes_specs[627] },
65565 : { &sAttributes_disablers630, &sAttributes_specs[630] },
65566 : { nullptr, &sAttributes_specs[633] },
65567 : { &sAttributes_disablers644, &sAttributes_specs[644] },
65568 : { nullptr, &sAttributes_specs[654] },
65569 : { &sAttributes_disablers658, &sAttributes_specs[658] },
65570 : { nullptr, &sAttributes_specs[661] },
65571 : { &sAttributes_disablers663, &sAttributes_specs[663] },
65572 : { &sAttributes_disablers666, &sAttributes_specs[666] },
65573 : { nullptr, &sAttributes_specs[669] },
65574 : { &sAttributes_disablers717, &sAttributes_specs[717] },
65575 : { &sAttributes_disablers728, &sAttributes_specs[728] },
65576 : { &sAttributes_disablers731, &sAttributes_specs[731] },
65577 : { &sAttributes_disablers742, &sAttributes_specs[742] },
65578 : { &sAttributes_disablers761, &sAttributes_specs[761] },
65579 : { &sAttributes_disablers764, &sAttributes_specs[764] },
65580 : { nullptr, &sAttributes_specs[769] },
65581 : { &sAttributes_disablers814, &sAttributes_specs[814] },
65582 : { nullptr, nullptr }
65583 : };
65584 :
65585 : static_assert(55 <= 1ull << NUM_BITS_PROPERTY_INFO_PREF_INDEX,
65586 : "We have a prefable index that is >= (1 << NUM_BITS_PROPERTY_INFO_PREF_INDEX)");
65587 : static_assert(186 <= 1ull << NUM_BITS_PROPERTY_INFO_SPEC_INDEX,
65588 : "We have a spec index that is >= (1 << NUM_BITS_PROPERTY_INFO_SPEC_INDEX)");
65589 :
65590 :
65591 : static uint16_t sNativeProperties_sortedPropertyIndices[947];
65592 : static PropertyInfo sNativeProperties_propertyInfos[947];
65593 :
65594 : static const NativePropertiesN<2> sNativeProperties = {
65595 : false, 0,
65596 : false, 0,
65597 : true, 0 /* sMethods */,
65598 : true, 1 /* sAttributes */,
65599 : false, 0,
65600 : false, 0,
65601 : false, 0,
65602 : -1,
65603 : 947,
65604 : sNativeProperties_sortedPropertyIndices,
65605 : {
65606 : { sMethods, &sNativeProperties_propertyInfos[0] },
65607 : { sAttributes, &sNativeProperties_propertyInfos[1] }
65608 : }
65609 : };
65610 : static_assert(947 < 1ull << CHAR_BIT * sizeof(sNativeProperties.propertyInfoCount),
65611 : "We have a property info count that is oversized");
65612 :
65613 : static const DOMIfaceAndProtoJSClass sInterfaceObjectClass = {
65614 : {
65615 : "Function",
65616 : JSCLASS_IS_DOMIFACEANDPROTOJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(DOM_INTERFACE_SLOTS_BASE),
65617 : &sBoringInterfaceObjectClassClassOps,
65618 : JS_NULL_CLASS_SPEC,
65619 : JS_NULL_CLASS_EXT,
65620 : &sInterfaceObjectClassObjectOps
65621 : },
65622 : eInterface,
65623 : true,
65624 : prototypes::id::CSS2Properties,
65625 : PrototypeTraits<prototypes::id::CSS2Properties>::Depth,
65626 : sNativePropertyHooks,
65627 : "function CSS2Properties() {\n [native code]\n}",
65628 : CSSStyleDeclarationBinding::GetConstructorObject
65629 : };
65630 :
65631 : static const DOMIfaceAndProtoJSClass sPrototypeClass = {
65632 : {
65633 : "CSS2PropertiesPrototype",
65634 : JSCLASS_IS_DOMIFACEANDPROTOJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(DOM_INTERFACE_PROTO_SLOTS_BASE),
65635 : JS_NULL_CLASS_OPS,
65636 : JS_NULL_CLASS_SPEC,
65637 : JS_NULL_CLASS_EXT,
65638 : JS_NULL_OBJECT_OPS
65639 : },
65640 : eInterfacePrototype,
65641 : false,
65642 : prototypes::id::CSS2Properties,
65643 : PrototypeTraits<prototypes::id::CSS2Properties>::Depth,
65644 : sNativePropertyHooks,
65645 : "[object CSS2PropertiesPrototype]",
65646 : CSSStyleDeclarationBinding::GetProtoObject
65647 : };
65648 :
65649 : JSObject*
65650 0 : DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal)
65651 : {
65652 0 : return GetConstructorObjectHandle(aCx, aDefineOnGlobal);
65653 : }
65654 :
65655 : static_assert(IsBaseOf<nsISupports, nsDOMCSSDeclaration >::value,
65656 : "We don't support non-nsISupports native classes for "
65657 : "proxy-based bindings yet");
65658 :
65659 :
65660 : class DOMProxyHandler : public mozilla::dom::DOMProxyHandler
65661 : {
65662 : public:
65663 : explicit constexpr DOMProxyHandler()
65664 : {
65665 : }
65666 :
65667 : virtual bool
65668 : getOwnPropDescriptor(JSContext* cx, JS::Handle<JSObject*> proxy, JS::Handle<jsid> id, bool ignoreNamedProps, JS::MutableHandle<JS::PropertyDescriptor> desc) const override;
65669 :
65670 : virtual bool
65671 : defineProperty(JSContext* cx, JS::Handle<JSObject*> proxy, JS::Handle<jsid> id, JS::Handle<JS::PropertyDescriptor> desc, JS::ObjectOpResult& opresult, bool* defined) const override;
65672 :
65673 : using mozilla::dom::DOMProxyHandler::defineProperty;
65674 :
65675 : virtual bool
65676 : ownPropNames(JSContext* cx, JS::Handle<JSObject*> proxy, unsigned flags, JS::AutoIdVector& props) const override;
65677 :
65678 : virtual bool
65679 : hasOwn(JSContext* cx, JS::Handle<JSObject*> proxy, JS::Handle<jsid> id, bool* bp) const override;
65680 :
65681 : virtual bool
65682 : get(JSContext* cx, JS::Handle<JSObject*> proxy, JS::Handle<JS::Value> receiver, JS::Handle<jsid> id, JS::MutableHandle<JS::Value> vp) const override;
65683 :
65684 : virtual const char*
65685 : className(JSContext* cx, JS::Handle<JSObject*> proxy) const override;
65686 :
65687 : virtual bool
65688 : finalizeInBackground(const JS::Value& priv) const override;
65689 :
65690 : virtual void
65691 : finalize(JSFreeOp* fop, JSObject* proxy) const override;
65692 :
65693 : static const DOMProxyHandler*
65694 : getInstance();
65695 :
65696 : virtual bool
65697 : delete_(JSContext* cx, JS::Handle<JSObject*> proxy, JS::Handle<jsid> id, JS::ObjectOpResult& opresult) const override;
65698 :
65699 : virtual bool
65700 : getElements(JSContext* cx, JS::Handle<JSObject*> proxy, uint32_t begin, uint32_t end, js::ElementAdder* adder) const override;
65701 : };
65702 :
65703 : MOZ_ALWAYS_INLINE bool
65704 0 : IsProxy(JSObject* obj)
65705 : {
65706 0 : return js::IsProxy(obj) && js::GetProxyHandler(obj) == DOMProxyHandler::getInstance();
65707 : }
65708 :
65709 : MOZ_ALWAYS_INLINE nsDOMCSSDeclaration*
65710 0 : UnwrapProxy(JSObject* obj)
65711 : {
65712 0 : MOZ_ASSERT(js::IsProxy(obj));
65713 0 : if (js::GetProxyHandler(obj) != DOMProxyHandler::getInstance()) {
65714 0 : MOZ_ASSERT(xpc::WrapperFactory::IsXrayWrapper(obj));
65715 0 : obj = js::UncheckedUnwrap(obj);
65716 : }
65717 0 : MOZ_ASSERT(IsProxy(obj));
65718 0 : return static_cast<nsDOMCSSDeclaration*>(js::GetProxyReservedSlot(obj, DOM_OBJECT_SLOT).toPrivate());
65719 : }
65720 :
65721 : bool
65722 9 : DOMProxyHandler::getOwnPropDescriptor(JSContext* cx, JS::Handle<JSObject*> proxy, JS::Handle<jsid> id, bool ignoreNamedProps, JS::MutableHandle<JS::PropertyDescriptor> desc) const
65723 : {
65724 9 : bool isXray = xpc::WrapperFactory::IsXrayWrapper(proxy);
65725 9 : uint32_t index = GetArrayIndexFromId(cx, id);
65726 9 : if (IsArrayIndex(index)) {
65727 0 : nsDOMCSSDeclaration* self = UnwrapProxy(proxy);
65728 0 : bool found = false;
65729 0 : DOMString result;
65730 0 : self->IndexedGetter(index, found, result);
65731 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
65732 :
65733 0 : if (found) {
65734 0 : if (!xpc::NonVoidStringToJsval(cx, result, desc.value())) {
65735 0 : return false;
65736 : }
65737 0 : FillPropertyDescriptor(desc, proxy, true);
65738 0 : return true;
65739 : }
65740 : }
65741 :
65742 18 : JS::Rooted<JSObject*> expando(cx);
65743 9 : if (!isXray && (expando = GetExpandoObject(proxy))) {
65744 0 : if (!JS_GetOwnPropertyDescriptorById(cx, expando, id, desc)) {
65745 0 : return false;
65746 : }
65747 0 : if (desc.object()) {
65748 : // Pretend the property lives on the wrapper.
65749 0 : desc.object().set(proxy);
65750 0 : return true;
65751 : }
65752 : }
65753 :
65754 9 : desc.object().set(nullptr);
65755 9 : return true;
65756 : }
65757 :
65758 : bool
65759 0 : DOMProxyHandler::defineProperty(JSContext* cx, JS::Handle<JSObject*> proxy, JS::Handle<jsid> id, JS::Handle<JS::PropertyDescriptor> desc, JS::ObjectOpResult& opresult, bool* defined) const
65760 : {
65761 0 : if (IsArrayIndex(GetArrayIndexFromId(cx, id))) {
65762 0 : *defined = true;
65763 0 : return opresult.failNoIndexedSetter();
65764 : }
65765 0 : return mozilla::dom::DOMProxyHandler::defineProperty(cx, proxy, id, desc, opresult, defined);
65766 : }
65767 :
65768 :
65769 : bool
65770 0 : DOMProxyHandler::ownPropNames(JSContext* cx, JS::Handle<JSObject*> proxy, unsigned flags, JS::AutoIdVector& props) const
65771 : {
65772 0 : bool isXray = xpc::WrapperFactory::IsXrayWrapper(proxy);
65773 :
65774 0 : uint32_t length = UnwrapProxy(proxy)->Length();
65775 0 : MOZ_ASSERT(int32_t(length) >= 0);
65776 0 : for (int32_t i = 0; i < int32_t(length); ++i) {
65777 0 : if (!props.append(INT_TO_JSID(i))) {
65778 0 : return false;
65779 : }
65780 : }
65781 :
65782 0 : JS::Rooted<JSObject*> expando(cx);
65783 0 : if (!isXray && (expando = DOMProxyHandler::GetExpandoObject(proxy)) &&
65784 0 : !js::GetPropertyKeys(cx, expando, flags, &props)) {
65785 0 : return false;
65786 : }
65787 :
65788 0 : return true;
65789 : }
65790 :
65791 : bool
65792 0 : DOMProxyHandler::hasOwn(JSContext* cx, JS::Handle<JSObject*> proxy, JS::Handle<jsid> id, bool* bp) const
65793 : {
65794 0 : MOZ_ASSERT(!xpc::WrapperFactory::IsXrayWrapper(proxy),
65795 : "Should not have a XrayWrapper here");
65796 :
65797 0 : uint32_t index = GetArrayIndexFromId(cx, id);
65798 0 : if (IsArrayIndex(index)) {
65799 0 : bool found = false;
65800 0 : nsDOMCSSDeclaration* self = UnwrapProxy(proxy);
65801 0 : DOMString result;
65802 0 : self->IndexedGetter(index, found, result);
65803 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
65804 : (void)result;
65805 :
65806 0 : *bp = found;
65807 0 : return true;
65808 : }
65809 :
65810 :
65811 0 : JS::Rooted<JSObject*> expando(cx, GetExpandoObject(proxy));
65812 0 : if (expando) {
65813 0 : bool b = true;
65814 0 : bool ok = JS_HasPropertyById(cx, expando, id, &b);
65815 0 : *bp = !!b;
65816 0 : if (!ok || *bp) {
65817 0 : return ok;
65818 : }
65819 : }
65820 :
65821 0 : *bp = false;
65822 0 : return true;
65823 : }
65824 :
65825 : bool
65826 13 : DOMProxyHandler::get(JSContext* cx, JS::Handle<JSObject*> proxy, JS::Handle<JS::Value> receiver, JS::Handle<jsid> id, JS::MutableHandle<JS::Value> vp) const
65827 : {
65828 13 : MOZ_ASSERT(!xpc::WrapperFactory::IsXrayWrapper(proxy),
65829 : "Should not have a XrayWrapper here");
65830 :
65831 13 : uint32_t index = GetArrayIndexFromId(cx, id);
65832 13 : if (IsArrayIndex(index)) {
65833 0 : nsDOMCSSDeclaration* self = UnwrapProxy(proxy);
65834 0 : bool found = false;
65835 0 : DOMString result;
65836 0 : self->IndexedGetter(index, found, result);
65837 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
65838 :
65839 0 : if (found) {
65840 0 : if (!xpc::NonVoidStringToJsval(cx, result, vp)) {
65841 0 : return false;
65842 : }
65843 0 : return true;
65844 : }
65845 : // Even if we don't have this index, we don't forward the
65846 : // get on to our expando object.
65847 : } else {
65848 : { // Scope for expando
65849 26 : JS::Rooted<JSObject*> expando(cx, DOMProxyHandler::GetExpandoObject(proxy));
65850 13 : if (expando) {
65851 : bool hasProp;
65852 0 : if (!JS_HasPropertyById(cx, expando, id, &hasProp)) {
65853 0 : return false;
65854 : }
65855 :
65856 0 : if (hasProp) {
65857 : // Forward the get to the expando object, but our receiver is whatever our
65858 : // receiver is.
65859 0 : return JS_ForwardGetPropertyTo(cx, expando, id, receiver, vp);
65860 : }
65861 : }
65862 : }
65863 : }
65864 :
65865 : bool foundOnPrototype;
65866 13 : if (!GetPropertyOnPrototype(cx, proxy, receiver, id, &foundOnPrototype, vp)) {
65867 0 : return false;
65868 : }
65869 :
65870 13 : if (foundOnPrototype) {
65871 13 : return true;
65872 : }
65873 :
65874 0 : vp.setUndefined();
65875 0 : return true;
65876 : }
65877 :
65878 : const char*
65879 0 : DOMProxyHandler::className(JSContext* cx, JS::Handle<JSObject*> proxy) const
65880 : {
65881 0 : return "CSS2Properties";
65882 : }
65883 :
65884 : bool
65885 9 : DOMProxyHandler::finalizeInBackground(const JS::Value& priv) const
65886 : {
65887 9 : return false;
65888 : }
65889 :
65890 : void
65891 0 : DOMProxyHandler::finalize(JSFreeOp* fop, JSObject* proxy) const
65892 : {
65893 0 : nsDOMCSSDeclaration* self = UnwrapPossiblyNotInitializedDOMObject<nsDOMCSSDeclaration>(proxy);
65894 0 : if (self) {
65895 0 : ClearWrapper(self, self, proxy);
65896 0 : AddForDeferredFinalization<nsDOMCSSDeclaration>(self);
65897 : }
65898 0 : }
65899 :
65900 : const DOMProxyHandler*
65901 9 : DOMProxyHandler::getInstance()
65902 : {
65903 : static const DOMProxyHandler instance;
65904 9 : return &instance;
65905 : }
65906 :
65907 : bool
65908 0 : DOMProxyHandler::delete_(JSContext* cx, JS::Handle<JSObject*> proxy, JS::Handle<jsid> id, JS::ObjectOpResult& opresult) const
65909 : {
65910 0 : MOZ_ASSERT(!xpc::WrapperFactory::IsXrayWrapper(proxy),
65911 : "Should not have a XrayWrapper here");
65912 :
65913 0 : uint32_t index = GetArrayIndexFromId(cx, id);
65914 0 : if (IsArrayIndex(index)) {
65915 : bool deleteSucceeded;
65916 0 : bool found = false;
65917 0 : nsDOMCSSDeclaration* self = UnwrapProxy(proxy);
65918 0 : DOMString result;
65919 0 : self->IndexedGetter(index, found, result);
65920 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
65921 : (void)result;
65922 0 : deleteSucceeded = !found;
65923 0 : return deleteSucceeded ? opresult.succeed() : opresult.failCantDelete();
65924 : }
65925 :
65926 0 : return dom::DOMProxyHandler::delete_(cx, proxy, id, opresult);
65927 : }
65928 :
65929 : bool
65930 0 : DOMProxyHandler::getElements(JSContext* cx, JS::Handle<JSObject*> proxy, uint32_t begin, uint32_t end, js::ElementAdder* adder) const
65931 : {
65932 0 : JS::Rooted<JS::Value> temp(cx);
65933 0 : MOZ_ASSERT(!xpc::WrapperFactory::IsXrayWrapper(proxy),
65934 : "Should not have a XrayWrapper here");
65935 :
65936 0 : nsDOMCSSDeclaration* self = UnwrapProxy(proxy);
65937 0 : uint32_t length = self->Length();
65938 : // Compute the end of the indices we'll get ourselves
65939 0 : uint32_t ourEnd = std::max(begin, std::min(end, length));
65940 :
65941 0 : for (uint32_t index = begin; index < ourEnd; ++index) {
65942 0 : bool found = false;
65943 0 : DOMString result;
65944 0 : self->IndexedGetter(index, found, result);
65945 0 : MOZ_ASSERT(!JS_IsExceptionPending(cx));
65946 :
65947 0 : MOZ_ASSERT(found);
65948 0 : if (!xpc::NonVoidStringToJsval(cx, result, &temp)) {
65949 0 : return false;
65950 : }
65951 0 : if (!adder->append(cx, temp)) return false;
65952 0 : continue;
65953 : }
65954 :
65955 0 : if (end > ourEnd) {
65956 0 : JS::Rooted<JSObject*> proto(cx);
65957 0 : if (!js::GetObjectProto(cx, proxy, &proto)) {
65958 0 : return false;
65959 : }
65960 0 : return js::GetElementsWithAdder(cx, proto, proxy, ourEnd, end, adder);
65961 : }
65962 :
65963 0 : return true;
65964 : }
65965 :
65966 : static const js::ClassExtension sClassExtension = PROXY_MAKE_EXT(
65967 : _objectMoved
65968 : );
65969 :
65970 : static const DOMJSClass sClass = {
65971 : PROXY_CLASS_WITH_EXT("CSS2Properties",
65972 : JSCLASS_IS_DOMJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(1),
65973 : &sClassExtension),
65974 : { prototypes::id::CSSStyleDeclaration, prototypes::id::CSS2Properties, prototypes::id::_ID_Count, prototypes::id::_ID_Count, prototypes::id::_ID_Count, prototypes::id::_ID_Count, prototypes::id::_ID_Count, prototypes::id::_ID_Count },
65975 : IsBaseOf<nsISupports, nsDOMCSSDeclaration >::value,
65976 : sNativePropertyHooks,
65977 : FindAssociatedGlobalForNative<nsDOMCSSDeclaration>::Get,
65978 : GetProtoObjectHandle,
65979 : GetCCParticipant<nsDOMCSSDeclaration>::Get()
65980 : };
65981 :
65982 : bool
65983 9 : Wrap(JSContext* aCx, nsDOMCSSDeclaration* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector)
65984 : {
65985 : MOZ_ASSERT(static_cast<nsDOMCSSDeclaration*>(aObject) ==
65986 : reinterpret_cast<nsDOMCSSDeclaration*>(aObject),
65987 : "Multiple inheritance for nsDOMCSSDeclaration is broken.");
65988 : MOZ_ASSERT(static_cast<nsICSSDeclaration*>(aObject) ==
65989 : reinterpret_cast<nsICSSDeclaration*>(aObject),
65990 : "Multiple inheritance for nsICSSDeclaration is broken.");
65991 9 : MOZ_ASSERT(ToSupportsIsCorrect(aObject));
65992 9 : MOZ_ASSERT_IF(aGivenProto, js::IsObjectInContextCompartment(aGivenProto, aCx));
65993 9 : MOZ_ASSERT(!aCache->GetWrapper(),
65994 : "You should probably not be using Wrap() directly; use "
65995 : "GetOrCreateDOMReflector instead");
65996 :
65997 9 : MOZ_ASSERT(ToSupportsIsOnPrimaryInheritanceChain(aObject, aCache),
65998 : "nsISupports must be on our primary inheritance chain");
65999 :
66000 18 : JS::Rooted<JSObject*> global(aCx, FindAssociatedGlobal(aCx, aObject->GetParentObject()));
66001 9 : if (!global) {
66002 0 : return false;
66003 : }
66004 9 : MOZ_ASSERT(JS_IsGlobalObject(global));
66005 9 : MOZ_ASSERT(JS::ObjectIsNotGray(global));
66006 :
66007 : // That might have ended up wrapping us already, due to the wonders
66008 : // of XBL. Check for that, and bail out as needed.
66009 9 : aReflector.set(aCache->GetWrapper());
66010 9 : if (aReflector) {
66011 : #ifdef DEBUG
66012 0 : binding_detail::AssertReflectorHasGivenProto(aCx, aReflector, aGivenProto);
66013 : #endif // DEBUG
66014 0 : return true;
66015 : }
66016 :
66017 18 : JSAutoCompartment ac(aCx, global);
66018 9 : JS::Handle<JSObject*> canonicalProto = GetProtoObjectHandle(aCx);
66019 9 : if (!canonicalProto) {
66020 0 : return false;
66021 : }
66022 18 : JS::Rooted<JSObject*> proto(aCx);
66023 9 : if (aGivenProto) {
66024 0 : proto = aGivenProto;
66025 : // Unfortunately, while aGivenProto was in the compartment of aCx
66026 : // coming in, we changed compartments to that of "parent" so may need
66027 : // to wrap the proto here.
66028 0 : if (js::GetContextCompartment(aCx) != js::GetObjectCompartment(proto)) {
66029 0 : if (!JS_WrapObject(aCx, &proto)) {
66030 0 : return false;
66031 : }
66032 : }
66033 : } else {
66034 9 : proto = canonicalProto;
66035 : }
66036 :
66037 18 : BindingJSObjectCreator<nsDOMCSSDeclaration> creator(aCx);
66038 18 : JS::Rooted<JS::Value> expandoValue(aCx, JS::UndefinedValue());
66039 18 : creator.CreateProxyObject(aCx, &sClass.mBase, DOMProxyHandler::getInstance(),
66040 9 : proto, aObject, expandoValue, aReflector);
66041 9 : if (!aReflector) {
66042 0 : return false;
66043 : }
66044 :
66045 :
66046 9 : aCache->SetWrapper(aReflector);
66047 9 : creator.InitializationSucceeded();
66048 :
66049 9 : MOZ_ASSERT(aCache->GetWrapperPreserveColor() &&
66050 : aCache->GetWrapperPreserveColor() == aReflector);
66051 : // If proto != canonicalProto, we have to preserve our wrapper;
66052 : // otherwise we won't be able to properly recreate it later, since
66053 : // we won't know what proto to use. Note that we don't check
66054 : // aGivenProto here, since it's entirely possible (and even
66055 : // somewhat common) to have a non-null aGivenProto which is the
66056 : // same as canonicalProto.
66057 9 : if (proto != canonicalProto) {
66058 0 : PreserveWrapper(aObject);
66059 : }
66060 :
66061 9 : return true;
66062 : }
66063 :
66064 : static bool
66065 0 : ResolveOwnProperty(JSContext* cx, JS::Handle<JSObject*> wrapper, JS::Handle<JSObject*> obj, JS::Handle<jsid> id, JS::MutableHandle<JS::PropertyDescriptor> desc)
66066 : {
66067 0 : return js::GetProxyHandler(obj)->getOwnPropertyDescriptor(cx, wrapper, id, desc);
66068 : }
66069 :
66070 : static bool
66071 0 : EnumerateOwnProperties(JSContext* cx, JS::Handle<JSObject*> wrapper, JS::Handle<JSObject*> obj, JS::AutoIdVector& props)
66072 : {
66073 0 : return js::GetProxyHandler(obj)->ownPropertyKeys(cx, wrapper, props);
66074 : }
66075 :
66076 : const NativePropertyHooks sNativePropertyHooks[] = { {
66077 : ResolveOwnProperty,
66078 : EnumerateOwnProperties,
66079 : nullptr,
66080 : { sNativeProperties.Upcast(), nullptr },
66081 : prototypes::id::CSS2Properties,
66082 : constructors::id::CSS2Properties,
66083 : CSSStyleDeclarationBinding::sNativePropertyHooks,
66084 : &DefaultXrayExpandoObjectClass
66085 : } };
66086 :
66087 : void
66088 1 : CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal)
66089 : {
66090 1 : JS::Handle<JSObject*> parentProto(CSSStyleDeclarationBinding::GetProtoObjectHandle(aCx));
66091 1 : if (!parentProto) {
66092 0 : return;
66093 : }
66094 :
66095 1 : JS::Handle<JSObject*> constructorProto(CSSStyleDeclarationBinding::GetConstructorObjectHandle(aCx));
66096 1 : if (!constructorProto) {
66097 0 : return;
66098 : }
66099 :
66100 : static bool sIdsInited = false;
66101 1 : if (!sIdsInited && NS_IsMainThread()) {
66102 1 : if (!InitIds(aCx, sNativeProperties.Upcast())) {
66103 0 : return;
66104 : }
66105 1 : sIdsInited = true;
66106 : }
66107 :
66108 : static bool sPrefCachesInited = false;
66109 1 : if (!sPrefCachesInited && NS_IsMainThread()) {
66110 1 : sPrefCachesInited = true;
66111 1 : Preferences::AddBoolVarCache(&sAttributes[1].disablers->enabled, "layout.css.all-shorthand.enabled");
66112 1 : Preferences::AddBoolVarCache(&sAttributes[3].disablers->enabled, "layout.css.background-blend-mode.enabled");
66113 1 : Preferences::AddBoolVarCache(&sAttributes[5].disablers->enabled, "layout.css.box-decoration-break.enabled");
66114 1 : Preferences::AddBoolVarCache(&sAttributes[7].disablers->enabled, "layout.css.color-adjust.enabled");
66115 1 : Preferences::AddBoolVarCache(&sAttributes[9].disablers->enabled, "layout.css.column-span.enabled");
66116 1 : Preferences::AddBoolVarCache(&sAttributes[11].disablers->enabled, "layout.css.contain.enabled");
66117 1 : Preferences::AddBoolVarCache(&sAttributes[13].disablers->enabled, "layout.css.font-variations.enabled");
66118 1 : Preferences::AddBoolVarCache(&sAttributes[15].disablers->enabled, "layout.css.grid.enabled");
66119 1 : Preferences::AddBoolVarCache(&sAttributes[17].disablers->enabled, "layout.css.initial-letter.enabled");
66120 1 : Preferences::AddBoolVarCache(&sAttributes[18].disablers->enabled, "layout.css.image-orientation.enabled");
66121 1 : Preferences::AddBoolVarCache(&sAttributes[20].disablers->enabled, "layout.css.isolation.enabled");
66122 1 : Preferences::AddBoolVarCache(&sAttributes[22].disablers->enabled, "layout.css.mix-blend-mode.enabled");
66123 1 : Preferences::AddBoolVarCache(&sAttributes[24].disablers->enabled, "layout.css.osx-font-smoothing.enabled");
66124 1 : Preferences::AddBoolVarCache(&sAttributes[26].disablers->enabled, "layout.css.overflow-clip-box.enabled");
66125 1 : Preferences::AddBoolVarCache(&sAttributes[28].disablers->enabled, "svg.paint-order.enabled");
66126 1 : Preferences::AddBoolVarCache(&sAttributes[30].disablers->enabled, "layout.css.scroll-behavior.property-enabled");
66127 1 : Preferences::AddBoolVarCache(&sAttributes[31].disablers->enabled, "layout.css.scroll-snap.enabled");
66128 1 : Preferences::AddBoolVarCache(&sAttributes[32].disablers->enabled, "layout.css.shape-outside.enabled");
66129 1 : Preferences::AddBoolVarCache(&sAttributes[34].disablers->enabled, "layout.css.text-combine-upright.enabled");
66130 1 : Preferences::AddBoolVarCache(&sAttributes[36].disablers->enabled, "layout.css.prefixes.webkit");
66131 1 : Preferences::AddBoolVarCache(&sAttributes[38].disablers->enabled, "layout.css.text-justify.enabled");
66132 1 : Preferences::AddBoolVarCache(&sAttributes[40].disablers->enabled, "layout.css.prefixes.webkit");
66133 1 : Preferences::AddBoolVarCache(&sAttributes[42].disablers->enabled, "layout.css.touch_action.enabled");
66134 1 : Preferences::AddBoolVarCache(&sAttributes[44].disablers->enabled, "layout.css.prefixes.transforms");
66135 1 : Preferences::AddBoolVarCache(&sAttributes[45].disablers->enabled, "svg.transform-box.enabled");
66136 1 : Preferences::AddBoolVarCache(&sAttributes[47].disablers->enabled, "layout.css.prefixes.transforms");
66137 1 : Preferences::AddBoolVarCache(&sAttributes[48].disablers->enabled, "layout.css.prefixes.border-image");
66138 1 : Preferences::AddBoolVarCache(&sAttributes[49].disablers->enabled, "layout.css.prefixes.transitions");
66139 1 : Preferences::AddBoolVarCache(&sAttributes[50].disablers->enabled, "layout.css.prefixes.animations");
66140 1 : Preferences::AddBoolVarCache(&sAttributes[51].disablers->enabled, "layout.css.prefixes.box-sizing");
66141 1 : Preferences::AddBoolVarCache(&sAttributes[52].disablers->enabled, "layout.css.prefixes.font-features");
66142 1 : Preferences::AddBoolVarCache(&sAttributes[54].disablers->enabled, "layout.css.prefixes.webkit");
66143 : }
66144 :
66145 1 : JS::Heap<JSObject*>* protoCache = &aProtoAndIfaceCache.EntrySlotOrCreate(prototypes::id::CSS2Properties);
66146 1 : JS::Heap<JSObject*>* interfaceCache = &aProtoAndIfaceCache.EntrySlotOrCreate(constructors::id::CSS2Properties);
66147 1 : dom::CreateInterfaceObjects(aCx, aGlobal, parentProto,
66148 : &sPrototypeClass.mBase, protoCache,
66149 : constructorProto, &sInterfaceObjectClass.mBase, 0, nullptr,
66150 : interfaceCache,
66151 : sNativeProperties.Upcast(),
66152 : nullptr,
66153 : "CSS2Properties", aDefineOnGlobal,
66154 : nullptr,
66155 1 : false);
66156 : }
66157 :
66158 : JS::Handle<JSObject*>
66159 9 : GetProtoObjectHandle(JSContext* aCx)
66160 : {
66161 : /* Get the interface prototype object for this class. This will create the
66162 : object as needed. */
66163 9 : bool aDefineOnGlobal = true;
66164 :
66165 : /* Make sure our global is sane. Hopefully we can remove this sometime */
66166 9 : JSObject* global = JS::CurrentGlobalOrNull(aCx);
66167 9 : if (!(js::GetObjectClass(global)->flags & JSCLASS_DOM_GLOBAL)) {
66168 0 : return nullptr;
66169 : }
66170 :
66171 : /* Check to see whether the interface objects are already installed */
66172 9 : ProtoAndIfaceCache& protoAndIfaceCache = *GetProtoAndIfaceCache(global);
66173 9 : if (!protoAndIfaceCache.HasEntryInSlot(prototypes::id::CSS2Properties)) {
66174 2 : JS::Rooted<JSObject*> rootedGlobal(aCx, global);
66175 1 : CreateInterfaceObjects(aCx, rootedGlobal, protoAndIfaceCache, aDefineOnGlobal);
66176 : }
66177 :
66178 : /*
66179 : * The object might _still_ be null, but that's OK.
66180 : *
66181 : * Calling fromMarkedLocation() is safe because protoAndIfaceCache is
66182 : * traced by TraceProtoAndIfaceCache() and its contents are never
66183 : * changed after they have been set.
66184 : *
66185 : * Calling address() avoids the read read barrier that does gray
66186 : * unmarking, but it's not possible for the object to be gray here.
66187 : */
66188 :
66189 9 : const JS::Heap<JSObject*>& entrySlot = protoAndIfaceCache.EntrySlotMustExist(prototypes::id::CSS2Properties);
66190 9 : MOZ_ASSERT(JS::ObjectIsNotGray(entrySlot));
66191 9 : return JS::Handle<JSObject*>::fromMarkedLocation(entrySlot.address());
66192 : }
66193 :
66194 : JS::Handle<JSObject*>
66195 0 : GetConstructorObjectHandle(JSContext* aCx, bool aDefineOnGlobal)
66196 : {
66197 : /* Get the interface object for this class. This will create the object as
66198 : needed. */
66199 :
66200 : /* Make sure our global is sane. Hopefully we can remove this sometime */
66201 0 : JSObject* global = JS::CurrentGlobalOrNull(aCx);
66202 0 : if (!(js::GetObjectClass(global)->flags & JSCLASS_DOM_GLOBAL)) {
66203 0 : return nullptr;
66204 : }
66205 :
66206 : /* Check to see whether the interface objects are already installed */
66207 0 : ProtoAndIfaceCache& protoAndIfaceCache = *GetProtoAndIfaceCache(global);
66208 0 : if (!protoAndIfaceCache.HasEntryInSlot(constructors::id::CSS2Properties)) {
66209 0 : JS::Rooted<JSObject*> rootedGlobal(aCx, global);
66210 0 : CreateInterfaceObjects(aCx, rootedGlobal, protoAndIfaceCache, aDefineOnGlobal);
66211 : }
66212 :
66213 : /*
66214 : * The object might _still_ be null, but that's OK.
66215 : *
66216 : * Calling fromMarkedLocation() is safe because protoAndIfaceCache is
66217 : * traced by TraceProtoAndIfaceCache() and its contents are never
66218 : * changed after they have been set.
66219 : *
66220 : * Calling address() avoids the read read barrier that does gray
66221 : * unmarking, but it's not possible for the object to be gray here.
66222 : */
66223 :
66224 0 : const JS::Heap<JSObject*>& entrySlot = protoAndIfaceCache.EntrySlotMustExist(constructors::id::CSS2Properties);
66225 0 : MOZ_ASSERT(JS::ObjectIsNotGray(entrySlot));
66226 0 : return JS::Handle<JSObject*>::fromMarkedLocation(entrySlot.address());
66227 : }
66228 :
66229 : JSObject*
66230 0 : GetConstructorObject(JSContext* aCx)
66231 : {
66232 0 : return GetConstructorObjectHandle(aCx);
66233 : }
66234 :
66235 : } // namespace CSS2PropertiesBinding
66236 :
66237 :
66238 :
66239 : } // namespace dom
66240 : } // namespace mozilla
|