Line data Source code
1 : /* THIS FILE IS AUTOGENERATED FROM Animatable.webidl BY Codegen.py - DO NOT EDIT */
2 :
3 : #ifndef mozilla_dom_AnimatableBinding_h
4 : #define mozilla_dom_AnimatableBinding_h
5 :
6 : #include "AnimationEffectReadOnlyBinding.h"
7 : #include "BaseKeyframeTypesBinding.h"
8 : #include "KeyframeEffectBinding.h"
9 : #include "js/RootingAPI.h"
10 : #include "jspubtd.h"
11 : #include "mozilla/ErrorResult.h"
12 : #include "mozilla/dom/BindingDeclarations.h"
13 : #include "mozilla/dom/Nullable.h"
14 : #include "mozilla/dom/UnionTypes.h"
15 :
16 : namespace mozilla {
17 : namespace dom {
18 :
19 : struct AnimationFilterAtoms;
20 : struct KeyframeAnimationOptionsAtoms;
21 : struct NativePropertyHooks;
22 : class OwningUnrestrictedDoubleOrString;
23 : class ProtoAndIfaceCache;
24 : class UnrestrictedDoubleOrString;
25 :
26 : } // namespace dom
27 : } // namespace mozilla
28 :
29 : namespace mozilla {
30 : namespace dom {
31 :
32 : struct AnimationFilter : public DictionaryBase
33 : {
34 : MOZ_INIT_OUTSIDE_CTOR bool mSubtree;
35 :
36 : AnimationFilter();
37 :
38 0 : explicit inline AnimationFilter(const FastDictionaryInitializer& )
39 0 : {
40 : // Do nothing here; this is used by our "Fast" subclass
41 0 : }
42 :
43 : explicit inline AnimationFilter(const AnimationFilter& aOther)
44 : {
45 : *this = aOther;
46 : }
47 :
48 : bool
49 : Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
50 :
51 : bool
52 : Init(const nsAString& aJSON);
53 :
54 : bool
55 : ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
56 :
57 : bool
58 : ToJSON(nsAString& aJSON) const;
59 :
60 : void
61 : TraceDictionary(JSTracer* trc);
62 :
63 : AnimationFilter&
64 : operator=(const AnimationFilter& aOther);
65 :
66 : private:
67 : static bool
68 : InitIds(JSContext* cx, AnimationFilterAtoms* atomsCache);
69 : };
70 :
71 : namespace binding_detail {
72 : struct FastAnimationFilter : public AnimationFilter
73 : {
74 0 : inline FastAnimationFilter()
75 0 : : AnimationFilter(FastDictionaryInitializer())
76 : {
77 : // Doesn't matter what int we pass to the parent constructor
78 0 : }
79 : };
80 : } // namespace binding_detail
81 :
82 :
83 0 : struct KeyframeAnimationOptions : public KeyframeEffectOptions
84 : {
85 : MOZ_INIT_OUTSIDE_CTOR nsString mId;
86 :
87 : KeyframeAnimationOptions();
88 :
89 0 : explicit inline KeyframeAnimationOptions(const FastDictionaryInitializer& )
90 0 : : KeyframeEffectOptions(FastDictionaryInitializer())
91 : {
92 : // Do nothing here; this is used by our "Fast" subclass
93 0 : }
94 :
95 : explicit inline KeyframeAnimationOptions(const KeyframeAnimationOptions& aOther)
96 : {
97 : *this = aOther;
98 : }
99 :
100 : bool
101 : Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
102 :
103 : bool
104 : Init(const nsAString& aJSON);
105 :
106 : bool
107 : ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
108 :
109 : bool
110 : ToJSON(nsAString& aJSON) const;
111 :
112 : void
113 : TraceDictionary(JSTracer* trc);
114 :
115 : KeyframeAnimationOptions&
116 : operator=(const KeyframeAnimationOptions& aOther);
117 :
118 : private:
119 : static bool
120 : InitIds(JSContext* cx, KeyframeAnimationOptionsAtoms* atomsCache);
121 : };
122 :
123 : namespace binding_detail {
124 0 : struct FastKeyframeAnimationOptions : public KeyframeAnimationOptions
125 : {
126 0 : inline FastKeyframeAnimationOptions()
127 0 : : KeyframeAnimationOptions(FastDictionaryInitializer())
128 : {
129 : // Doesn't matter what int we pass to the parent constructor
130 0 : }
131 : };
132 : } // namespace binding_detail
133 :
134 :
135 : } // namespace dom
136 : } // namespace mozilla
137 :
138 : #endif // mozilla_dom_AnimatableBinding_h
|