diff options
author | Viktor Engelmann <viktor.engelmann@qt.io> | 2016-08-09 11:51:19 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-01-11 10:33:07 +0000 |
commit | c4e1aa2c4fff93c71eed3f8115170f314d969234 (patch) | |
tree | 43a1937891dc034de05e35de0066a00af8449bc3 /src/webenginewidgets/api | |
parent | 4804e331304c5bcb79ebc785485793e5f1d8759e (diff) |
Add methods to issue various types of HTTP requests
Added class QWebEngineHttpRequest, which describes a
GET or POST HTTP Request. Also added overloads of method
"load" to QWebEngineView, QWebEnginePage and WebContentsAdapter,
which issue such a request.
These can be used for example to simulate form-submissions.
Task-number: QTBUG-53314
Task-number: QTBUG-53372
Change-Id: I85ac8cdd3d1557905b35e3172b922aba356d1c41
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/webenginewidgets/api')
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 12 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.h | 3 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineview.cpp | 11 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineview.h | 4 |
4 files changed, 28 insertions, 2 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index c22736cab..ae7b209e4 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -1703,6 +1703,18 @@ void QWebEnginePage::load(const QUrl& url) d->adapter->load(url); } +/*! + \since 5.9 + Issues the specified \a request and loads the response. + + \sa load(), setUrl(), url(), urlChanged(), QUrl::fromUserInput() +*/ +void QWebEnginePage::load(const QWebEngineHttpRequest& request) +{ + Q_D(QWebEnginePage); + d->adapter->load(request); +} + void QWebEnginePage::toHtml(const QWebEngineCallback<const QString &> &resultCallback) const { Q_D(const QWebEnginePage); diff --git a/src/webenginewidgets/api/qwebenginepage.h b/src/webenginewidgets/api/qwebenginepage.h index 2ff9ad928..75621304b 100644 --- a/src/webenginewidgets/api/qwebenginepage.h +++ b/src/webenginewidgets/api/qwebenginepage.h @@ -44,6 +44,7 @@ #include <QtWebEngineWidgets/qwebenginecertificateerror.h> #include <QtWebEngineWidgets/qwebenginedownloaditem.h> #include <QtWebEngineCore/qwebenginecallback.h> +#include <QtWebEngineCore/qwebenginehttprequest.h> #include <QtCore/qobject.h> #include <QtCore/qurl.h> @@ -224,8 +225,8 @@ public: void setFeaturePermission(const QUrl &securityOrigin, Feature feature, PermissionPolicy policy); - // Ex-QWebFrame methods void load(const QUrl &url); + void load(const QWebEngineHttpRequest &request); void setHtml(const QString &html, const QUrl &baseUrl = QUrl()); void setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl()); diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp index 8b4053e73..58d805fcb 100644 --- a/src/webenginewidgets/api/qwebengineview.cpp +++ b/src/webenginewidgets/api/qwebengineview.cpp @@ -175,6 +175,17 @@ void QWebEngineView::load(const QUrl& url) page()->load(url); } +/*! + \since 5.9 + Issues the specified \a request and loads the response. + + \sa load(), setUrl(), url(), urlChanged(), QUrl::fromUserInput() +*/ +void QWebEngineView::load(const QWebEngineHttpRequest &request) +{ + page()->load(request); +} + void QWebEngineView::setHtml(const QString& html, const QUrl& baseUrl) { page()->setHtml(html, baseUrl); diff --git a/src/webenginewidgets/api/qwebengineview.h b/src/webenginewidgets/api/qwebengineview.h index d82a25eac..ef3bf1f00 100644 --- a/src/webenginewidgets/api/qwebengineview.h +++ b/src/webenginewidgets/api/qwebengineview.h @@ -46,6 +46,7 @@ #include <QtWebEngineWidgets/qtwebenginewidgetsglobal.h> #include <QtWebEngineWidgets/qwebenginepage.h> +#include <QtWebEngineCore/qwebenginehttprequest.h> QT_BEGIN_NAMESPACE class QContextMenuEvent; @@ -71,7 +72,8 @@ public: QWebEnginePage* page() const; void setPage(QWebEnginePage* page); - void load(const QUrl& url); + void load(const QUrl &url); + void load(const QWebEngineHttpRequest &request); void setHtml(const QString& html, const QUrl& baseUrl = QUrl()); void setContent(const QByteArray& data, const QString& mimeType = QString(), const QUrl& baseUrl = QUrl()); |