LibWeb: Make CSSRule::type() non-virtual

All its overrides return constants, and without virtual dispatch the
`qualified_layer_name` and `absolutized_selectors` functions can benefit
from slightly better optimizations.

`CSSRule`s aren't allocated that often, so the memory impact is minimal.
This commit is contained in:
Jonne Ransijn 2024-10-28 20:16:28 +01:00 committed by Andreas Kling
commit 5c1bbd3eff
Notes: github-actions[bot] 2024-10-28 21:56:20 +00:00
30 changed files with 23 additions and 42 deletions

View file

@ -17,7 +17,7 @@ namespace Web::CSS {
JS_DEFINE_ALLOCATOR(CSSNamespaceRule);
CSSNamespaceRule::CSSNamespaceRule(JS::Realm& realm, Optional<FlyString> prefix, FlyString namespace_uri)
: CSSRule(realm)
: CSSRule(realm, Type::Namespace)
, m_namespace_uri(move(namespace_uri))
, m_prefix(prefix.value_or(""_fly_string))
{