summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp')
-rw-r--r--src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
index aa136b662..4fa0667b8 100644
--- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
+++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
@@ -76,11 +76,16 @@ protected:
}
void focusInEvent(QFocusEvent *event) override
{
+ Q_ASSERT(event->reason() != Qt::PopupFocusReason);
m_client->forwardEvent(event);
}
void focusOutEvent(QFocusEvent *event) override
{
- m_client->forwardEvent(event);
+ // The keyboard events are supposed to go to the parent RenderHostView and WebUI
+ // popups should never have focus, therefore ignore focusOutEvent as losing focus
+ // will trigger pop close request from blink
+ if (event->reason() != Qt::PopupFocusReason)
+ m_client->forwardEvent(event);
}
void inputMethodEvent(QInputMethodEvent *event) override
{