1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-11 18:20:43 +09:00

LibWeb: Avoid FlyString lookups when setting IDL interface prototypes

This commit introduces a WEB_SET_PROTOTYPE_FOR_INTERFACE macro that
caches the interface name in a local static FlyString. This means that
we only pay for FlyString-from-literal lookup once per browser lifetime
instead of every time the interface is instantiated.
This commit is contained in:
Andreas Kling 2024-03-16 13:13:08 +01:00
parent 98cf845d8a
commit c0d7f748ed
Notes: sideshowbarker 2024-07-16 22:11:09 +09:00
284 changed files with 291 additions and 283 deletions

View file

@ -30,7 +30,7 @@ CSSFontFaceRule::CSSFontFaceRule(JS::Realm& realm, FontFace&& font_face)
void CSSFontFaceRule::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CSSFontFaceRulePrototype>(realm, "CSSFontFaceRule"_fly_string));
WEB_SET_PROTOTYPE_FOR_INTERFACE(CSSFontFaceRule);
}
CSSStyleDeclaration* CSSFontFaceRule::style()