summaryrefslogtreecommitdiffstats
path: root/src/webengine/api/qquickwebengineview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/webengine/api/qquickwebengineview.cpp')
-rw-r--r--src/webengine/api/qquickwebengineview.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
index 049e353b6..2f5d868ea 100644
--- a/src/webengine/api/qquickwebengineview.cpp
+++ b/src/webengine/api/qquickwebengineview.cpp
@@ -180,6 +180,18 @@ void QQuickWebEngineViewPrivate::runFileChooser(FileChooserMode mode, const QStr
ui()->showFilePicker(mode, defaultFileName, acceptedMimeTypes, adapter);
}
+void QQuickWebEngineViewPrivate::passOnFocus(bool reverse)
+{
+ Q_Q(QQuickWebEngineView);
+ // In one direction we would pass forward the focus to RenderWidgetHostViewQtDelegateQuick(Painted),
+ // which in return would forward the tab key event and therefore the focus back to the QQuickWebEngineView.
+ // This is why we skip RenderWidgetHostViewQtDelegateQuick in the focus chain.
+ QQuickItem* current = QQuickItemPrivate::nextPrevItemInTabFocusChain(q, !reverse);
+ if (!qobject_cast<RenderWidgetHostViewQtDelegateQuick*>(current) && !qobject_cast<RenderWidgetHostViewQtDelegateQuickPainted*>(current))
+ current = q;
+ focusNextPrev(current, !reverse);
+}
+
void QQuickWebEngineViewPrivate::titleChanged(const QString &title)
{
Q_Q(QQuickWebEngineView);