mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-31 05:09:12 +00:00
Everywhere: Hoist the Libraries folder to the top-level
This commit is contained in:
parent
950e819ee7
commit
93712b24bf
Notes:
github-actions[bot]
2024-11-10 11:51:52 +00:00
Author: https://github.com/trflynn89
Commit: 93712b24bf
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2256
Reviewed-by: https://github.com/sideshowbarker
4547 changed files with 104 additions and 113 deletions
88
Libraries/LibWeb/HTML/AttributeNames.cpp
Normal file
88
Libraries/LibWeb/HTML/AttributeNames.cpp
Normal file
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
* Copyright (c) 2020, Andreas Kling <andreas@ladybird.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <LibWeb/HTML/AttributeNames.h>
|
||||
|
||||
namespace Web::HTML {
|
||||
namespace AttributeNames {
|
||||
|
||||
#define __ENUMERATE_HTML_ATTRIBUTE(name) FlyString name;
|
||||
ENUMERATE_HTML_ATTRIBUTES
|
||||
#undef __ENUMERATE_HTML_ATTRIBUTE
|
||||
|
||||
void initialize_strings()
|
||||
{
|
||||
static bool s_initialized = false;
|
||||
VERIFY(!s_initialized);
|
||||
|
||||
#define __ENUMERATE_HTML_ATTRIBUTE(name) \
|
||||
name = #name##_fly_string;
|
||||
ENUMERATE_HTML_ATTRIBUTES
|
||||
#undef __ENUMERATE_HTML_ATTRIBUTE
|
||||
|
||||
// NOTE: Special cases for C++ keywords.
|
||||
class_ = "class"_fly_string;
|
||||
for_ = "for"_fly_string;
|
||||
default_ = "default"_fly_string;
|
||||
char_ = "char"_fly_string;
|
||||
|
||||
// NOTE: Special cases for attributes with dashes in them.
|
||||
accept_charset = "accept-charset"_fly_string;
|
||||
http_equiv = "http-equiv"_fly_string;
|
||||
|
||||
s_initialized = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/#boolean-attribute
|
||||
bool is_boolean_attribute(FlyString const& attribute)
|
||||
{
|
||||
// NOTE: For web compatibility, this matches the list of attributes which Chromium considers to be booleans,
|
||||
// excluding attributes that are only used by Chromium itself:
|
||||
// https://source.chromium.org/chromium/chromium/src/+/460b7c003cf89fc9493e721701906f19e5f6a387:chrome/test/chromedriver/element_commands.cc;l=48-94
|
||||
return attribute.equals_ignoring_ascii_case(AttributeNames::allowfullscreen)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::async)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::autofocus)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::autoplay)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::checked)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::compact)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::controls)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::declare)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::default_)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::defaultchecked)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::defaultselected)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::defer)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::disabled)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::ended)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::formnovalidate)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::hidden)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::indeterminate)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::iscontenteditable)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::ismap)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::itemscope)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::loop)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::multiple)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::muted)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::nohref)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::nomodule)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::noresize)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::noshade)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::novalidate)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::nowrap)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::open)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::paused)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::playsinline)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::readonly)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::required)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::reversed)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::seeking)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::selected)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::truespeed)
|
||||
|| attribute.equals_ignoring_ascii_case(AttributeNames::willvalidate);
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue