From c4e1aa2c4fff93c71eed3f8115170f314d969234 Mon Sep 17 00:00:00 2001 From: Viktor Engelmann Date: Tue, 9 Aug 2016 11:51:19 +0200 Subject: 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 --- src/webenginewidgets/api/qwebenginepage.cpp | 12 ++++++++++++ src/webenginewidgets/api/qwebenginepage.h | 3 ++- src/webenginewidgets/api/qwebengineview.cpp | 11 +++++++++++ src/webenginewidgets/api/qwebengineview.h | 4 +++- 4 files changed, 28 insertions(+), 2 deletions(-) (limited to 'src/webenginewidgets/api') 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 &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 #include #include +#include #include #include @@ -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 #include +#include 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()); -- cgit v1.2.3