LibWeb: Remove the initialize_strings methods

We added these methods to propagate OOM errors at process startup, but
we longer fret about these tiny OOM failures. Requiring that these init
methods be called prohibits using these strings in processes that have
not set up a MainThreadVM. So let's just remove them and initialize the
strings in a sane manner.

In doing so, this also standardizes how we initialize strings whose C++
variable name differs from their string value. Instead of special-casing
these strings, we just include their string value in the x-macro list.
This commit is contained in:
Timothy Flynn 2025-01-11 14:07:41 -05:00 committed by Jelle Raaijmakers
commit a4324ee6e9
Notes: github-actions[bot] 2025-01-11 23:37:04 +00:00
38 changed files with 710 additions and 1038 deletions

View file

@ -6,314 +6,311 @@
#pragma once
#include <AK/Error.h>
#include <AK/FlyString.h>
namespace Web::HTML {
namespace AttributeNames {
#define ENUMERATE_HTML_ATTRIBUTES \
__ENUMERATE_HTML_ATTRIBUTE(abbr) \
__ENUMERATE_HTML_ATTRIBUTE(accept) \
__ENUMERATE_HTML_ATTRIBUTE(accept_charset) \
__ENUMERATE_HTML_ATTRIBUTE(accesskey) \
__ENUMERATE_HTML_ATTRIBUTE(action) \
__ENUMERATE_HTML_ATTRIBUTE(align) \
__ENUMERATE_HTML_ATTRIBUTE(alink) \
__ENUMERATE_HTML_ATTRIBUTE(allow) \
__ENUMERATE_HTML_ATTRIBUTE(allowfullscreen) \
__ENUMERATE_HTML_ATTRIBUTE(alt) \
__ENUMERATE_HTML_ATTRIBUTE(archive) \
__ENUMERATE_HTML_ATTRIBUTE(as) \
__ENUMERATE_HTML_ATTRIBUTE(async) \
__ENUMERATE_HTML_ATTRIBUTE(autocomplete) \
__ENUMERATE_HTML_ATTRIBUTE(autofocus) \
__ENUMERATE_HTML_ATTRIBUTE(autoplay) \
__ENUMERATE_HTML_ATTRIBUTE(axis) \
__ENUMERATE_HTML_ATTRIBUTE(background) \
__ENUMERATE_HTML_ATTRIBUTE(behavior) \
__ENUMERATE_HTML_ATTRIBUTE(bgcolor) \
__ENUMERATE_HTML_ATTRIBUTE(border) \
__ENUMERATE_HTML_ATTRIBUTE(bottommargin) \
__ENUMERATE_HTML_ATTRIBUTE(cellpadding) \
__ENUMERATE_HTML_ATTRIBUTE(cellspacing) \
__ENUMERATE_HTML_ATTRIBUTE(char_) \
__ENUMERATE_HTML_ATTRIBUTE(charoff) \
__ENUMERATE_HTML_ATTRIBUTE(charset) \
__ENUMERATE_HTML_ATTRIBUTE(checked) \
__ENUMERATE_HTML_ATTRIBUTE(cite) \
__ENUMERATE_HTML_ATTRIBUTE(class_) \
__ENUMERATE_HTML_ATTRIBUTE(classid) \
__ENUMERATE_HTML_ATTRIBUTE(clear) \
__ENUMERATE_HTML_ATTRIBUTE(code) \
__ENUMERATE_HTML_ATTRIBUTE(codebase) \
__ENUMERATE_HTML_ATTRIBUTE(codetype) \
__ENUMERATE_HTML_ATTRIBUTE(color) \
__ENUMERATE_HTML_ATTRIBUTE(cols) \
__ENUMERATE_HTML_ATTRIBUTE(colspan) \
__ENUMERATE_HTML_ATTRIBUTE(compact) \
__ENUMERATE_HTML_ATTRIBUTE(content) \
__ENUMERATE_HTML_ATTRIBUTE(contenteditable) \
__ENUMERATE_HTML_ATTRIBUTE(controls) \
__ENUMERATE_HTML_ATTRIBUTE(coords) \
__ENUMERATE_HTML_ATTRIBUTE(crossorigin) \
__ENUMERATE_HTML_ATTRIBUTE(data) \
__ENUMERATE_HTML_ATTRIBUTE(datetime) \
__ENUMERATE_HTML_ATTRIBUTE(declare) \
__ENUMERATE_HTML_ATTRIBUTE(decoding) \
__ENUMERATE_HTML_ATTRIBUTE(default_) \
__ENUMERATE_HTML_ATTRIBUTE(defaultchecked) \
__ENUMERATE_HTML_ATTRIBUTE(defaultselected) \
__ENUMERATE_HTML_ATTRIBUTE(defer) \
__ENUMERATE_HTML_ATTRIBUTE(dir) \
__ENUMERATE_HTML_ATTRIBUTE(direction) \
__ENUMERATE_HTML_ATTRIBUTE(dirname) \
__ENUMERATE_HTML_ATTRIBUTE(disabled) \
__ENUMERATE_HTML_ATTRIBUTE(download) \
__ENUMERATE_HTML_ATTRIBUTE(enctype) \
__ENUMERATE_HTML_ATTRIBUTE(ended) \
__ENUMERATE_HTML_ATTRIBUTE(enterkeyhint) \
__ENUMERATE_HTML_ATTRIBUTE(event) \
__ENUMERATE_HTML_ATTRIBUTE(face) \
__ENUMERATE_HTML_ATTRIBUTE(fetchpriority) \
__ENUMERATE_HTML_ATTRIBUTE(for_) \
__ENUMERATE_HTML_ATTRIBUTE(form) \
__ENUMERATE_HTML_ATTRIBUTE(formaction) \
__ENUMERATE_HTML_ATTRIBUTE(formenctype) \
__ENUMERATE_HTML_ATTRIBUTE(formmethod) \
__ENUMERATE_HTML_ATTRIBUTE(formnovalidate) \
__ENUMERATE_HTML_ATTRIBUTE(formtarget) \
__ENUMERATE_HTML_ATTRIBUTE(frame) \
__ENUMERATE_HTML_ATTRIBUTE(frameborder) \
__ENUMERATE_HTML_ATTRIBUTE(headers) \
__ENUMERATE_HTML_ATTRIBUTE(height) \
__ENUMERATE_HTML_ATTRIBUTE(hidden) \
__ENUMERATE_HTML_ATTRIBUTE(high) \
__ENUMERATE_HTML_ATTRIBUTE(href) \
__ENUMERATE_HTML_ATTRIBUTE(hreflang) \
__ENUMERATE_HTML_ATTRIBUTE(hspace) \
__ENUMERATE_HTML_ATTRIBUTE(http_equiv) \
__ENUMERATE_HTML_ATTRIBUTE(id) \
__ENUMERATE_HTML_ATTRIBUTE(imagesizes) \
__ENUMERATE_HTML_ATTRIBUTE(imagesrcset) \
__ENUMERATE_HTML_ATTRIBUTE(indeterminate) \
__ENUMERATE_HTML_ATTRIBUTE(inert) \
__ENUMERATE_HTML_ATTRIBUTE(inputmode) \
__ENUMERATE_HTML_ATTRIBUTE(integrity) \
__ENUMERATE_HTML_ATTRIBUTE(is) \
__ENUMERATE_HTML_ATTRIBUTE(iscontenteditable) \
__ENUMERATE_HTML_ATTRIBUTE(ismap) \
__ENUMERATE_HTML_ATTRIBUTE(itemscope) \
__ENUMERATE_HTML_ATTRIBUTE(kind) \
__ENUMERATE_HTML_ATTRIBUTE(label) \
__ENUMERATE_HTML_ATTRIBUTE(lang) \
__ENUMERATE_HTML_ATTRIBUTE(language) \
__ENUMERATE_HTML_ATTRIBUTE(leftmargin) \
__ENUMERATE_HTML_ATTRIBUTE(link) \
__ENUMERATE_HTML_ATTRIBUTE(list) \
__ENUMERATE_HTML_ATTRIBUTE(loading) \
__ENUMERATE_HTML_ATTRIBUTE(longdesc) \
__ENUMERATE_HTML_ATTRIBUTE(loop) \
__ENUMERATE_HTML_ATTRIBUTE(low) \
__ENUMERATE_HTML_ATTRIBUTE(lowsrc) \
__ENUMERATE_HTML_ATTRIBUTE(marginheight) \
__ENUMERATE_HTML_ATTRIBUTE(marginwidth) \
__ENUMERATE_HTML_ATTRIBUTE(max) \
__ENUMERATE_HTML_ATTRIBUTE(maxlength) \
__ENUMERATE_HTML_ATTRIBUTE(media) \
__ENUMERATE_HTML_ATTRIBUTE(method) \
__ENUMERATE_HTML_ATTRIBUTE(min) \
__ENUMERATE_HTML_ATTRIBUTE(minlength) \
__ENUMERATE_HTML_ATTRIBUTE(multiple) \
__ENUMERATE_HTML_ATTRIBUTE(muted) \
__ENUMERATE_HTML_ATTRIBUTE(name) \
__ENUMERATE_HTML_ATTRIBUTE(nohref) \
__ENUMERATE_HTML_ATTRIBUTE(nomodule) \
__ENUMERATE_HTML_ATTRIBUTE(nonce) \
__ENUMERATE_HTML_ATTRIBUTE(noresize) \
__ENUMERATE_HTML_ATTRIBUTE(noshade) \
__ENUMERATE_HTML_ATTRIBUTE(novalidate) \
__ENUMERATE_HTML_ATTRIBUTE(nowrap) \
__ENUMERATE_HTML_ATTRIBUTE(onabort) \
__ENUMERATE_HTML_ATTRIBUTE(onafterprint) \
__ENUMERATE_HTML_ATTRIBUTE(onauxclick) \
__ENUMERATE_HTML_ATTRIBUTE(onbeforeinput) \
__ENUMERATE_HTML_ATTRIBUTE(onbeforematch) \
__ENUMERATE_HTML_ATTRIBUTE(onbeforeprint) \
__ENUMERATE_HTML_ATTRIBUTE(onbeforetoggle) \
__ENUMERATE_HTML_ATTRIBUTE(onbeforeunload) \
__ENUMERATE_HTML_ATTRIBUTE(onblur) \
__ENUMERATE_HTML_ATTRIBUTE(oncancel) \
__ENUMERATE_HTML_ATTRIBUTE(oncanplay) \
__ENUMERATE_HTML_ATTRIBUTE(oncanplaythrough) \
__ENUMERATE_HTML_ATTRIBUTE(onchange) \
__ENUMERATE_HTML_ATTRIBUTE(onclick) \
__ENUMERATE_HTML_ATTRIBUTE(onclose) \
__ENUMERATE_HTML_ATTRIBUTE(oncontextlost) \
__ENUMERATE_HTML_ATTRIBUTE(oncontextmenu) \
__ENUMERATE_HTML_ATTRIBUTE(oncontextrestored) \
__ENUMERATE_HTML_ATTRIBUTE(oncopy) \
__ENUMERATE_HTML_ATTRIBUTE(oncuechange) \
__ENUMERATE_HTML_ATTRIBUTE(oncut) \
__ENUMERATE_HTML_ATTRIBUTE(ondblclick) \
__ENUMERATE_HTML_ATTRIBUTE(ondrag) \
__ENUMERATE_HTML_ATTRIBUTE(ondragend) \
__ENUMERATE_HTML_ATTRIBUTE(ondragenter) \
__ENUMERATE_HTML_ATTRIBUTE(ondragleave) \
__ENUMERATE_HTML_ATTRIBUTE(ondragover) \
__ENUMERATE_HTML_ATTRIBUTE(ondragstart) \
__ENUMERATE_HTML_ATTRIBUTE(ondrop) \
__ENUMERATE_HTML_ATTRIBUTE(ondurationchange) \
__ENUMERATE_HTML_ATTRIBUTE(onemptied) \
__ENUMERATE_HTML_ATTRIBUTE(onended) \
__ENUMERATE_HTML_ATTRIBUTE(onerror) \
__ENUMERATE_HTML_ATTRIBUTE(onfocus) \
__ENUMERATE_HTML_ATTRIBUTE(onfocusin) \
__ENUMERATE_HTML_ATTRIBUTE(onfocusout) \
__ENUMERATE_HTML_ATTRIBUTE(onformdata) \
__ENUMERATE_HTML_ATTRIBUTE(ongotpointercapture) \
__ENUMERATE_HTML_ATTRIBUTE(onhashchange) \
__ENUMERATE_HTML_ATTRIBUTE(oninput) \
__ENUMERATE_HTML_ATTRIBUTE(oninvalid) \
__ENUMERATE_HTML_ATTRIBUTE(onkeydown) \
__ENUMERATE_HTML_ATTRIBUTE(onkeypress) \
__ENUMERATE_HTML_ATTRIBUTE(onkeyup) \
__ENUMERATE_HTML_ATTRIBUTE(onlanguagechange) \
__ENUMERATE_HTML_ATTRIBUTE(onload) \
__ENUMERATE_HTML_ATTRIBUTE(onloadeddata) \
__ENUMERATE_HTML_ATTRIBUTE(onloadedmetadata) \
__ENUMERATE_HTML_ATTRIBUTE(onloadstart) \
__ENUMERATE_HTML_ATTRIBUTE(onlostpointercapture) \
__ENUMERATE_HTML_ATTRIBUTE(onmessage) \
__ENUMERATE_HTML_ATTRIBUTE(onmessageerror) \
__ENUMERATE_HTML_ATTRIBUTE(onmousedown) \
__ENUMERATE_HTML_ATTRIBUTE(onmouseenter) \
__ENUMERATE_HTML_ATTRIBUTE(onmouseleave) \
__ENUMERATE_HTML_ATTRIBUTE(onmousemove) \
__ENUMERATE_HTML_ATTRIBUTE(onmouseout) \
__ENUMERATE_HTML_ATTRIBUTE(onmouseover) \
__ENUMERATE_HTML_ATTRIBUTE(onmouseup) \
__ENUMERATE_HTML_ATTRIBUTE(onoffline) \
__ENUMERATE_HTML_ATTRIBUTE(ononline) \
__ENUMERATE_HTML_ATTRIBUTE(onpagehide) \
__ENUMERATE_HTML_ATTRIBUTE(onpagereveal) \
__ENUMERATE_HTML_ATTRIBUTE(onpageshow) \
__ENUMERATE_HTML_ATTRIBUTE(onpageswap) \
__ENUMERATE_HTML_ATTRIBUTE(onpaste) \
__ENUMERATE_HTML_ATTRIBUTE(onpause) \
__ENUMERATE_HTML_ATTRIBUTE(onplay) \
__ENUMERATE_HTML_ATTRIBUTE(onplaying) \
__ENUMERATE_HTML_ATTRIBUTE(onpointercancel) \
__ENUMERATE_HTML_ATTRIBUTE(onpointerdown) \
__ENUMERATE_HTML_ATTRIBUTE(onpointerenter) \
__ENUMERATE_HTML_ATTRIBUTE(onpointerleave) \
__ENUMERATE_HTML_ATTRIBUTE(onpointermove) \
__ENUMERATE_HTML_ATTRIBUTE(onpointerout) \
__ENUMERATE_HTML_ATTRIBUTE(onpointerover) \
__ENUMERATE_HTML_ATTRIBUTE(onpointerrawupdate) \
__ENUMERATE_HTML_ATTRIBUTE(onpointerup) \
__ENUMERATE_HTML_ATTRIBUTE(onpopstate) \
__ENUMERATE_HTML_ATTRIBUTE(onprogress) \
__ENUMERATE_HTML_ATTRIBUTE(onratechange) \
__ENUMERATE_HTML_ATTRIBUTE(onrejectionhandled) \
__ENUMERATE_HTML_ATTRIBUTE(onreset) \
__ENUMERATE_HTML_ATTRIBUTE(onresize) \
__ENUMERATE_HTML_ATTRIBUTE(onscroll) \
__ENUMERATE_HTML_ATTRIBUTE(onscrollend) \
__ENUMERATE_HTML_ATTRIBUTE(onsecuritypolicyviolation) \
__ENUMERATE_HTML_ATTRIBUTE(onseeked) \
__ENUMERATE_HTML_ATTRIBUTE(onseeking) \
__ENUMERATE_HTML_ATTRIBUTE(onselect) \
__ENUMERATE_HTML_ATTRIBUTE(onselectionchange) \
__ENUMERATE_HTML_ATTRIBUTE(onslotchange) \
__ENUMERATE_HTML_ATTRIBUTE(onstalled) \
__ENUMERATE_HTML_ATTRIBUTE(onstorage) \
__ENUMERATE_HTML_ATTRIBUTE(onsubmit) \
__ENUMERATE_HTML_ATTRIBUTE(onsuspend) \
__ENUMERATE_HTML_ATTRIBUTE(ontimeupdate) \
__ENUMERATE_HTML_ATTRIBUTE(ontoggle) \
__ENUMERATE_HTML_ATTRIBUTE(onunhandledrejection) \
__ENUMERATE_HTML_ATTRIBUTE(onunload) \
__ENUMERATE_HTML_ATTRIBUTE(onvolumechange) \
__ENUMERATE_HTML_ATTRIBUTE(onwaiting) \
__ENUMERATE_HTML_ATTRIBUTE(onwebkitanimationend) \
__ENUMERATE_HTML_ATTRIBUTE(onwebkitanimationiteration) \
__ENUMERATE_HTML_ATTRIBUTE(onwebkitanimationstart) \
__ENUMERATE_HTML_ATTRIBUTE(onwebkittransitionend) \
__ENUMERATE_HTML_ATTRIBUTE(onwheel) \
__ENUMERATE_HTML_ATTRIBUTE(open) \
__ENUMERATE_HTML_ATTRIBUTE(optimum) \
__ENUMERATE_HTML_ATTRIBUTE(pattern) \
__ENUMERATE_HTML_ATTRIBUTE(paused) \
__ENUMERATE_HTML_ATTRIBUTE(ping) \
__ENUMERATE_HTML_ATTRIBUTE(placeholder) \
__ENUMERATE_HTML_ATTRIBUTE(playsinline) \
__ENUMERATE_HTML_ATTRIBUTE(popover) \
__ENUMERATE_HTML_ATTRIBUTE(popovertarget) \
__ENUMERATE_HTML_ATTRIBUTE(popovertargetaction) \
__ENUMERATE_HTML_ATTRIBUTE(poster) \
__ENUMERATE_HTML_ATTRIBUTE(preload) \
__ENUMERATE_HTML_ATTRIBUTE(readonly) \
__ENUMERATE_HTML_ATTRIBUTE(referrerpolicy) \
__ENUMERATE_HTML_ATTRIBUTE(rel) \
__ENUMERATE_HTML_ATTRIBUTE(required) \
__ENUMERATE_HTML_ATTRIBUTE(rev) \
__ENUMERATE_HTML_ATTRIBUTE(reversed) \
__ENUMERATE_HTML_ATTRIBUTE(rightmargin) \
__ENUMERATE_HTML_ATTRIBUTE(rows) \
__ENUMERATE_HTML_ATTRIBUTE(rowspan) \
__ENUMERATE_HTML_ATTRIBUTE(rules) \
__ENUMERATE_HTML_ATTRIBUTE(sandbox) \
__ENUMERATE_HTML_ATTRIBUTE(scheme) \
__ENUMERATE_HTML_ATTRIBUTE(scope) \
__ENUMERATE_HTML_ATTRIBUTE(scrollamount) \
__ENUMERATE_HTML_ATTRIBUTE(scrolldelay) \
__ENUMERATE_HTML_ATTRIBUTE(scrolling) \
__ENUMERATE_HTML_ATTRIBUTE(seeking) \
__ENUMERATE_HTML_ATTRIBUTE(selected) \
__ENUMERATE_HTML_ATTRIBUTE(shadowrootclonable) \
__ENUMERATE_HTML_ATTRIBUTE(shadowrootdelegatesfocus) \
__ENUMERATE_HTML_ATTRIBUTE(shadowrootmode) \
__ENUMERATE_HTML_ATTRIBUTE(shadowrootserializable) \
__ENUMERATE_HTML_ATTRIBUTE(shape) \
__ENUMERATE_HTML_ATTRIBUTE(size) \
__ENUMERATE_HTML_ATTRIBUTE(sizes) \
__ENUMERATE_HTML_ATTRIBUTE(slot) \
__ENUMERATE_HTML_ATTRIBUTE(span) \
__ENUMERATE_HTML_ATTRIBUTE(src) \
__ENUMERATE_HTML_ATTRIBUTE(srcdoc) \
__ENUMERATE_HTML_ATTRIBUTE(srclang) \
__ENUMERATE_HTML_ATTRIBUTE(srcset) \
__ENUMERATE_HTML_ATTRIBUTE(standby) \
__ENUMERATE_HTML_ATTRIBUTE(start) \
__ENUMERATE_HTML_ATTRIBUTE(step) \
__ENUMERATE_HTML_ATTRIBUTE(style) \
__ENUMERATE_HTML_ATTRIBUTE(summary) \
__ENUMERATE_HTML_ATTRIBUTE(switch_) \
__ENUMERATE_HTML_ATTRIBUTE(tabindex) \
__ENUMERATE_HTML_ATTRIBUTE(target) \
__ENUMERATE_HTML_ATTRIBUTE(text) \
__ENUMERATE_HTML_ATTRIBUTE(title) \
__ENUMERATE_HTML_ATTRIBUTE(topmargin) \
__ENUMERATE_HTML_ATTRIBUTE(truespeed) \
__ENUMERATE_HTML_ATTRIBUTE(type) \
__ENUMERATE_HTML_ATTRIBUTE(usemap) \
__ENUMERATE_HTML_ATTRIBUTE(valign) \
__ENUMERATE_HTML_ATTRIBUTE(value) \
__ENUMERATE_HTML_ATTRIBUTE(valuetype) \
__ENUMERATE_HTML_ATTRIBUTE(version) \
__ENUMERATE_HTML_ATTRIBUTE(vlink) \
__ENUMERATE_HTML_ATTRIBUTE(vspace) \
__ENUMERATE_HTML_ATTRIBUTE(width) \
__ENUMERATE_HTML_ATTRIBUTE(willvalidate) \
__ENUMERATE_HTML_ATTRIBUTE(wrap)
#define ENUMERATE_HTML_ATTRIBUTES \
__ENUMERATE_HTML_ATTRIBUTE(abbr, "abbr") \
__ENUMERATE_HTML_ATTRIBUTE(accept, "accept") \
__ENUMERATE_HTML_ATTRIBUTE(accept_charset, "accept-charset") \
__ENUMERATE_HTML_ATTRIBUTE(accesskey, "accesskey") \
__ENUMERATE_HTML_ATTRIBUTE(action, "action") \
__ENUMERATE_HTML_ATTRIBUTE(align, "align") \
__ENUMERATE_HTML_ATTRIBUTE(alink, "alink") \
__ENUMERATE_HTML_ATTRIBUTE(allow, "allow") \
__ENUMERATE_HTML_ATTRIBUTE(allowfullscreen, "allowfullscreen") \
__ENUMERATE_HTML_ATTRIBUTE(alt, "alt") \
__ENUMERATE_HTML_ATTRIBUTE(archive, "archive") \
__ENUMERATE_HTML_ATTRIBUTE(as, "as") \
__ENUMERATE_HTML_ATTRIBUTE(async, "async") \
__ENUMERATE_HTML_ATTRIBUTE(autocomplete, "autocomplete") \
__ENUMERATE_HTML_ATTRIBUTE(autofocus, "autofocus") \
__ENUMERATE_HTML_ATTRIBUTE(autoplay, "autoplay") \
__ENUMERATE_HTML_ATTRIBUTE(axis, "axis") \
__ENUMERATE_HTML_ATTRIBUTE(background, "background") \
__ENUMERATE_HTML_ATTRIBUTE(behavior, "behavior") \
__ENUMERATE_HTML_ATTRIBUTE(bgcolor, "bgcolor") \
__ENUMERATE_HTML_ATTRIBUTE(border, "border") \
__ENUMERATE_HTML_ATTRIBUTE(bottommargin, "bottommargin") \
__ENUMERATE_HTML_ATTRIBUTE(cellpadding, "cellpadding") \
__ENUMERATE_HTML_ATTRIBUTE(cellspacing, "cellspacing") \
__ENUMERATE_HTML_ATTRIBUTE(char_, "char") \
__ENUMERATE_HTML_ATTRIBUTE(charoff, "charoff") \
__ENUMERATE_HTML_ATTRIBUTE(charset, "charset") \
__ENUMERATE_HTML_ATTRIBUTE(checked, "checked") \
__ENUMERATE_HTML_ATTRIBUTE(cite, "cite") \
__ENUMERATE_HTML_ATTRIBUTE(class_, "class") \
__ENUMERATE_HTML_ATTRIBUTE(classid, "classid") \
__ENUMERATE_HTML_ATTRIBUTE(clear, "clear") \
__ENUMERATE_HTML_ATTRIBUTE(code, "code") \
__ENUMERATE_HTML_ATTRIBUTE(codebase, "codebase") \
__ENUMERATE_HTML_ATTRIBUTE(codetype, "codetype") \
__ENUMERATE_HTML_ATTRIBUTE(color, "color") \
__ENUMERATE_HTML_ATTRIBUTE(cols, "cols") \
__ENUMERATE_HTML_ATTRIBUTE(colspan, "colspan") \
__ENUMERATE_HTML_ATTRIBUTE(compact, "compact") \
__ENUMERATE_HTML_ATTRIBUTE(content, "content") \
__ENUMERATE_HTML_ATTRIBUTE(contenteditable, "contenteditable") \
__ENUMERATE_HTML_ATTRIBUTE(controls, "controls") \
__ENUMERATE_HTML_ATTRIBUTE(coords, "coords") \
__ENUMERATE_HTML_ATTRIBUTE(crossorigin, "crossorigin") \
__ENUMERATE_HTML_ATTRIBUTE(data, "data") \
__ENUMERATE_HTML_ATTRIBUTE(datetime, "datetime") \
__ENUMERATE_HTML_ATTRIBUTE(declare, "declare") \
__ENUMERATE_HTML_ATTRIBUTE(decoding, "decoding") \
__ENUMERATE_HTML_ATTRIBUTE(default_, "default") \
__ENUMERATE_HTML_ATTRIBUTE(defaultchecked, "defaultchecked") \
__ENUMERATE_HTML_ATTRIBUTE(defaultselected, "defaultselected") \
__ENUMERATE_HTML_ATTRIBUTE(defer, "defer") \
__ENUMERATE_HTML_ATTRIBUTE(dir, "dir") \
__ENUMERATE_HTML_ATTRIBUTE(direction, "direction") \
__ENUMERATE_HTML_ATTRIBUTE(dirname, "dirname") \
__ENUMERATE_HTML_ATTRIBUTE(disabled, "disabled") \
__ENUMERATE_HTML_ATTRIBUTE(download, "download") \
__ENUMERATE_HTML_ATTRIBUTE(enctype, "enctype") \
__ENUMERATE_HTML_ATTRIBUTE(ended, "ended") \
__ENUMERATE_HTML_ATTRIBUTE(enterkeyhint, "enterkeyhint") \
__ENUMERATE_HTML_ATTRIBUTE(event, "event") \
__ENUMERATE_HTML_ATTRIBUTE(face, "face") \
__ENUMERATE_HTML_ATTRIBUTE(fetchpriority, "fetchpriority") \
__ENUMERATE_HTML_ATTRIBUTE(for_, "for") \
__ENUMERATE_HTML_ATTRIBUTE(form, "form") \
__ENUMERATE_HTML_ATTRIBUTE(formaction, "formaction") \
__ENUMERATE_HTML_ATTRIBUTE(formenctype, "formenctype") \
__ENUMERATE_HTML_ATTRIBUTE(formmethod, "formmethod") \
__ENUMERATE_HTML_ATTRIBUTE(formnovalidate, "formnovalidate") \
__ENUMERATE_HTML_ATTRIBUTE(formtarget, "formtarget") \
__ENUMERATE_HTML_ATTRIBUTE(frame, "frame") \
__ENUMERATE_HTML_ATTRIBUTE(frameborder, "frameborder") \
__ENUMERATE_HTML_ATTRIBUTE(headers, "headers") \
__ENUMERATE_HTML_ATTRIBUTE(height, "height") \
__ENUMERATE_HTML_ATTRIBUTE(hidden, "hidden") \
__ENUMERATE_HTML_ATTRIBUTE(high, "high") \
__ENUMERATE_HTML_ATTRIBUTE(href, "href") \
__ENUMERATE_HTML_ATTRIBUTE(hreflang, "hreflang") \
__ENUMERATE_HTML_ATTRIBUTE(hspace, "hspace") \
__ENUMERATE_HTML_ATTRIBUTE(http_equiv, "http-equiv") \
__ENUMERATE_HTML_ATTRIBUTE(id, "id") \
__ENUMERATE_HTML_ATTRIBUTE(imagesizes, "imagesizes") \
__ENUMERATE_HTML_ATTRIBUTE(imagesrcset, "imagesrcset") \
__ENUMERATE_HTML_ATTRIBUTE(indeterminate, "indeterminate") \
__ENUMERATE_HTML_ATTRIBUTE(inert, "inert") \
__ENUMERATE_HTML_ATTRIBUTE(inputmode, "inputmode") \
__ENUMERATE_HTML_ATTRIBUTE(integrity, "integrity") \
__ENUMERATE_HTML_ATTRIBUTE(is, "is") \
__ENUMERATE_HTML_ATTRIBUTE(iscontenteditable, "iscontenteditable") \
__ENUMERATE_HTML_ATTRIBUTE(ismap, "ismap") \
__ENUMERATE_HTML_ATTRIBUTE(itemscope, "itemscope") \
__ENUMERATE_HTML_ATTRIBUTE(kind, "kind") \
__ENUMERATE_HTML_ATTRIBUTE(label, "label") \
__ENUMERATE_HTML_ATTRIBUTE(lang, "lang") \
__ENUMERATE_HTML_ATTRIBUTE(language, "language") \
__ENUMERATE_HTML_ATTRIBUTE(leftmargin, "leftmargin") \
__ENUMERATE_HTML_ATTRIBUTE(link, "link") \
__ENUMERATE_HTML_ATTRIBUTE(list, "list") \
__ENUMERATE_HTML_ATTRIBUTE(loading, "loading") \
__ENUMERATE_HTML_ATTRIBUTE(longdesc, "longdesc") \
__ENUMERATE_HTML_ATTRIBUTE(loop, "loop") \
__ENUMERATE_HTML_ATTRIBUTE(low, "low") \
__ENUMERATE_HTML_ATTRIBUTE(lowsrc, "lowsrc") \
__ENUMERATE_HTML_ATTRIBUTE(marginheight, "marginheight") \
__ENUMERATE_HTML_ATTRIBUTE(marginwidth, "marginwidth") \
__ENUMERATE_HTML_ATTRIBUTE(max, "max") \
__ENUMERATE_HTML_ATTRIBUTE(maxlength, "maxlength") \
__ENUMERATE_HTML_ATTRIBUTE(media, "media") \
__ENUMERATE_HTML_ATTRIBUTE(method, "method") \
__ENUMERATE_HTML_ATTRIBUTE(min, "min") \
__ENUMERATE_HTML_ATTRIBUTE(minlength, "minlength") \
__ENUMERATE_HTML_ATTRIBUTE(multiple, "multiple") \
__ENUMERATE_HTML_ATTRIBUTE(muted, "muted") \
__ENUMERATE_HTML_ATTRIBUTE(name, "name") \
__ENUMERATE_HTML_ATTRIBUTE(nohref, "nohref") \
__ENUMERATE_HTML_ATTRIBUTE(nomodule, "nomodule") \
__ENUMERATE_HTML_ATTRIBUTE(nonce, "nonce") \
__ENUMERATE_HTML_ATTRIBUTE(noresize, "noresize") \
__ENUMERATE_HTML_ATTRIBUTE(noshade, "noshade") \
__ENUMERATE_HTML_ATTRIBUTE(novalidate, "novalidate") \
__ENUMERATE_HTML_ATTRIBUTE(nowrap, "nowrap") \
__ENUMERATE_HTML_ATTRIBUTE(onabort, "onabort") \
__ENUMERATE_HTML_ATTRIBUTE(onafterprint, "onafterprint") \
__ENUMERATE_HTML_ATTRIBUTE(onauxclick, "onauxclick") \
__ENUMERATE_HTML_ATTRIBUTE(onbeforeinput, "onbeforeinput") \
__ENUMERATE_HTML_ATTRIBUTE(onbeforematch, "onbeforematch") \
__ENUMERATE_HTML_ATTRIBUTE(onbeforeprint, "onbeforeprint") \
__ENUMERATE_HTML_ATTRIBUTE(onbeforetoggle, "onbeforetoggle") \
__ENUMERATE_HTML_ATTRIBUTE(onbeforeunload, "onbeforeunload") \
__ENUMERATE_HTML_ATTRIBUTE(onblur, "onblur") \
__ENUMERATE_HTML_ATTRIBUTE(oncancel, "oncancel") \
__ENUMERATE_HTML_ATTRIBUTE(oncanplay, "oncanplay") \
__ENUMERATE_HTML_ATTRIBUTE(oncanplaythrough, "oncanplaythrough") \
__ENUMERATE_HTML_ATTRIBUTE(onchange, "onchange") \
__ENUMERATE_HTML_ATTRIBUTE(onclick, "onclick") \
__ENUMERATE_HTML_ATTRIBUTE(onclose, "onclose") \
__ENUMERATE_HTML_ATTRIBUTE(oncontextlost, "oncontextlost") \
__ENUMERATE_HTML_ATTRIBUTE(oncontextmenu, "oncontextmenu") \
__ENUMERATE_HTML_ATTRIBUTE(oncontextrestored, "oncontextrestored") \
__ENUMERATE_HTML_ATTRIBUTE(oncopy, "oncopy") \
__ENUMERATE_HTML_ATTRIBUTE(oncuechange, "oncuechange") \
__ENUMERATE_HTML_ATTRIBUTE(oncut, "oncut") \
__ENUMERATE_HTML_ATTRIBUTE(ondblclick, "ondblclick") \
__ENUMERATE_HTML_ATTRIBUTE(ondrag, "ondrag") \
__ENUMERATE_HTML_ATTRIBUTE(ondragend, "ondragend") \
__ENUMERATE_HTML_ATTRIBUTE(ondragenter, "ondragenter") \
__ENUMERATE_HTML_ATTRIBUTE(ondragleave, "ondragleave") \
__ENUMERATE_HTML_ATTRIBUTE(ondragover, "ondragover") \
__ENUMERATE_HTML_ATTRIBUTE(ondragstart, "ondragstart") \
__ENUMERATE_HTML_ATTRIBUTE(ondrop, "ondrop") \
__ENUMERATE_HTML_ATTRIBUTE(ondurationchange, "ondurationchange") \
__ENUMERATE_HTML_ATTRIBUTE(onemptied, "onemptied") \
__ENUMERATE_HTML_ATTRIBUTE(onended, "onended") \
__ENUMERATE_HTML_ATTRIBUTE(onerror, "onerror") \
__ENUMERATE_HTML_ATTRIBUTE(onfocus, "onfocus") \
__ENUMERATE_HTML_ATTRIBUTE(onfocusin, "onfocusin") \
__ENUMERATE_HTML_ATTRIBUTE(onfocusout, "onfocusout") \
__ENUMERATE_HTML_ATTRIBUTE(onformdata, "onformdata") \
__ENUMERATE_HTML_ATTRIBUTE(ongotpointercapture, "ongotpointercapture") \
__ENUMERATE_HTML_ATTRIBUTE(onhashchange, "onhashchange") \
__ENUMERATE_HTML_ATTRIBUTE(oninput, "oninput") \
__ENUMERATE_HTML_ATTRIBUTE(oninvalid, "oninvalid") \
__ENUMERATE_HTML_ATTRIBUTE(onkeydown, "onkeydown") \
__ENUMERATE_HTML_ATTRIBUTE(onkeypress, "onkeypress") \
__ENUMERATE_HTML_ATTRIBUTE(onkeyup, "onkeyup") \
__ENUMERATE_HTML_ATTRIBUTE(onlanguagechange, "onlanguagechange") \
__ENUMERATE_HTML_ATTRIBUTE(onload, "onload") \
__ENUMERATE_HTML_ATTRIBUTE(onloadeddata, "onloadeddata") \
__ENUMERATE_HTML_ATTRIBUTE(onloadedmetadata, "onloadedmetadata") \
__ENUMERATE_HTML_ATTRIBUTE(onloadstart, "onloadstart") \
__ENUMERATE_HTML_ATTRIBUTE(onlostpointercapture, "onlostpointercapture") \
__ENUMERATE_HTML_ATTRIBUTE(onmessage, "onmessage") \
__ENUMERATE_HTML_ATTRIBUTE(onmessageerror, "onmessageerror") \
__ENUMERATE_HTML_ATTRIBUTE(onmousedown, "onmousedown") \
__ENUMERATE_HTML_ATTRIBUTE(onmouseenter, "onmouseenter") \
__ENUMERATE_HTML_ATTRIBUTE(onmouseleave, "onmouseleave") \
__ENUMERATE_HTML_ATTRIBUTE(onmousemove, "onmousemove") \
__ENUMERATE_HTML_ATTRIBUTE(onmouseout, "onmouseout") \
__ENUMERATE_HTML_ATTRIBUTE(onmouseover, "onmouseover") \
__ENUMERATE_HTML_ATTRIBUTE(onmouseup, "onmouseup") \
__ENUMERATE_HTML_ATTRIBUTE(onoffline, "onoffline") \
__ENUMERATE_HTML_ATTRIBUTE(ononline, "ononline") \
__ENUMERATE_HTML_ATTRIBUTE(onpagehide, "onpagehide") \
__ENUMERATE_HTML_ATTRIBUTE(onpagereveal, "onpagereveal") \
__ENUMERATE_HTML_ATTRIBUTE(onpageshow, "onpageshow") \
__ENUMERATE_HTML_ATTRIBUTE(onpageswap, "onpageswap") \
__ENUMERATE_HTML_ATTRIBUTE(onpaste, "onpaste") \
__ENUMERATE_HTML_ATTRIBUTE(onpause, "onpause") \
__ENUMERATE_HTML_ATTRIBUTE(onplay, "onplay") \
__ENUMERATE_HTML_ATTRIBUTE(onplaying, "onplaying") \
__ENUMERATE_HTML_ATTRIBUTE(onpointercancel, "onpointercancel") \
__ENUMERATE_HTML_ATTRIBUTE(onpointerdown, "onpointerdown") \
__ENUMERATE_HTML_ATTRIBUTE(onpointerenter, "onpointerenter") \
__ENUMERATE_HTML_ATTRIBUTE(onpointerleave, "onpointerleave") \
__ENUMERATE_HTML_ATTRIBUTE(onpointermove, "onpointermove") \
__ENUMERATE_HTML_ATTRIBUTE(onpointerout, "onpointerout") \
__ENUMERATE_HTML_ATTRIBUTE(onpointerover, "onpointerover") \
__ENUMERATE_HTML_ATTRIBUTE(onpointerrawupdate, "onpointerrawupdate") \
__ENUMERATE_HTML_ATTRIBUTE(onpointerup, "onpointerup") \
__ENUMERATE_HTML_ATTRIBUTE(onpopstate, "onpopstate") \
__ENUMERATE_HTML_ATTRIBUTE(onprogress, "onprogress") \
__ENUMERATE_HTML_ATTRIBUTE(onratechange, "onratechange") \
__ENUMERATE_HTML_ATTRIBUTE(onrejectionhandled, "onrejectionhandled") \
__ENUMERATE_HTML_ATTRIBUTE(onreset, "onreset") \
__ENUMERATE_HTML_ATTRIBUTE(onresize, "onresize") \
__ENUMERATE_HTML_ATTRIBUTE(onscroll, "onscroll") \
__ENUMERATE_HTML_ATTRIBUTE(onscrollend, "onscrollend") \
__ENUMERATE_HTML_ATTRIBUTE(onsecuritypolicyviolation, "onsecuritypolicyviolation") \
__ENUMERATE_HTML_ATTRIBUTE(onseeked, "onseeked") \
__ENUMERATE_HTML_ATTRIBUTE(onseeking, "onseeking") \
__ENUMERATE_HTML_ATTRIBUTE(onselect, "onselect") \
__ENUMERATE_HTML_ATTRIBUTE(onselectionchange, "onselectionchange") \
__ENUMERATE_HTML_ATTRIBUTE(onslotchange, "onslotchange") \
__ENUMERATE_HTML_ATTRIBUTE(onstalled, "onstalled") \
__ENUMERATE_HTML_ATTRIBUTE(onstorage, "onstorage") \
__ENUMERATE_HTML_ATTRIBUTE(onsubmit, "onsubmit") \
__ENUMERATE_HTML_ATTRIBUTE(onsuspend, "onsuspend") \
__ENUMERATE_HTML_ATTRIBUTE(ontimeupdate, "ontimeupdate") \
__ENUMERATE_HTML_ATTRIBUTE(ontoggle, "ontoggle") \
__ENUMERATE_HTML_ATTRIBUTE(onunhandledrejection, "onunhandledrejection") \
__ENUMERATE_HTML_ATTRIBUTE(onunload, "onunload") \
__ENUMERATE_HTML_ATTRIBUTE(onvolumechange, "onvolumechange") \
__ENUMERATE_HTML_ATTRIBUTE(onwaiting, "onwaiting") \
__ENUMERATE_HTML_ATTRIBUTE(onwebkitanimationend, "onwebkitanimationend") \
__ENUMERATE_HTML_ATTRIBUTE(onwebkitanimationiteration, "onwebkitanimationiteration") \
__ENUMERATE_HTML_ATTRIBUTE(onwebkitanimationstart, "onwebkitanimationstart") \
__ENUMERATE_HTML_ATTRIBUTE(onwebkittransitionend, "onwebkittransitionend") \
__ENUMERATE_HTML_ATTRIBUTE(onwheel, "onwheel") \
__ENUMERATE_HTML_ATTRIBUTE(open, "open") \
__ENUMERATE_HTML_ATTRIBUTE(optimum, "optimum") \
__ENUMERATE_HTML_ATTRIBUTE(pattern, "pattern") \
__ENUMERATE_HTML_ATTRIBUTE(paused, "paused") \
__ENUMERATE_HTML_ATTRIBUTE(ping, "ping") \
__ENUMERATE_HTML_ATTRIBUTE(placeholder, "placeholder") \
__ENUMERATE_HTML_ATTRIBUTE(playsinline, "playsinline") \
__ENUMERATE_HTML_ATTRIBUTE(popover, "popover") \
__ENUMERATE_HTML_ATTRIBUTE(popovertarget, "popovertarget") \
__ENUMERATE_HTML_ATTRIBUTE(popovertargetaction, "popovertargetaction") \
__ENUMERATE_HTML_ATTRIBUTE(poster, "poster") \
__ENUMERATE_HTML_ATTRIBUTE(preload, "preload") \
__ENUMERATE_HTML_ATTRIBUTE(readonly, "readonly") \
__ENUMERATE_HTML_ATTRIBUTE(referrerpolicy, "referrerpolicy") \
__ENUMERATE_HTML_ATTRIBUTE(rel, "rel") \
__ENUMERATE_HTML_ATTRIBUTE(required, "required") \
__ENUMERATE_HTML_ATTRIBUTE(rev, "rev") \
__ENUMERATE_HTML_ATTRIBUTE(reversed, "reversed") \
__ENUMERATE_HTML_ATTRIBUTE(rightmargin, "rightmargin") \
__ENUMERATE_HTML_ATTRIBUTE(rows, "rows") \
__ENUMERATE_HTML_ATTRIBUTE(rowspan, "rowspan") \
__ENUMERATE_HTML_ATTRIBUTE(rules, "rules") \
__ENUMERATE_HTML_ATTRIBUTE(sandbox, "sandbox") \
__ENUMERATE_HTML_ATTRIBUTE(scheme, "scheme") \
__ENUMERATE_HTML_ATTRIBUTE(scope, "scope") \
__ENUMERATE_HTML_ATTRIBUTE(scrollamount, "scrollamount") \
__ENUMERATE_HTML_ATTRIBUTE(scrolldelay, "scrolldelay") \
__ENUMERATE_HTML_ATTRIBUTE(scrolling, "scrolling") \
__ENUMERATE_HTML_ATTRIBUTE(seeking, "seeking") \
__ENUMERATE_HTML_ATTRIBUTE(selected, "selected") \
__ENUMERATE_HTML_ATTRIBUTE(shadowrootclonable, "shadowrootclonable") \
__ENUMERATE_HTML_ATTRIBUTE(shadowrootdelegatesfocus, "shadowrootdelegatesfocus") \
__ENUMERATE_HTML_ATTRIBUTE(shadowrootmode, "shadowrootmode") \
__ENUMERATE_HTML_ATTRIBUTE(shadowrootserializable, "shadowrootserializable") \
__ENUMERATE_HTML_ATTRIBUTE(shape, "shape") \
__ENUMERATE_HTML_ATTRIBUTE(size, "size") \
__ENUMERATE_HTML_ATTRIBUTE(sizes, "sizes") \
__ENUMERATE_HTML_ATTRIBUTE(slot, "slot") \
__ENUMERATE_HTML_ATTRIBUTE(span, "span") \
__ENUMERATE_HTML_ATTRIBUTE(src, "src") \
__ENUMERATE_HTML_ATTRIBUTE(srcdoc, "srcdoc") \
__ENUMERATE_HTML_ATTRIBUTE(srclang, "srclang") \
__ENUMERATE_HTML_ATTRIBUTE(srcset, "srcset") \
__ENUMERATE_HTML_ATTRIBUTE(standby, "standby") \
__ENUMERATE_HTML_ATTRIBUTE(start, "start") \
__ENUMERATE_HTML_ATTRIBUTE(step, "step") \
__ENUMERATE_HTML_ATTRIBUTE(style, "style") \
__ENUMERATE_HTML_ATTRIBUTE(summary, "summary") \
__ENUMERATE_HTML_ATTRIBUTE(switch_, "switch") \
__ENUMERATE_HTML_ATTRIBUTE(tabindex, "tabindex") \
__ENUMERATE_HTML_ATTRIBUTE(target, "target") \
__ENUMERATE_HTML_ATTRIBUTE(text, "text") \
__ENUMERATE_HTML_ATTRIBUTE(title, "title") \
__ENUMERATE_HTML_ATTRIBUTE(topmargin, "topmargin") \
__ENUMERATE_HTML_ATTRIBUTE(truespeed, "truespeed") \
__ENUMERATE_HTML_ATTRIBUTE(type, "type") \
__ENUMERATE_HTML_ATTRIBUTE(usemap, "usemap") \
__ENUMERATE_HTML_ATTRIBUTE(valign, "valign") \
__ENUMERATE_HTML_ATTRIBUTE(value, "value") \
__ENUMERATE_HTML_ATTRIBUTE(valuetype, "valuetype") \
__ENUMERATE_HTML_ATTRIBUTE(version, "version") \
__ENUMERATE_HTML_ATTRIBUTE(vlink, "vlink") \
__ENUMERATE_HTML_ATTRIBUTE(vspace, "vspace") \
__ENUMERATE_HTML_ATTRIBUTE(width, "width") \
__ENUMERATE_HTML_ATTRIBUTE(willvalidate, "willvalidate") \
__ENUMERATE_HTML_ATTRIBUTE(wrap, "wrap")
#define __ENUMERATE_HTML_ATTRIBUTE(name) extern FlyString name;
#define __ENUMERATE_HTML_ATTRIBUTE(name, attribute) extern FlyString name;
ENUMERATE_HTML_ATTRIBUTES
#undef __ENUMERATE_HTML_ATTRIBUTE
void initialize_strings();
}
bool is_boolean_attribute(FlyString const& attribute);