diff --git a/Ladybird/WebContentView.cpp b/Ladybird/WebContentView.cpp index 04f705c9bf..939bb3036b 100644 --- a/Ladybird/WebContentView.cpp +++ b/Ladybird/WebContentView.cpp @@ -58,6 +58,8 @@ WebContentView::WebContentView() { setMouseTracking(true); + setFocusPolicy(Qt::FocusPolicy::StrongFocus); + m_inverse_pixel_scaling_ratio = 1.0 / devicePixelRatio(); verticalScrollBar()->setSingleStep(24); @@ -354,6 +356,16 @@ void WebContentView::keyReleaseEvent(QKeyEvent* event) client().async_key_up(keycode, modifiers, point); } +void WebContentView::focusInEvent(QFocusEvent*) +{ + client().async_set_has_focus(true); +} + +void WebContentView::focusOutEvent(QFocusEvent*) +{ + client().async_set_has_focus(false); +} + Gfx::IntPoint WebContentView::to_content(Gfx::IntPoint viewport_position) const { return viewport_position.translated(horizontalScrollBar()->value(), verticalScrollBar()->value()); diff --git a/Ladybird/WebContentView.h b/Ladybird/WebContentView.h index 80f2976ad7..975ca0b68a 100644 --- a/Ladybird/WebContentView.h +++ b/Ladybird/WebContentView.h @@ -85,6 +85,8 @@ public: virtual void keyReleaseEvent(QKeyEvent* event) override; virtual void showEvent(QShowEvent*) override; virtual void hideEvent(QHideEvent*) override; + virtual void focusInEvent(QFocusEvent*) override; + virtual void focusOutEvent(QFocusEvent*) override; void debug_request(String const& request, String const& argument);