mirror of
https://github.com/RGBCube/serenity
synced 2025-05-19 17:05:06 +00:00
LibWeb: Implement WindowEventHandlers
This commit is contained in:
parent
ebf2184636
commit
3fe66bddf4
15 changed files with 186 additions and 9 deletions
|
@ -55,6 +55,14 @@ void HTMLBodyElement::parse_attribute(FlyString const& name, String const& value
|
|||
} else if (name.equals_ignoring_case("background")) {
|
||||
m_background_style_value = CSS::ImageStyleValue::create(document().parse_url(value));
|
||||
}
|
||||
|
||||
#undef __ENUMERATE
|
||||
#define __ENUMERATE(attribute_name, event_name) \
|
||||
if (name == HTML::AttributeNames::attribute_name) { \
|
||||
element_event_handler_attribute_changed(event_name, value); \
|
||||
}
|
||||
ENUMERATE_WINDOW_EVENT_HANDLERS(__ENUMERATE)
|
||||
#undef __ENUMERATE
|
||||
}
|
||||
|
||||
DOM::EventTarget& HTMLBodyElement::global_event_handlers_to_event_target(FlyString const& event_name)
|
||||
|
@ -67,4 +75,11 @@ DOM::EventTarget& HTMLBodyElement::global_event_handlers_to_event_target(FlyStri
|
|||
return *this;
|
||||
}
|
||||
|
||||
DOM::EventTarget& HTMLBodyElement::window_event_handlers_to_event_target()
|
||||
{
|
||||
// All WindowEventHandlers on HTMLFrameSetElement (e.g. document.body.onrejectionhandled) are mapped to window.on{event}.
|
||||
// NOTE: document.body can return either a HTMLBodyElement or HTMLFrameSetElement, so both these elements must support this mapping.
|
||||
return document().window();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue