diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp index 9a00f75c94c..bc8f4f3971a 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp @@ -1914,8 +1914,11 @@ void HTMLMediaElement::reject_pending_play_promises(ReadonlySpan HTMLMediaElement::handle_keydown(Badge, UIEvents::KeyCode key) +WebIDL::ExceptionOr HTMLMediaElement::handle_keydown(Badge, UIEvents::KeyCode key, u32 modifiers) { + if (modifiers != UIEvents::KeyModifier::Mod_None) + return false; + switch (key) { case UIEvents::KeyCode::Key_Space: TRY(toggle_playback()); diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.h b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.h index b45a6eb43cd..932349ec99c 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.h @@ -109,7 +109,7 @@ public: JS::NonnullGCPtr add_text_track(Bindings::TextTrackKind kind, String const& label, String const& language); - WebIDL::ExceptionOr handle_keydown(Badge, UIEvents::KeyCode); + WebIDL::ExceptionOr handle_keydown(Badge, UIEvents::KeyCode, u32 modifiers); enum class MouseTrackingComponent { Timeline, diff --git a/Userland/Libraries/LibWeb/Page/EventHandler.cpp b/Userland/Libraries/LibWeb/Page/EventHandler.cpp index 33b6af3856c..2ba6c5cb6c3 100644 --- a/Userland/Libraries/LibWeb/Page/EventHandler.cpp +++ b/Userland/Libraries/LibWeb/Page/EventHandler.cpp @@ -890,7 +890,7 @@ bool EventHandler::handle_keydown(UIEvents::KeyCode key, u32 modifiers, u32 code if (auto* element = m_navigable->active_document()->focused_element(); is(element)) { auto& media_element = static_cast(*element); - if (media_element.handle_keydown({}, key).release_value_but_fixme_should_propagate_errors()) + if (media_element.handle_keydown({}, key, modifiers).release_value_but_fixme_should_propagate_errors()) return true; }