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/core/api/qwebenginenavigationrequest.cpp | |
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/core/api/qwebenginenavigationrequest.cpp')
-rw-r--r-- | src/core/api/qwebenginenavigationrequest.cpp | 58 |
1 files changed, 36 insertions, 22 deletions
diff --git a/src/core/api/qwebenginenavigationrequest.cpp b/src/core/api/qwebenginenavigationrequest.cpp index dac68bd72..070770012 100644 --- a/src/core/api/qwebenginenavigationrequest.cpp +++ b/src/core/api/qwebenginenavigationrequest.cpp @@ -47,15 +47,14 @@ class QWebEngineNavigationRequestPrivate { public: QWebEngineNavigationRequestPrivate(const QUrl& url, QWebEngineNavigationRequest::NavigationType navigationType, bool mainFrame) : url(url) - , action(QWebEngineNavigationRequest::AcceptRequest) , navigationType(navigationType) , isMainFrame(mainFrame) {} QUrl url; - QWebEngineNavigationRequest::NavigationRequestAction action; QWebEngineNavigationRequest::NavigationType navigationType; bool isMainFrame; + bool isAccepted = true; }; /*! @@ -67,9 +66,7 @@ public: Contains information about a navigation request. - To accept or reject a request, set \l action to - \c QWebEngineNavigationRequest::AcceptRequest or - \c QWebEngineNavigationRequest::IgnoreRequest. + To accept or reject a request, call accept() or reject(). The default if not handled is to accept the navigation. @@ -85,9 +82,7 @@ public: \brief Represents a request for navigating to a web page as part of \l{WebEngineView::navigationRequested()}. - To accept or reject a request, set \l action to - \c WebEngineNavigationRequest.AcceptRequest or - \c WebEngineNavigationRequest.IgnoreRequest. + To accept or reject a request, call accept() or reject(). */ /*! \internal @@ -102,10 +97,7 @@ QWebEngineNavigationRequest::~QWebEngineNavigationRequest() { } -/*! - \property QWebEngineNavigationRequest::action - \brief Whether to accept or ignore the navigation request. -*/ +#if QT_DEPRECATED_SINCE(6, 2) /*! \qmlproperty enumeration WebEngineNavigationRequest::action @@ -116,17 +108,40 @@ QWebEngineNavigationRequest::~QWebEngineNavigationRequest() \value WebEngineNavigationRequest.IgnoreRequest Ignores a navigation request. */ +QWebEngineNavigationRequest::NavigationRequestAction QWebEngineNavigationRequest::action() const +{ + qWarning("Navigation request: action/setAction are deprecated. Please, use accept/reject methods instead."); + Q_D(const QWebEngineNavigationRequest); + return d->isAccepted ? AcceptRequest : IgnoreRequest; +} +/*! \internal */ void QWebEngineNavigationRequest::setAction(QWebEngineNavigationRequest::NavigationRequestAction action) { + qWarning("Navigation request: action/setAction are deprecated. Please, use accept/reject methods instead."); Q_D(QWebEngineNavigationRequest); - if (d->action == action) + bool acceptRequest = action == AcceptRequest; + if (d->isAccepted == acceptRequest) return; - d->action = action; + acceptRequest ? accept() : reject(); emit actionChanged(); } - +#endif +/*! + Accepts a navigation request. +*/ +void QWebEngineNavigationRequest::accept() +{ + d_ptr->isAccepted = true; +} +/*! + Rejects a navigation request. +*/ +void QWebEngineNavigationRequest::reject() +{ + d_ptr->isAccepted = false; +} /*! \property QWebEngineNavigationRequest::url \brief The URL of the web page to go to. @@ -143,13 +158,6 @@ QUrl QWebEngineNavigationRequest::url() const Q_D(const QWebEngineNavigationRequest); return d->url; } - -QWebEngineNavigationRequest::NavigationRequestAction QWebEngineNavigationRequest::action() const -{ - Q_D(const QWebEngineNavigationRequest); - return d->action; -} - /*! \property QWebEngineNavigationRequest::navigationType \brief The method used to navigate to a web page. @@ -199,4 +207,10 @@ bool QWebEngineNavigationRequest::isMainFrame() const return d->isMainFrame; } +/*! \internal */ +bool QWebEngineNavigationRequest::isAccepted() const +{ + return d_ptr->isAccepted; +} + QT_END_NAMESPACE |