Serenity Operating System
1/*
2 * Copyright (c) 2020-2021, Andreas Kling <kling@serenityos.org>
3 *
4 * SPDX-License-Identifier: BSD-2-Clause
5 */
6
7#pragma once
8
9#include <AK/DeprecatedFlyString.h>
10
11namespace Web {
12namespace HTML {
13namespace AttributeNames {
14
15#define ENUMERATE_HTML_ATTRIBUTES \
16 __ENUMERATE_HTML_ATTRIBUTE(abbr) \
17 __ENUMERATE_HTML_ATTRIBUTE(accept) \
18 __ENUMERATE_HTML_ATTRIBUTE(accept_charset) \
19 __ENUMERATE_HTML_ATTRIBUTE(action) \
20 __ENUMERATE_HTML_ATTRIBUTE(align) \
21 __ENUMERATE_HTML_ATTRIBUTE(alink) \
22 __ENUMERATE_HTML_ATTRIBUTE(allow) \
23 __ENUMERATE_HTML_ATTRIBUTE(allowfullscreen) \
24 __ENUMERATE_HTML_ATTRIBUTE(alt) \
25 __ENUMERATE_HTML_ATTRIBUTE(archive) \
26 __ENUMERATE_HTML_ATTRIBUTE(async) \
27 __ENUMERATE_HTML_ATTRIBUTE(autofocus) \
28 __ENUMERATE_HTML_ATTRIBUTE(autoplay) \
29 __ENUMERATE_HTML_ATTRIBUTE(axis) \
30 __ENUMERATE_HTML_ATTRIBUTE(background) \
31 __ENUMERATE_HTML_ATTRIBUTE(behavior) \
32 __ENUMERATE_HTML_ATTRIBUTE(bgcolor) \
33 __ENUMERATE_HTML_ATTRIBUTE(border) \
34 __ENUMERATE_HTML_ATTRIBUTE(cellpadding) \
35 __ENUMERATE_HTML_ATTRIBUTE(cellspacing) \
36 __ENUMERATE_HTML_ATTRIBUTE(char_) \
37 __ENUMERATE_HTML_ATTRIBUTE(charoff) \
38 __ENUMERATE_HTML_ATTRIBUTE(charset) \
39 __ENUMERATE_HTML_ATTRIBUTE(checked) \
40 __ENUMERATE_HTML_ATTRIBUTE(cite) \
41 __ENUMERATE_HTML_ATTRIBUTE(class_) \
42 __ENUMERATE_HTML_ATTRIBUTE(classid) \
43 __ENUMERATE_HTML_ATTRIBUTE(clear) \
44 __ENUMERATE_HTML_ATTRIBUTE(code) \
45 __ENUMERATE_HTML_ATTRIBUTE(codetype) \
46 __ENUMERATE_HTML_ATTRIBUTE(color) \
47 __ENUMERATE_HTML_ATTRIBUTE(cols) \
48 __ENUMERATE_HTML_ATTRIBUTE(colspan) \
49 __ENUMERATE_HTML_ATTRIBUTE(compact) \
50 __ENUMERATE_HTML_ATTRIBUTE(content) \
51 __ENUMERATE_HTML_ATTRIBUTE(contenteditable) \
52 __ENUMERATE_HTML_ATTRIBUTE(controls) \
53 __ENUMERATE_HTML_ATTRIBUTE(coords) \
54 __ENUMERATE_HTML_ATTRIBUTE(data) \
55 __ENUMERATE_HTML_ATTRIBUTE(datetime) \
56 __ENUMERATE_HTML_ATTRIBUTE(declare) \
57 __ENUMERATE_HTML_ATTRIBUTE(default_) \
58 __ENUMERATE_HTML_ATTRIBUTE(defer) \
59 __ENUMERATE_HTML_ATTRIBUTE(dir) \
60 __ENUMERATE_HTML_ATTRIBUTE(direction) \
61 __ENUMERATE_HTML_ATTRIBUTE(dirname) \
62 __ENUMERATE_HTML_ATTRIBUTE(disabled) \
63 __ENUMERATE_HTML_ATTRIBUTE(download) \
64 __ENUMERATE_HTML_ATTRIBUTE(event) \
65 __ENUMERATE_HTML_ATTRIBUTE(face) \
66 __ENUMERATE_HTML_ATTRIBUTE(for_) \
67 __ENUMERATE_HTML_ATTRIBUTE(form) \
68 __ENUMERATE_HTML_ATTRIBUTE(formnovalidate) \
69 __ENUMERATE_HTML_ATTRIBUTE(formtarget) \
70 __ENUMERATE_HTML_ATTRIBUTE(frame) \
71 __ENUMERATE_HTML_ATTRIBUTE(frameborder) \
72 __ENUMERATE_HTML_ATTRIBUTE(headers) \
73 __ENUMERATE_HTML_ATTRIBUTE(height) \
74 __ENUMERATE_HTML_ATTRIBUTE(hidden) \
75 __ENUMERATE_HTML_ATTRIBUTE(href) \
76 __ENUMERATE_HTML_ATTRIBUTE(hreflang) \
77 __ENUMERATE_HTML_ATTRIBUTE(hspace) \
78 __ENUMERATE_HTML_ATTRIBUTE(http_equiv) \
79 __ENUMERATE_HTML_ATTRIBUTE(id) \
80 __ENUMERATE_HTML_ATTRIBUTE(imagesizes) \
81 __ENUMERATE_HTML_ATTRIBUTE(imagesrcset) \
82 __ENUMERATE_HTML_ATTRIBUTE(inert) \
83 __ENUMERATE_HTML_ATTRIBUTE(integrity) \
84 __ENUMERATE_HTML_ATTRIBUTE(ismap) \
85 __ENUMERATE_HTML_ATTRIBUTE(itemscope) \
86 __ENUMERATE_HTML_ATTRIBUTE(label) \
87 __ENUMERATE_HTML_ATTRIBUTE(lang) \
88 __ENUMERATE_HTML_ATTRIBUTE(language) \
89 __ENUMERATE_HTML_ATTRIBUTE(link) \
90 __ENUMERATE_HTML_ATTRIBUTE(longdesc) \
91 __ENUMERATE_HTML_ATTRIBUTE(loop) \
92 __ENUMERATE_HTML_ATTRIBUTE(marginheight) \
93 __ENUMERATE_HTML_ATTRIBUTE(marginwidth) \
94 __ENUMERATE_HTML_ATTRIBUTE(max) \
95 __ENUMERATE_HTML_ATTRIBUTE(media) \
96 __ENUMERATE_HTML_ATTRIBUTE(method) \
97 __ENUMERATE_HTML_ATTRIBUTE(min) \
98 __ENUMERATE_HTML_ATTRIBUTE(multiple) \
99 __ENUMERATE_HTML_ATTRIBUTE(muted) \
100 __ENUMERATE_HTML_ATTRIBUTE(name) \
101 __ENUMERATE_HTML_ATTRIBUTE(nohref) \
102 __ENUMERATE_HTML_ATTRIBUTE(nomodule) \
103 __ENUMERATE_HTML_ATTRIBUTE(noshade) \
104 __ENUMERATE_HTML_ATTRIBUTE(novalidate) \
105 __ENUMERATE_HTML_ATTRIBUTE(nowrap) \
106 __ENUMERATE_HTML_ATTRIBUTE(onabort) \
107 __ENUMERATE_HTML_ATTRIBUTE(onafterprint) \
108 __ENUMERATE_HTML_ATTRIBUTE(onauxclick) \
109 __ENUMERATE_HTML_ATTRIBUTE(onbeforeprint) \
110 __ENUMERATE_HTML_ATTRIBUTE(onbeforeunload) \
111 __ENUMERATE_HTML_ATTRIBUTE(onblur) \
112 __ENUMERATE_HTML_ATTRIBUTE(oncancel) \
113 __ENUMERATE_HTML_ATTRIBUTE(oncanplay) \
114 __ENUMERATE_HTML_ATTRIBUTE(oncanplaythrough) \
115 __ENUMERATE_HTML_ATTRIBUTE(onchange) \
116 __ENUMERATE_HTML_ATTRIBUTE(onclick) \
117 __ENUMERATE_HTML_ATTRIBUTE(onclose) \
118 __ENUMERATE_HTML_ATTRIBUTE(oncontextmenu) \
119 __ENUMERATE_HTML_ATTRIBUTE(oncuechange) \
120 __ENUMERATE_HTML_ATTRIBUTE(ondblclick) \
121 __ENUMERATE_HTML_ATTRIBUTE(ondrag) \
122 __ENUMERATE_HTML_ATTRIBUTE(ondragend) \
123 __ENUMERATE_HTML_ATTRIBUTE(ondragenter) \
124 __ENUMERATE_HTML_ATTRIBUTE(ondragleave) \
125 __ENUMERATE_HTML_ATTRIBUTE(ondragover) \
126 __ENUMERATE_HTML_ATTRIBUTE(ondragstart) \
127 __ENUMERATE_HTML_ATTRIBUTE(ondrop) \
128 __ENUMERATE_HTML_ATTRIBUTE(ondurationchange) \
129 __ENUMERATE_HTML_ATTRIBUTE(onemptied) \
130 __ENUMERATE_HTML_ATTRIBUTE(onended) \
131 __ENUMERATE_HTML_ATTRIBUTE(onerror) \
132 __ENUMERATE_HTML_ATTRIBUTE(onfocus) \
133 __ENUMERATE_HTML_ATTRIBUTE(onformdata) \
134 __ENUMERATE_HTML_ATTRIBUTE(onhashchange) \
135 __ENUMERATE_HTML_ATTRIBUTE(oninput) \
136 __ENUMERATE_HTML_ATTRIBUTE(oninvalid) \
137 __ENUMERATE_HTML_ATTRIBUTE(onkeydown) \
138 __ENUMERATE_HTML_ATTRIBUTE(onkeypress) \
139 __ENUMERATE_HTML_ATTRIBUTE(onkeyup) \
140 __ENUMERATE_HTML_ATTRIBUTE(onlanguagechange) \
141 __ENUMERATE_HTML_ATTRIBUTE(onload) \
142 __ENUMERATE_HTML_ATTRIBUTE(onloadeddata) \
143 __ENUMERATE_HTML_ATTRIBUTE(onloadedmetadata) \
144 __ENUMERATE_HTML_ATTRIBUTE(onloadstart) \
145 __ENUMERATE_HTML_ATTRIBUTE(onmessage) \
146 __ENUMERATE_HTML_ATTRIBUTE(onmessageerror) \
147 __ENUMERATE_HTML_ATTRIBUTE(onmousedown) \
148 __ENUMERATE_HTML_ATTRIBUTE(onmouseenter) \
149 __ENUMERATE_HTML_ATTRIBUTE(onmouseleave) \
150 __ENUMERATE_HTML_ATTRIBUTE(onmousemove) \
151 __ENUMERATE_HTML_ATTRIBUTE(onmouseout) \
152 __ENUMERATE_HTML_ATTRIBUTE(onmouseover) \
153 __ENUMERATE_HTML_ATTRIBUTE(onmouseup) \
154 __ENUMERATE_HTML_ATTRIBUTE(onoffline) \
155 __ENUMERATE_HTML_ATTRIBUTE(ononline) \
156 __ENUMERATE_HTML_ATTRIBUTE(onpagehide) \
157 __ENUMERATE_HTML_ATTRIBUTE(onpageshow) \
158 __ENUMERATE_HTML_ATTRIBUTE(onpause) \
159 __ENUMERATE_HTML_ATTRIBUTE(onplay) \
160 __ENUMERATE_HTML_ATTRIBUTE(onplaying) \
161 __ENUMERATE_HTML_ATTRIBUTE(onpopstate) \
162 __ENUMERATE_HTML_ATTRIBUTE(onprogress) \
163 __ENUMERATE_HTML_ATTRIBUTE(onratechange) \
164 __ENUMERATE_HTML_ATTRIBUTE(onrejectionhandled) \
165 __ENUMERATE_HTML_ATTRIBUTE(onreset) \
166 __ENUMERATE_HTML_ATTRIBUTE(onresize) \
167 __ENUMERATE_HTML_ATTRIBUTE(onscroll) \
168 __ENUMERATE_HTML_ATTRIBUTE(onsecuritypolicyviolation) \
169 __ENUMERATE_HTML_ATTRIBUTE(onseeked) \
170 __ENUMERATE_HTML_ATTRIBUTE(onseeking) \
171 __ENUMERATE_HTML_ATTRIBUTE(onselect) \
172 __ENUMERATE_HTML_ATTRIBUTE(onslotchange) \
173 __ENUMERATE_HTML_ATTRIBUTE(onstalled) \
174 __ENUMERATE_HTML_ATTRIBUTE(onstorage) \
175 __ENUMERATE_HTML_ATTRIBUTE(onsubmit) \
176 __ENUMERATE_HTML_ATTRIBUTE(onsuspend) \
177 __ENUMERATE_HTML_ATTRIBUTE(ontimeupdate) \
178 __ENUMERATE_HTML_ATTRIBUTE(ontoggle) \
179 __ENUMERATE_HTML_ATTRIBUTE(onunhandledrejection) \
180 __ENUMERATE_HTML_ATTRIBUTE(onunload) \
181 __ENUMERATE_HTML_ATTRIBUTE(onvolumechange) \
182 __ENUMERATE_HTML_ATTRIBUTE(onwaiting) \
183 __ENUMERATE_HTML_ATTRIBUTE(onwebkitanimationend) \
184 __ENUMERATE_HTML_ATTRIBUTE(onwebkitanimationiteration) \
185 __ENUMERATE_HTML_ATTRIBUTE(onwebkitanimationstart) \
186 __ENUMERATE_HTML_ATTRIBUTE(onwebkittransitionend) \
187 __ENUMERATE_HTML_ATTRIBUTE(onwheel) \
188 __ENUMERATE_HTML_ATTRIBUTE(open) \
189 __ENUMERATE_HTML_ATTRIBUTE(pattern) \
190 __ENUMERATE_HTML_ATTRIBUTE(ping) \
191 __ENUMERATE_HTML_ATTRIBUTE(placeholder) \
192 __ENUMERATE_HTML_ATTRIBUTE(playsinline) \
193 __ENUMERATE_HTML_ATTRIBUTE(poster) \
194 __ENUMERATE_HTML_ATTRIBUTE(preload) \
195 __ENUMERATE_HTML_ATTRIBUTE(readonly) \
196 __ENUMERATE_HTML_ATTRIBUTE(rel) \
197 __ENUMERATE_HTML_ATTRIBUTE(required) \
198 __ENUMERATE_HTML_ATTRIBUTE(rev) \
199 __ENUMERATE_HTML_ATTRIBUTE(reversed) \
200 __ENUMERATE_HTML_ATTRIBUTE(rows) \
201 __ENUMERATE_HTML_ATTRIBUTE(rowspan) \
202 __ENUMERATE_HTML_ATTRIBUTE(rules) \
203 __ENUMERATE_HTML_ATTRIBUTE(scheme) \
204 __ENUMERATE_HTML_ATTRIBUTE(scrolling) \
205 __ENUMERATE_HTML_ATTRIBUTE(selected) \
206 __ENUMERATE_HTML_ATTRIBUTE(shape) \
207 __ENUMERATE_HTML_ATTRIBUTE(size) \
208 __ENUMERATE_HTML_ATTRIBUTE(sizes) \
209 __ENUMERATE_HTML_ATTRIBUTE(src) \
210 __ENUMERATE_HTML_ATTRIBUTE(srcdoc) \
211 __ENUMERATE_HTML_ATTRIBUTE(srclang) \
212 __ENUMERATE_HTML_ATTRIBUTE(srcset) \
213 __ENUMERATE_HTML_ATTRIBUTE(standby) \
214 __ENUMERATE_HTML_ATTRIBUTE(step) \
215 __ENUMERATE_HTML_ATTRIBUTE(style) \
216 __ENUMERATE_HTML_ATTRIBUTE(summary) \
217 __ENUMERATE_HTML_ATTRIBUTE(tabindex) \
218 __ENUMERATE_HTML_ATTRIBUTE(target) \
219 __ENUMERATE_HTML_ATTRIBUTE(text) \
220 __ENUMERATE_HTML_ATTRIBUTE(title) \
221 __ENUMERATE_HTML_ATTRIBUTE(type) \
222 __ENUMERATE_HTML_ATTRIBUTE(usemap) \
223 __ENUMERATE_HTML_ATTRIBUTE(valign) \
224 __ENUMERATE_HTML_ATTRIBUTE(value) \
225 __ENUMERATE_HTML_ATTRIBUTE(valuetype) \
226 __ENUMERATE_HTML_ATTRIBUTE(version) \
227 __ENUMERATE_HTML_ATTRIBUTE(vlink) \
228 __ENUMERATE_HTML_ATTRIBUTE(vspace) \
229 __ENUMERATE_HTML_ATTRIBUTE(width) \
230 __ENUMERATE_HTML_ATTRIBUTE(wrap)
231
232#define __ENUMERATE_HTML_ATTRIBUTE(name) extern DeprecatedFlyString name;
233ENUMERATE_HTML_ATTRIBUTES
234#undef __ENUMERATE_HTML_ATTRIBUTE
235
236}
237
238bool is_boolean_attribute(DeprecatedFlyString const& attribute);
239
240}
241}