mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 09:45:06 +02: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:
Notes:
sideshowbarker
2024-07-16 22:11:09 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/c0d7f748ed Pull-request: https://github.com/SerenityOS/serenity/pull/23606
@@ -61,7 +61,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<ResizeObserverEntry>> ResizeObserverEntry::
|
||||
void ResizeObserverEntry::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
set_prototype(&Bindings::ensure_web_prototype<Bindings::ResizeObserverEntryPrototype>(realm, "ResizeObserverEntry"_fly_string));
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(ResizeObserverEntry);
|
||||
}
|
||||
|
||||
void ResizeObserverEntry::visit_edges(JS::Cell::Visitor& visitor)
|
||||
|
||||
Reference in New Issue
Block a user