mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 05:57:44 +00:00
LibWeb: Dispatch keydown/keyup events on the appropriate target
This commit is contained in:
parent
43482dfde3
commit
c5b924b1e6
1 changed files with 12 additions and 4 deletions
|
@ -456,15 +456,23 @@ bool EventHandler::handle_keydown(KeyCode key, unsigned modifiers, u32 code_poin
|
|||
}
|
||||
|
||||
auto event = UIEvents::KeyboardEvent::create_from_platform_event(UIEvents::EventNames::keydown, key, modifiers, code_point);
|
||||
// FIXME: Figure out the right event target.
|
||||
return m_frame.active_document()->window().dispatch_event(move(event));
|
||||
if (m_frame.active_document()->focused_element())
|
||||
return m_frame.active_document()->focused_element()->dispatch_event(move(event));
|
||||
else if (m_frame.active_document()->body())
|
||||
return m_frame.active_document()->body()->dispatch_event(move(event));
|
||||
else
|
||||
return m_frame.active_document()->root().dispatch_event(move(event));
|
||||
}
|
||||
|
||||
bool EventHandler::handle_keyup(KeyCode key, unsigned modifiers, u32 code_point)
|
||||
{
|
||||
auto event = UIEvents::KeyboardEvent::create_from_platform_event(UIEvents::EventNames::keyup, key, modifiers, code_point);
|
||||
// FIXME: Figure out the right event target.
|
||||
return m_frame.active_document()->window().dispatch_event(move(event));
|
||||
if (m_frame.active_document()->focused_element())
|
||||
return m_frame.active_document()->focused_element()->dispatch_event(move(event));
|
||||
else if (m_frame.active_document()->body())
|
||||
return m_frame.active_document()->body()->dispatch_event(move(event));
|
||||
else
|
||||
return m_frame.active_document()->root().dispatch_event(move(event));
|
||||
}
|
||||
|
||||
void EventHandler::set_mouse_event_tracking_layout_node(Layout::Node* layout_node)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue