mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-30 13:19:47 +00: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:
@@ -806,7 +806,7 @@ WebIDL::ExceptionOr<void> Window::initialize_web_interfaces(Badge<WindowEnvironm
|
||||
auto& realm = this->realm();
|
||||
add_window_exposed_interfaces(*this);
|
||||
|
||||
Object::set_prototype(&Bindings::ensure_web_prototype<Bindings::WindowPrototype>(realm, "Window"_fly_string));
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(Window);
|
||||
|
||||
Bindings::WindowGlobalMixin::initialize(realm, *this);
|
||||
WindowOrWorkerGlobalScopeMixin::initialize(realm);
|
||||
|
||||
Reference in New Issue
Block a user