ladybird/Libraries/LibWeb/HTML/AttributeNames.h
Glenn Skrzypczak c0cbd439a2 LibWeb/HTML: Dispatch command events
Command events are now dispatched when buttons are activated. The
special commands for popovers and dialogs are also implemented.
2025-04-18 12:09:57 +01:00

322 lines
27 KiB
C++

/*
* Copyright (c) 2020-2021, Andreas Kling <andreas@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/FlyString.h>
namespace Web::HTML {
namespace AttributeNames {
#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(bordercolor, "bordercolor") \
__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(command, "command") \
__ENUMERATE_HTML_ATTRIBUTE(commandfor, "commandfor") \
__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(oncommand, "oncommand") \
__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, attribute) extern FlyString name;
ENUMERATE_HTML_ATTRIBUTES
#undef __ENUMERATE_HTML_ATTRIBUTE
}
bool is_boolean_attribute(FlyString const& attribute);
}