summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/webengine/api/qquickwebengineview.cpp2
-rw-r--r--src/webenginewidgets/api/qwebenginepage.cpp2
-rw-r--r--tests/auto/quick/qmltests/data/tst_findText.qml6
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; });
}
}
}