/work/obj-fuzz/dom/bindings/KeyEventBinding.cpp
Line | Count | Source (jump to first uncovered line) |
1 | | /* THIS FILE IS AUTOGENERATED FROM KeyEvent.webidl BY Codegen.py - DO NOT EDIT */ |
2 | | |
3 | | #include "KeyEventBinding.h" |
4 | | #include "KeyboardEventBinding.h" |
5 | | #include "WrapperFactory.h" |
6 | | #include "mozilla/OwningNonNull.h" |
7 | | #include "mozilla/dom/BindingUtils.h" |
8 | | #include "mozilla/dom/DOMJSClass.h" |
9 | | #include "mozilla/dom/NonRefcountedDOMObject.h" |
10 | | #include "mozilla/dom/Nullable.h" |
11 | | #include "mozilla/dom/PrimitiveConversions.h" |
12 | | #include "mozilla/dom/XrayExpandoClass.h" |
13 | | #include "nsGlobalWindow.h" |
14 | | |
15 | | namespace mozilla { |
16 | | namespace dom { |
17 | | |
18 | | namespace binding_detail {}; // Just to make sure it's known as a namespace |
19 | | using namespace mozilla::dom::binding_detail; |
20 | | |
21 | | |
22 | | namespace KeyEvent_Binding { |
23 | | |
24 | | // We deliberately use brace-elision to make Visual Studio produce better initalization code. |
25 | | #if defined(__clang__) |
26 | | #pragma clang diagnostic push |
27 | | #pragma clang diagnostic ignored "-Wmissing-braces" |
28 | | #endif |
29 | | static const ConstantSpec sConstants_specs[] = { |
30 | | { "DOM_VK_CANCEL", JS::NumberValue(3U) }, |
31 | | { "DOM_VK_HELP", JS::NumberValue(6U) }, |
32 | | { "DOM_VK_BACK_SPACE", JS::NumberValue(8U) }, |
33 | | { "DOM_VK_TAB", JS::NumberValue(9U) }, |
34 | | { "DOM_VK_CLEAR", JS::NumberValue(12U) }, |
35 | | { "DOM_VK_RETURN", JS::NumberValue(13U) }, |
36 | | { "DOM_VK_SHIFT", JS::NumberValue(16U) }, |
37 | | { "DOM_VK_CONTROL", JS::NumberValue(17U) }, |
38 | | { "DOM_VK_ALT", JS::NumberValue(18U) }, |
39 | | { "DOM_VK_PAUSE", JS::NumberValue(19U) }, |
40 | | { "DOM_VK_CAPS_LOCK", JS::NumberValue(20U) }, |
41 | | { "DOM_VK_KANA", JS::NumberValue(21U) }, |
42 | | { "DOM_VK_HANGUL", JS::NumberValue(21U) }, |
43 | | { "DOM_VK_EISU", JS::NumberValue(22U) }, |
44 | | { "DOM_VK_JUNJA", JS::NumberValue(23U) }, |
45 | | { "DOM_VK_FINAL", JS::NumberValue(24U) }, |
46 | | { "DOM_VK_HANJA", JS::NumberValue(25U) }, |
47 | | { "DOM_VK_KANJI", JS::NumberValue(25U) }, |
48 | | { "DOM_VK_ESCAPE", JS::NumberValue(27U) }, |
49 | | { "DOM_VK_CONVERT", JS::NumberValue(28U) }, |
50 | | { "DOM_VK_NONCONVERT", JS::NumberValue(29U) }, |
51 | | { "DOM_VK_ACCEPT", JS::NumberValue(30U) }, |
52 | | { "DOM_VK_MODECHANGE", JS::NumberValue(31U) }, |
53 | | { "DOM_VK_SPACE", JS::NumberValue(32U) }, |
54 | | { "DOM_VK_PAGE_UP", JS::NumberValue(33U) }, |
55 | | { "DOM_VK_PAGE_DOWN", JS::NumberValue(34U) }, |
56 | | { "DOM_VK_END", JS::NumberValue(35U) }, |
57 | | { "DOM_VK_HOME", JS::NumberValue(36U) }, |
58 | | { "DOM_VK_LEFT", JS::NumberValue(37U) }, |
59 | | { "DOM_VK_UP", JS::NumberValue(38U) }, |
60 | | { "DOM_VK_RIGHT", JS::NumberValue(39U) }, |
61 | | { "DOM_VK_DOWN", JS::NumberValue(40U) }, |
62 | | { "DOM_VK_SELECT", JS::NumberValue(41U) }, |
63 | | { "DOM_VK_PRINT", JS::NumberValue(42U) }, |
64 | | { "DOM_VK_EXECUTE", JS::NumberValue(43U) }, |
65 | | { "DOM_VK_PRINTSCREEN", JS::NumberValue(44U) }, |
66 | | { "DOM_VK_INSERT", JS::NumberValue(45U) }, |
67 | | { "DOM_VK_DELETE", JS::NumberValue(46U) }, |
68 | | { "DOM_VK_0", JS::NumberValue(48U) }, |
69 | | { "DOM_VK_1", JS::NumberValue(49U) }, |
70 | | { "DOM_VK_2", JS::NumberValue(50U) }, |
71 | | { "DOM_VK_3", JS::NumberValue(51U) }, |
72 | | { "DOM_VK_4", JS::NumberValue(52U) }, |
73 | | { "DOM_VK_5", JS::NumberValue(53U) }, |
74 | | { "DOM_VK_6", JS::NumberValue(54U) }, |
75 | | { "DOM_VK_7", JS::NumberValue(55U) }, |
76 | | { "DOM_VK_8", JS::NumberValue(56U) }, |
77 | | { "DOM_VK_9", JS::NumberValue(57U) }, |
78 | | { "DOM_VK_COLON", JS::NumberValue(58U) }, |
79 | | { "DOM_VK_SEMICOLON", JS::NumberValue(59U) }, |
80 | | { "DOM_VK_LESS_THAN", JS::NumberValue(60U) }, |
81 | | { "DOM_VK_EQUALS", JS::NumberValue(61U) }, |
82 | | { "DOM_VK_GREATER_THAN", JS::NumberValue(62U) }, |
83 | | { "DOM_VK_QUESTION_MARK", JS::NumberValue(63U) }, |
84 | | { "DOM_VK_AT", JS::NumberValue(64U) }, |
85 | | { "DOM_VK_A", JS::NumberValue(65U) }, |
86 | | { "DOM_VK_B", JS::NumberValue(66U) }, |
87 | | { "DOM_VK_C", JS::NumberValue(67U) }, |
88 | | { "DOM_VK_D", JS::NumberValue(68U) }, |
89 | | { "DOM_VK_E", JS::NumberValue(69U) }, |
90 | | { "DOM_VK_F", JS::NumberValue(70U) }, |
91 | | { "DOM_VK_G", JS::NumberValue(71U) }, |
92 | | { "DOM_VK_H", JS::NumberValue(72U) }, |
93 | | { "DOM_VK_I", JS::NumberValue(73U) }, |
94 | | { "DOM_VK_J", JS::NumberValue(74U) }, |
95 | | { "DOM_VK_K", JS::NumberValue(75U) }, |
96 | | { "DOM_VK_L", JS::NumberValue(76U) }, |
97 | | { "DOM_VK_M", JS::NumberValue(77U) }, |
98 | | { "DOM_VK_N", JS::NumberValue(78U) }, |
99 | | { "DOM_VK_O", JS::NumberValue(79U) }, |
100 | | { "DOM_VK_P", JS::NumberValue(80U) }, |
101 | | { "DOM_VK_Q", JS::NumberValue(81U) }, |
102 | | { "DOM_VK_R", JS::NumberValue(82U) }, |
103 | | { "DOM_VK_S", JS::NumberValue(83U) }, |
104 | | { "DOM_VK_T", JS::NumberValue(84U) }, |
105 | | { "DOM_VK_U", JS::NumberValue(85U) }, |
106 | | { "DOM_VK_V", JS::NumberValue(86U) }, |
107 | | { "DOM_VK_W", JS::NumberValue(87U) }, |
108 | | { "DOM_VK_X", JS::NumberValue(88U) }, |
109 | | { "DOM_VK_Y", JS::NumberValue(89U) }, |
110 | | { "DOM_VK_Z", JS::NumberValue(90U) }, |
111 | | { "DOM_VK_WIN", JS::NumberValue(91U) }, |
112 | | { "DOM_VK_CONTEXT_MENU", JS::NumberValue(93U) }, |
113 | | { "DOM_VK_SLEEP", JS::NumberValue(95U) }, |
114 | | { "DOM_VK_NUMPAD0", JS::NumberValue(96U) }, |
115 | | { "DOM_VK_NUMPAD1", JS::NumberValue(97U) }, |
116 | | { "DOM_VK_NUMPAD2", JS::NumberValue(98U) }, |
117 | | { "DOM_VK_NUMPAD3", JS::NumberValue(99U) }, |
118 | | { "DOM_VK_NUMPAD4", JS::NumberValue(100U) }, |
119 | | { "DOM_VK_NUMPAD5", JS::NumberValue(101U) }, |
120 | | { "DOM_VK_NUMPAD6", JS::NumberValue(102U) }, |
121 | | { "DOM_VK_NUMPAD7", JS::NumberValue(103U) }, |
122 | | { "DOM_VK_NUMPAD8", JS::NumberValue(104U) }, |
123 | | { "DOM_VK_NUMPAD9", JS::NumberValue(105U) }, |
124 | | { "DOM_VK_MULTIPLY", JS::NumberValue(106U) }, |
125 | | { "DOM_VK_ADD", JS::NumberValue(107U) }, |
126 | | { "DOM_VK_SEPARATOR", JS::NumberValue(108U) }, |
127 | | { "DOM_VK_SUBTRACT", JS::NumberValue(109U) }, |
128 | | { "DOM_VK_DECIMAL", JS::NumberValue(110U) }, |
129 | | { "DOM_VK_DIVIDE", JS::NumberValue(111U) }, |
130 | | { "DOM_VK_F1", JS::NumberValue(112U) }, |
131 | | { "DOM_VK_F2", JS::NumberValue(113U) }, |
132 | | { "DOM_VK_F3", JS::NumberValue(114U) }, |
133 | | { "DOM_VK_F4", JS::NumberValue(115U) }, |
134 | | { "DOM_VK_F5", JS::NumberValue(116U) }, |
135 | | { "DOM_VK_F6", JS::NumberValue(117U) }, |
136 | | { "DOM_VK_F7", JS::NumberValue(118U) }, |
137 | | { "DOM_VK_F8", JS::NumberValue(119U) }, |
138 | | { "DOM_VK_F9", JS::NumberValue(120U) }, |
139 | | { "DOM_VK_F10", JS::NumberValue(121U) }, |
140 | | { "DOM_VK_F11", JS::NumberValue(122U) }, |
141 | | { "DOM_VK_F12", JS::NumberValue(123U) }, |
142 | | { "DOM_VK_F13", JS::NumberValue(124U) }, |
143 | | { "DOM_VK_F14", JS::NumberValue(125U) }, |
144 | | { "DOM_VK_F15", JS::NumberValue(126U) }, |
145 | | { "DOM_VK_F16", JS::NumberValue(127U) }, |
146 | | { "DOM_VK_F17", JS::NumberValue(128U) }, |
147 | | { "DOM_VK_F18", JS::NumberValue(129U) }, |
148 | | { "DOM_VK_F19", JS::NumberValue(130U) }, |
149 | | { "DOM_VK_F20", JS::NumberValue(131U) }, |
150 | | { "DOM_VK_F21", JS::NumberValue(132U) }, |
151 | | { "DOM_VK_F22", JS::NumberValue(133U) }, |
152 | | { "DOM_VK_F23", JS::NumberValue(134U) }, |
153 | | { "DOM_VK_F24", JS::NumberValue(135U) }, |
154 | | { "DOM_VK_NUM_LOCK", JS::NumberValue(144U) }, |
155 | | { "DOM_VK_SCROLL_LOCK", JS::NumberValue(145U) }, |
156 | | { "DOM_VK_WIN_OEM_FJ_JISHO", JS::NumberValue(146U) }, |
157 | | { "DOM_VK_WIN_OEM_FJ_MASSHOU", JS::NumberValue(147U) }, |
158 | | { "DOM_VK_WIN_OEM_FJ_TOUROKU", JS::NumberValue(148U) }, |
159 | | { "DOM_VK_WIN_OEM_FJ_LOYA", JS::NumberValue(149U) }, |
160 | | { "DOM_VK_WIN_OEM_FJ_ROYA", JS::NumberValue(150U) }, |
161 | | { "DOM_VK_CIRCUMFLEX", JS::NumberValue(160U) }, |
162 | | { "DOM_VK_EXCLAMATION", JS::NumberValue(161U) }, |
163 | | { "DOM_VK_DOUBLE_QUOTE", JS::NumberValue(162U) }, |
164 | | { "DOM_VK_HASH", JS::NumberValue(163U) }, |
165 | | { "DOM_VK_DOLLAR", JS::NumberValue(164U) }, |
166 | | { "DOM_VK_PERCENT", JS::NumberValue(165U) }, |
167 | | { "DOM_VK_AMPERSAND", JS::NumberValue(166U) }, |
168 | | { "DOM_VK_UNDERSCORE", JS::NumberValue(167U) }, |
169 | | { "DOM_VK_OPEN_PAREN", JS::NumberValue(168U) }, |
170 | | { "DOM_VK_CLOSE_PAREN", JS::NumberValue(169U) }, |
171 | | { "DOM_VK_ASTERISK", JS::NumberValue(170U) }, |
172 | | { "DOM_VK_PLUS", JS::NumberValue(171U) }, |
173 | | { "DOM_VK_PIPE", JS::NumberValue(172U) }, |
174 | | { "DOM_VK_HYPHEN_MINUS", JS::NumberValue(173U) }, |
175 | | { "DOM_VK_OPEN_CURLY_BRACKET", JS::NumberValue(174U) }, |
176 | | { "DOM_VK_CLOSE_CURLY_BRACKET", JS::NumberValue(175U) }, |
177 | | { "DOM_VK_TILDE", JS::NumberValue(176U) }, |
178 | | { "DOM_VK_VOLUME_MUTE", JS::NumberValue(181U) }, |
179 | | { "DOM_VK_VOLUME_DOWN", JS::NumberValue(182U) }, |
180 | | { "DOM_VK_VOLUME_UP", JS::NumberValue(183U) }, |
181 | | { "DOM_VK_COMMA", JS::NumberValue(188U) }, |
182 | | { "DOM_VK_PERIOD", JS::NumberValue(190U) }, |
183 | | { "DOM_VK_SLASH", JS::NumberValue(191U) }, |
184 | | { "DOM_VK_BACK_QUOTE", JS::NumberValue(192U) }, |
185 | | { "DOM_VK_OPEN_BRACKET", JS::NumberValue(219U) }, |
186 | | { "DOM_VK_BACK_SLASH", JS::NumberValue(220U) }, |
187 | | { "DOM_VK_CLOSE_BRACKET", JS::NumberValue(221U) }, |
188 | | { "DOM_VK_QUOTE", JS::NumberValue(222U) }, |
189 | | { "DOM_VK_META", JS::NumberValue(224U) }, |
190 | | { "DOM_VK_ALTGR", JS::NumberValue(225U) }, |
191 | | { "DOM_VK_WIN_ICO_HELP", JS::NumberValue(227U) }, |
192 | | { "DOM_VK_WIN_ICO_00", JS::NumberValue(228U) }, |
193 | | { "DOM_VK_PROCESSKEY", JS::NumberValue(229U) }, |
194 | | { "DOM_VK_WIN_ICO_CLEAR", JS::NumberValue(230U) }, |
195 | | { "DOM_VK_WIN_OEM_RESET", JS::NumberValue(233U) }, |
196 | | { "DOM_VK_WIN_OEM_JUMP", JS::NumberValue(234U) }, |
197 | | { "DOM_VK_WIN_OEM_PA1", JS::NumberValue(235U) }, |
198 | | { "DOM_VK_WIN_OEM_PA2", JS::NumberValue(236U) }, |
199 | | { "DOM_VK_WIN_OEM_PA3", JS::NumberValue(237U) }, |
200 | | { "DOM_VK_WIN_OEM_WSCTRL", JS::NumberValue(238U) }, |
201 | | { "DOM_VK_WIN_OEM_CUSEL", JS::NumberValue(239U) }, |
202 | | { "DOM_VK_WIN_OEM_ATTN", JS::NumberValue(240U) }, |
203 | | { "DOM_VK_WIN_OEM_FINISH", JS::NumberValue(241U) }, |
204 | | { "DOM_VK_WIN_OEM_COPY", JS::NumberValue(242U) }, |
205 | | { "DOM_VK_WIN_OEM_AUTO", JS::NumberValue(243U) }, |
206 | | { "DOM_VK_WIN_OEM_ENLW", JS::NumberValue(244U) }, |
207 | | { "DOM_VK_WIN_OEM_BACKTAB", JS::NumberValue(245U) }, |
208 | | { "DOM_VK_ATTN", JS::NumberValue(246U) }, |
209 | | { "DOM_VK_CRSEL", JS::NumberValue(247U) }, |
210 | | { "DOM_VK_EXSEL", JS::NumberValue(248U) }, |
211 | | { "DOM_VK_EREOF", JS::NumberValue(249U) }, |
212 | | { "DOM_VK_PLAY", JS::NumberValue(250U) }, |
213 | | { "DOM_VK_ZOOM", JS::NumberValue(251U) }, |
214 | | { "DOM_VK_PA1", JS::NumberValue(253U) }, |
215 | | { "DOM_VK_WIN_OEM_CLEAR", JS::NumberValue(254U) }, |
216 | | { 0, JS::UndefinedValue() } |
217 | | }; |
218 | | #if defined(__clang__) |
219 | | #pragma clang diagnostic pop |
220 | | #endif |
221 | | |
222 | | |
223 | | static const Prefable<const ConstantSpec> sConstants[] = { |
224 | | { nullptr, &sConstants_specs[0] }, |
225 | | { nullptr, nullptr } |
226 | | }; |
227 | | |
228 | | static_assert(1 <= 1ull << NUM_BITS_PROPERTY_INFO_PREF_INDEX, |
229 | | "We have a prefable index that is >= (1 << NUM_BITS_PROPERTY_INFO_PREF_INDEX)"); |
230 | | static_assert(186 <= 1ull << NUM_BITS_PROPERTY_INFO_SPEC_INDEX, |
231 | | "We have a spec index that is >= (1 << NUM_BITS_PROPERTY_INFO_SPEC_INDEX)"); |
232 | | |
233 | | |
234 | | static uint16_t sNativeProperties_sortedPropertyIndices[186]; |
235 | | static PropertyInfo sNativeProperties_propertyInfos[186]; |
236 | | |
237 | | static const NativePropertiesN<1> sNativeProperties = { |
238 | | false, 0, |
239 | | false, 0, |
240 | | false, 0, |
241 | | false, 0, |
242 | | false, 0, |
243 | | false, 0, |
244 | | true, 0 /* sConstants */, |
245 | | -1, |
246 | | 186, |
247 | | sNativeProperties_sortedPropertyIndices, |
248 | | { |
249 | | { sConstants, &sNativeProperties_propertyInfos[0] } |
250 | | } |
251 | | }; |
252 | | static_assert(186 < 1ull << CHAR_BIT * sizeof(sNativeProperties.propertyInfoCount), |
253 | | "We have a property info count that is oversized"); |
254 | | |
255 | | static const DOMIfaceAndProtoJSClass sInterfaceObjectClass = { |
256 | | { |
257 | | "Function", |
258 | | JSCLASS_IS_DOMIFACEANDPROTOJSCLASS | JSCLASS_HAS_RESERVED_SLOTS(DOM_INTERFACE_SLOTS_BASE), |
259 | | &sBoringInterfaceObjectClassClassOps, |
260 | | JS_NULL_CLASS_SPEC, |
261 | | JS_NULL_CLASS_EXT, |
262 | | &sInterfaceObjectClassObjectOps |
263 | | }, |
264 | | eInterface, |
265 | | false, |
266 | | prototypes::id::_ID_Count, |
267 | | 0, |
268 | | sNativePropertyHooks, |
269 | | "function KeyEvent() {\n [native code]\n}", |
270 | | JS::GetRealmFunctionPrototype |
271 | | }; |
272 | | |
273 | | const NativePropertyHooks sNativePropertyHooks[] = { { |
274 | | nullptr, |
275 | | nullptr, |
276 | | nullptr, |
277 | | { sNativeProperties.Upcast(), nullptr }, |
278 | | prototypes::id::_ID_Count, |
279 | | constructors::id::KeyEvent, |
280 | | nullptr, |
281 | | &DefaultXrayExpandoObjectClass |
282 | | } }; |
283 | | |
284 | | void |
285 | | CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal) |
286 | 0 | { |
287 | 0 | JS::Rooted<JSObject*> constructorProto(aCx, JS::GetRealmFunctionPrototype(aCx)); |
288 | 0 | if (!constructorProto) { |
289 | 0 | return; |
290 | 0 | } |
291 | 0 | |
292 | 0 | static bool sIdsInited = false; |
293 | 0 | if (!sIdsInited && NS_IsMainThread()) { |
294 | 0 | if (!InitIds(aCx, sNativeProperties.Upcast())) { |
295 | 0 | return; |
296 | 0 | } |
297 | 0 | sIdsInited = true; |
298 | 0 | } |
299 | 0 |
|
300 | 0 | JS::Heap<JSObject*>* protoCache = nullptr; |
301 | 0 | JS::Heap<JSObject*>* interfaceCache = &aProtoAndIfaceCache.EntrySlotOrCreate(constructors::id::KeyEvent); |
302 | 0 | dom::CreateInterfaceObjects(aCx, aGlobal, nullptr, |
303 | 0 | nullptr, protoCache, |
304 | 0 | nullptr, |
305 | 0 | constructorProto, &sInterfaceObjectClass.mBase, 0, nullptr, |
306 | 0 | interfaceCache, |
307 | 0 | sNativeProperties.Upcast(), |
308 | 0 | nullptr, |
309 | 0 | "KeyEvent", aDefineOnGlobal, |
310 | 0 | nullptr, |
311 | 0 | false); |
312 | 0 | } |
313 | | |
314 | | JSObject* |
315 | | GetConstructorObject(JSContext* aCx) |
316 | 0 | { |
317 | 0 | return GetConstructorObjectHandle(aCx); |
318 | 0 | } |
319 | | |
320 | | } // namespace KeyEvent_Binding |
321 | | |
322 | | |
323 | | |
324 | | } // namespace dom |
325 | | } // namespace mozilla |