diff options
-rw-r--r-- | src/webengine/api/qquickwebengineview.cpp | 2 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 2 | ||||
-rw-r--r-- | tests/auto/quick/qmltests/data/tst_findText.qml | 6 |
3 files changed, 7 insertions, 3 deletions
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp index aae0efea8..ae75b7f34 100644 --- a/src/webengine/api/qquickwebengineview.cpp +++ b/src/webengine/api/qquickwebengineview.cpp @@ -356,6 +356,8 @@ void QQuickWebEngineViewPrivate::navigationRequested(int navigationType, const Q Q_EMIT q->navigationRequested(&navigationRequest); navigationRequestAction = navigationRequest.action(); + if ((navigationRequestAction == WebContentsAdapterClient::AcceptRequest) && adapter) + adapter->stopFinding(); } void QQuickWebEngineViewPrivate::javascriptDialog(QSharedPointer<JavaScriptDialogController> dialog) diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 6042b9fdc..51456128f 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -1431,6 +1431,8 @@ void QWebEnginePagePrivate::navigationRequested(int navigationType, const QUrl & { Q_Q(QWebEnginePage); bool accepted = q->acceptNavigationRequest(url, static_cast<QWebEnginePage::NavigationType>(navigationType), isMainFrame); + if (accepted && adapter) + adapter->stopFinding(); navigationRequestAction = accepted ? WebContentsAdapterClient::AcceptRequest : WebContentsAdapterClient::IgnoreRequest; } diff --git a/tests/auto/quick/qmltests/data/tst_findText.qml b/tests/auto/quick/qmltests/data/tst_findText.qml index 8526012c9..f8730ca7b 100644 --- a/tests/auto/quick/qmltests/data/tst_findText.qml +++ b/tests/auto/quick/qmltests/data/tst_findText.qml @@ -211,9 +211,9 @@ TestWebEngineView { if (!webEngineView.waitForLoadSucceeded(12000)) skip("Couldn't load page from network, skipping test."); - // Can't be sure whether the findText succeeded before the new load. - // Thus don't check the find result just whether the callback was called. - tryVerify(function() { return webEngineView.matchCount != -1; }); + // The callback is not supposed to be called, see QTBUG-61506. + // Check whether the callback was called (-1 = no, other values = yes). + tryVerify(function() { return webEngineView.matchCount == -1; }); } } } |