summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/webenginewidgets')
-rw-r--r--src/webenginewidgets/api/qwebengineurlrequestjob.cpp20
-rw-r--r--src/webenginewidgets/api/qwebengineurlrequestjob_p.h11
2 files changed, 29 insertions, 2 deletions
diff --git a/src/webenginewidgets/api/qwebengineurlrequestjob.cpp b/src/webenginewidgets/api/qwebengineurlrequestjob.cpp
index 323cdcc72..4a813236c 100644
--- a/src/webenginewidgets/api/qwebengineurlrequestjob.cpp
+++ b/src/webenginewidgets/api/qwebengineurlrequestjob.cpp
@@ -40,6 +40,8 @@
#include "url_request_custom_job_delegate.h"
+using QtWebEngineCore::URLRequestCustomJobDelegate;
+
QT_BEGIN_NAMESPACE
/*!
@@ -51,7 +53,7 @@ QT_BEGIN_NAMESPACE
A QWebEngineUrlRequestJob is given to QWebEngineUrlSchemeHandler::requestStarted() and must
be handled by the derived implementations of class.
- A job can be handled by calling setReply().
+ A job can be handled by calling either setReply(), redirect() or setError().
The class is owned by QtWebEngine and does not need to be deleted. Note QtWebEngine may delete
the job when it is no longer needed, so the signal QObject::destroyed() must be monitored if
@@ -63,7 +65,7 @@ QT_BEGIN_NAMESPACE
/*!
\internal
*/
-QWebEngineUrlRequestJob::QWebEngineUrlRequestJob(QtWebEngineCore::URLRequestCustomJobDelegate * p)
+QWebEngineUrlRequestJob::QWebEngineUrlRequestJob(URLRequestCustomJobDelegate * p)
: QObject(p) // owned by the jobdelegate and deleted when the job is done
, d_ptr(p)
{
@@ -92,6 +94,20 @@ void QWebEngineUrlRequestJob::setReply(const QByteArray &contentType, QIODevice
d_ptr->setReply(contentType, device);
}
+/*!
+ Fails the request with error \a error.
+ */
+void QWebEngineUrlRequestJob::setError(Error r)
+{
+ d_ptr->fail((URLRequestCustomJobDelegate::Error)r);
+}
+/*!
+ Tell the request is redirected to \a url.
+ */
+void QWebEngineUrlRequestJob::setRedirect(const QUrl &url)
+{
+ d_ptr->redirect(url);
+}
QT_END_NAMESPACE
diff --git a/src/webenginewidgets/api/qwebengineurlrequestjob_p.h b/src/webenginewidgets/api/qwebengineurlrequestjob_p.h
index 72c9dc836..e496e4051 100644
--- a/src/webenginewidgets/api/qwebengineurlrequestjob_p.h
+++ b/src/webenginewidgets/api/qwebengineurlrequestjob_p.h
@@ -56,8 +56,19 @@ class QWEBENGINEWIDGETS_EXPORT QWebEngineUrlRequestJob : public QObject {
public:
~QWebEngineUrlRequestJob();
+ enum Error {
+ NoError = 0,
+ UrlNotFound,
+ UrlInvalid,
+ RequestAborted,
+ RequestDenied,
+ RequestFailed
+ };
+
QUrl requestUrl() const;
void setReply(const QByteArray &contentType, QIODevice *device);
+ void setError(Error error);
+ void setRedirect(const QUrl &url);
private:
QWebEngineUrlRequestJob(QtWebEngineCore::URLRequestCustomJobDelegate *);