LibWeb: Make Window.screen a replaceable attribute

Required by Shadertoy.
This commit is contained in:
Luke Wilde 2023-02-28 20:15:18 +00:00 committed by Linus Groh
parent 4463de3d10
commit 7b635998a8
Notes: sideshowbarker 2024-07-17 07:43:44 +09:00
2 changed files with 8 additions and 1 deletions

View file

@ -1132,7 +1132,7 @@ void Window::initialize_web_interfaces(Badge<WindowEnvironmentSettingsObject>)
define_native_accessor(realm, "history", history_getter, {}, JS::Attribute::Enumerable);
define_native_accessor(realm, "performance", performance_getter, performance_setter, JS::Attribute::Enumerable | JS::Attribute::Configurable);
define_native_accessor(realm, "crypto", crypto_getter, {}, JS::Attribute::Enumerable);
define_native_accessor(realm, "screen", screen_getter, {}, JS::Attribute::Enumerable);
define_native_accessor(realm, "screen", screen_getter, screen_setter, JS::Attribute::Enumerable | JS::Attribute::Configurable);
define_native_accessor(realm, "innerWidth", inner_width_getter, {}, JS::Attribute::Enumerable);
define_native_accessor(realm, "innerHeight", inner_height_getter, {}, JS::Attribute::Enumerable);
define_native_accessor(realm, "devicePixelRatio", device_pixel_ratio_getter, {}, JS::Attribute::Enumerable | JS::Attribute::Configurable);
@ -1647,6 +1647,11 @@ JS_DEFINE_NATIVE_FUNCTION(Window::screen_getter)
return &impl->screen();
}
JS_DEFINE_NATIVE_FUNCTION(Window::screen_setter)
{
REPLACEABLE_PROPERTY_SETTER(Window, screen);
}
JS_DEFINE_NATIVE_FUNCTION(Window::event_getter)
{
auto* impl = TRY(impl_from(vm));

View file

@ -224,7 +224,9 @@ private:
JS_DECLARE_NATIVE_FUNCTION(performance_setter);
JS_DECLARE_NATIVE_FUNCTION(history_getter);
JS_DECLARE_NATIVE_FUNCTION(screen_getter);
JS_DECLARE_NATIVE_FUNCTION(screen_setter);
JS_DECLARE_NATIVE_FUNCTION(event_getter);
JS_DECLARE_NATIVE_FUNCTION(event_setter);