AttributeNames.cpp 886 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <LibWeb/HTML/AttributeNames.h>
  7. namespace Web {
  8. namespace HTML {
  9. namespace AttributeNames {
  10. #define __ENUMERATE_HTML_ATTRIBUTE(name) FlyString name;
  11. ENUMERATE_HTML_ATTRIBUTES
  12. #undef __ENUMERATE_HTML_ATTRIBUTE
  13. [[gnu::constructor]] static void initialize()
  14. {
  15. static bool s_initialized = false;
  16. if (s_initialized)
  17. return;
  18. #define __ENUMERATE_HTML_ATTRIBUTE(name) \
  19. name = #name;
  20. ENUMERATE_HTML_ATTRIBUTES
  21. #undef __ENUMERATE_HTML_ATTRIBUTE
  22. // NOTE: Special cases for C++ keywords.
  23. class_ = "class";
  24. for_ = "for";
  25. default_ = "default";
  26. char_ = "char";
  27. // NOTE: Special cases for attributes with dashes in them.
  28. accept_charset = "accept-charset";
  29. http_equiv = "http-equiv";
  30. s_initialized = true;
  31. }
  32. }
  33. }
  34. }