Line data Source code
1 : /* THIS FILE IS AUTOGENERATED FROM SpeechSynthesisErrorEvent.webidl BY Codegen.py - DO NOT EDIT */
2 :
3 : #ifndef mozilla_dom_SpeechSynthesisErrorEventBinding_h
4 : #define mozilla_dom_SpeechSynthesisErrorEventBinding_h
5 :
6 : #include "SpeechSynthesisEventBinding.h"
7 : #include "js/RootingAPI.h"
8 : #include "jspubtd.h"
9 : #include "mozilla/ErrorResult.h"
10 : #include "mozilla/dom/BindingDeclarations.h"
11 : #include "mozilla/dom/Nullable.h"
12 : #include "mozilla/dom/SpeechSynthesisUtterance.h"
13 :
14 : namespace mozilla {
15 : namespace dom {
16 :
17 : struct NativePropertyHooks;
18 : class ProtoAndIfaceCache;
19 : class SpeechSynthesisErrorEvent;
20 : struct SpeechSynthesisErrorEventAtoms;
21 : struct SpeechSynthesisErrorEventInitAtoms;
22 : class SpeechSynthesisUtterance;
23 :
24 : } // namespace dom
25 : } // namespace mozilla
26 :
27 : namespace mozilla {
28 : namespace dom {
29 :
30 : enum class SpeechSynthesisErrorCode : uint8_t {
31 : Canceled,
32 : Interrupted,
33 : Audio_busy,
34 : Audio_hardware,
35 : Network,
36 : Synthesis_unavailable,
37 : Synthesis_failed,
38 : Language_unavailable,
39 : Voice_unavailable,
40 : Text_too_long,
41 : Invalid_argument,
42 : EndGuard_
43 : };
44 :
45 : namespace SpeechSynthesisErrorCodeValues {
46 : extern const EnumEntry strings[12];
47 : } // namespace SpeechSynthesisErrorCodeValues
48 :
49 : bool
50 : ToJSValue(JSContext* aCx, SpeechSynthesisErrorCode aArgument, JS::MutableHandle<JS::Value> aValue);
51 :
52 :
53 0 : struct SpeechSynthesisErrorEventInit : public SpeechSynthesisEventInit
54 : {
55 : MOZ_INIT_OUTSIDE_CTOR SpeechSynthesisErrorCode mError;
56 :
57 : SpeechSynthesisErrorEventInit();
58 :
59 0 : explicit inline SpeechSynthesisErrorEventInit(const FastDictionaryInitializer& )
60 0 : : SpeechSynthesisEventInit(FastDictionaryInitializer())
61 : {
62 : // Do nothing here; this is used by our "Fast" subclass
63 0 : }
64 :
65 : explicit inline SpeechSynthesisErrorEventInit(const SpeechSynthesisErrorEventInit& aOther)
66 : {
67 : *this = aOther;
68 : }
69 :
70 : bool
71 : Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
72 :
73 : bool
74 : Init(const nsAString& aJSON);
75 :
76 : bool
77 : ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
78 :
79 : bool
80 : ToJSON(nsAString& aJSON) const;
81 :
82 : void
83 : TraceDictionary(JSTracer* trc);
84 :
85 : SpeechSynthesisErrorEventInit&
86 : operator=(const SpeechSynthesisErrorEventInit& aOther);
87 :
88 : private:
89 : static bool
90 : InitIds(JSContext* cx, SpeechSynthesisErrorEventInitAtoms* atomsCache);
91 : };
92 :
93 : namespace binding_detail {
94 0 : struct FastSpeechSynthesisErrorEventInit : public SpeechSynthesisErrorEventInit
95 : {
96 0 : inline FastSpeechSynthesisErrorEventInit()
97 0 : : SpeechSynthesisErrorEventInit(FastDictionaryInitializer())
98 : {
99 : // Doesn't matter what int we pass to the parent constructor
100 0 : }
101 : };
102 : } // namespace binding_detail
103 :
104 :
105 : namespace SpeechSynthesisErrorEventBinding {
106 :
107 : typedef mozilla::dom::SpeechSynthesisErrorEvent NativeType;
108 :
109 : bool
110 : ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
111 :
112 : JSObject*
113 : DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
114 :
115 : const JSClass*
116 : GetJSClass();
117 :
118 : bool
119 : Wrap(JSContext* aCx, mozilla::dom::SpeechSynthesisErrorEvent* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
120 :
121 : template <class T>
122 0 : inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
123 : {
124 0 : JS::Rooted<JSObject*> reflector(aCx);
125 0 : return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
126 : }
127 :
128 : // We declare this as an array so that retrieving a pointer to this
129 : // binding's property hooks only requires compile/link-time resolvable
130 : // address arithmetic. Declaring it as a pointer instead would require
131 : // doing a run-time load to fetch a pointer to this binding's property
132 : // hooks. And then structures which embedded a pointer to this structure
133 : // would require a run-time load for proper initialization, which would
134 : // then induce static constructors. Lots of static constructors.
135 : extern const NativePropertyHooks sNativePropertyHooks[];
136 :
137 : void
138 : CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
139 :
140 : JS::Handle<JSObject*>
141 : GetProtoObjectHandle(JSContext* aCx);
142 :
143 : JS::Handle<JSObject*>
144 : GetConstructorObjectHandle(JSContext* aCx, bool aDefineOnGlobal = true);
145 :
146 : JSObject*
147 : GetConstructorObject(JSContext* aCx);
148 :
149 : } // namespace SpeechSynthesisErrorEventBinding
150 :
151 :
152 :
153 : } // namespace dom
154 : } // namespace mozilla
155 :
156 : #endif // mozilla_dom_SpeechSynthesisErrorEventBinding_h
|