diff options
Diffstat (limited to 'src/webenginewidgets/api')
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 22 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage_p.h | 1 |
2 files changed, 6 insertions, 17 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index e990170eb..29566f021 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -45,6 +45,7 @@ #include "certificate_error_controller.h" #include "color_chooser_controller.h" #include "favicon_manager.h" +#include "find_text_helper.h" #include "file_picker_controller.h" #include "javascript_dialog_controller.h" #if QT_CONFIG(webengine_printing_and_pdf) @@ -420,11 +421,6 @@ void QWebEnginePagePrivate::didFetchDocumentInnerText(quint64 requestId, const Q m_callbacks.invoke(requestId, result); } -void QWebEnginePagePrivate::didFindText(quint64 requestId, int matchCount) -{ - m_callbacks.invoke(requestId, matchCount > 0); -} - void QWebEnginePagePrivate::didPrintPage(quint64 requestId, QSharedPointer<QByteArray> result) { #if QT_CONFIG(webengine_printing_and_pdf) @@ -963,7 +959,6 @@ QWebEnginePage::~QWebEnginePage() if (d_ptr) { // d_ptr might be exceptionally null if profile adapter got deleted first setDevToolsPage(nullptr); - d_ptr->adapter->stopFinding(); QWebEnginePagePrivate::bindPageAndView(this, nullptr); QWebEnginePagePrivate::bindPageAndWidget(this, nullptr); } @@ -1592,16 +1587,11 @@ void QWebEnginePage::findText(const QString &subString, FindFlags options, const { Q_D(QWebEnginePage); if (!d->adapter->isInitialized()) { - d->m_callbacks.invokeEmpty(resultCallback); + QtWebEngineCore::CallbackDirectory().invokeEmpty(resultCallback); return; } - if (subString.isEmpty()) { - d->adapter->stopFinding(); - d->m_callbacks.invokeEmpty(resultCallback); - } else { - quint64 requestId = d->adapter->findText(subString, options & FindCaseSensitively, options & FindBackward); - d->m_callbacks.registerCallback(requestId, resultCallback); - } + + d->adapter->findTextHelper()->startFinding(subString, options & FindCaseSensitively, options & FindBackward, resultCallback); } /*! @@ -1652,8 +1642,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->isFindTextInProgress()) - adapter->stopFinding(); + if (accepted && adapter->findTextHelper()->isFindTextInProgress()) + adapter->findTextHelper()->stopFinding(); navigationRequestAction = accepted ? WebContentsAdapterClient::AcceptRequest : WebContentsAdapterClient::IgnoreRequest; } diff --git a/src/webenginewidgets/api/qwebenginepage_p.h b/src/webenginewidgets/api/qwebenginepage_p.h index acf95a265..a8cde8199 100644 --- a/src/webenginewidgets/api/qwebenginepage_p.h +++ b/src/webenginewidgets/api/qwebenginepage_p.h @@ -127,7 +127,6 @@ public: void didRunJavaScript(quint64 requestId, const QVariant& result) override; void didFetchDocumentMarkup(quint64 requestId, const QString& result) override; void didFetchDocumentInnerText(quint64 requestId, const QString& result) override; - void didFindText(quint64 requestId, int matchCount) override; void didPrintPage(quint64 requestId, QSharedPointer<QByteArray> result) override; void didPrintPageToPdf(const QString &filePath, bool success) override; bool passOnFocus(bool reverse) override; |