mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-30 12:49:19 +00:00
LibWeb: Don't handle media player key events if any modifier is pressed
This commit is contained in:
parent
63231fd276
commit
a56a2faf51
Notes:
github-actions[bot]
2024-09-04 14:00:43 +00:00
Author: https://github.com/tcl3
Commit: a56a2faf51
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1273
Reviewed-by: https://github.com/trflynn89 ✅
3 changed files with 6 additions and 3 deletions
|
@ -1914,8 +1914,11 @@ void HTMLMediaElement::reject_pending_play_promises(ReadonlySpan<JS::NonnullGCPt
|
||||||
WebIDL::reject_promise(realm, promise, error);
|
WebIDL::reject_promise(realm, promise, error);
|
||||||
}
|
}
|
||||||
|
|
||||||
WebIDL::ExceptionOr<bool> HTMLMediaElement::handle_keydown(Badge<Web::EventHandler>, UIEvents::KeyCode key)
|
WebIDL::ExceptionOr<bool> HTMLMediaElement::handle_keydown(Badge<Web::EventHandler>, UIEvents::KeyCode key, u32 modifiers)
|
||||||
{
|
{
|
||||||
|
if (modifiers != UIEvents::KeyModifier::Mod_None)
|
||||||
|
return false;
|
||||||
|
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case UIEvents::KeyCode::Key_Space:
|
case UIEvents::KeyCode::Key_Space:
|
||||||
TRY(toggle_playback());
|
TRY(toggle_playback());
|
||||||
|
|
|
@ -109,7 +109,7 @@ public:
|
||||||
|
|
||||||
JS::NonnullGCPtr<TextTrack> add_text_track(Bindings::TextTrackKind kind, String const& label, String const& language);
|
JS::NonnullGCPtr<TextTrack> add_text_track(Bindings::TextTrackKind kind, String const& label, String const& language);
|
||||||
|
|
||||||
WebIDL::ExceptionOr<bool> handle_keydown(Badge<Web::EventHandler>, UIEvents::KeyCode);
|
WebIDL::ExceptionOr<bool> handle_keydown(Badge<Web::EventHandler>, UIEvents::KeyCode, u32 modifiers);
|
||||||
|
|
||||||
enum class MouseTrackingComponent {
|
enum class MouseTrackingComponent {
|
||||||
Timeline,
|
Timeline,
|
||||||
|
|
|
@ -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<HTML::HTMLMediaElement>(element)) {
|
if (auto* element = m_navigable->active_document()->focused_element(); is<HTML::HTMLMediaElement>(element)) {
|
||||||
auto& media_element = static_cast<HTML::HTMLMediaElement&>(*element);
|
auto& media_element = static_cast<HTML::HTMLMediaElement&>(*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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue