diff options
author | Kirill Burtsev <kirill.burtsev@qt.io> | 2021-06-24 20:57:21 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-07-21 19:15:33 +0000 |
commit | 90888e4835f80f278c612a2e7d5797e915767f56 (patch) | |
tree | 78cdebb3a1619f3e130d4b401db6e86809da1311 /src/webenginequick | |
parent | b9d99df607648953e4d0a97a04eaabdbe0d10c3b (diff) |
WebEngineNavigationRequest: add accept/reject and deprecate setAction
Match naming with others and use accept/reject methods to handle request.
Also, allow to use request object after call scope in QML.
[ChangeLog][QWebEngineQuick][WebEngineNavigationRequest] setAction(action)
is deprecated in favor of new accept/reject methods
Change-Id: I83252370e2e83017008f6951f98b7ecad119e232
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit 13254e7950a032ebbeb11b1cf54b850c8326fb30)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/webenginequick')
-rw-r--r-- | src/webenginequick/api/qquickwebengineview.cpp | 11 | ||||
-rw-r--r-- | src/webenginequick/api/qquickwebengineview_p_p.h | 2 |
2 files changed, 7 insertions, 6 deletions
diff --git a/src/webenginequick/api/qquickwebengineview.cpp b/src/webenginequick/api/qquickwebengineview.cpp index 0f3adca92..97592806d 100644 --- a/src/webenginequick/api/qquickwebengineview.cpp +++ b/src/webenginequick/api/qquickwebengineview.cpp @@ -267,14 +267,15 @@ void QQuickWebEngineViewPrivate::contextMenuRequested(QWebEngineContextMenuReque ui()->showMenu(menu); } -void QQuickWebEngineViewPrivate::navigationRequested(int navigationType, const QUrl &url, int &navigationRequestAction, bool isMainFrame) +void QQuickWebEngineViewPrivate::navigationRequested(int navigationType, const QUrl &url, bool &accepted, bool isMainFrame) { Q_Q(QQuickWebEngineView); - QWebEngineNavigationRequest navigationRequest(url, static_cast<QWebEngineNavigationRequest::NavigationType>(navigationType), isMainFrame); - Q_EMIT q->navigationRequested(&navigationRequest); + auto request = new QWebEngineNavigationRequest(url, static_cast<QWebEngineNavigationRequest::NavigationType>(navigationType), isMainFrame); + qmlEngine(q)->newQObject(request); + Q_EMIT q->navigationRequested(request); - navigationRequestAction = navigationRequest.action(); - if ((navigationRequestAction == WebContentsAdapterClient::AcceptRequest) && adapter->findTextHelper()->isFindTextInProgress()) + accepted = request->isAccepted(); + if (accepted && adapter->findTextHelper()->isFindTextInProgress()) adapter->findTextHelper()->stopFinding(); } diff --git a/src/webenginequick/api/qquickwebengineview_p_p.h b/src/webenginequick/api/qquickwebengineview_p_p.h index da0d79d60..2e70e423d 100644 --- a/src/webenginequick/api/qquickwebengineview_p_p.h +++ b/src/webenginequick/api/qquickwebengineview_p_p.h @@ -122,7 +122,7 @@ public: void requestFullScreenMode(const QUrl &origin, bool fullscreen) override; bool isFullScreenMode() const override; void contextMenuRequested(QWebEngineContextMenuRequest *request) override; - void navigationRequested(int navigationType, const QUrl &url, int &navigationRequestAction, bool isMainFrame) override; + void navigationRequested(int navigationType, const QUrl &url, bool &accepted, bool isMainFrame) override; void javascriptDialog(QSharedPointer<QtWebEngineCore::JavaScriptDialogController>) override; void runFileChooser(QSharedPointer<QtWebEngineCore::FilePickerController>) override; void showColorDialog(QSharedPointer<QtWebEngineCore::ColorChooserController>) override; |