summaryrefslogtreecommitdiffstats
path: root/src/core/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/api')
-rw-r--r--src/core/api/qwebengineloadinginfo.cpp23
-rw-r--r--src/core/api/qwebengineloadinginfo.h15
-rw-r--r--src/core/api/qwebenginepage.cpp21
-rw-r--r--src/core/api/qwebenginepage_p.h4
4 files changed, 38 insertions, 25 deletions
diff --git a/src/core/api/qwebengineloadinginfo.cpp b/src/core/api/qwebengineloadinginfo.cpp
index fcbb2ce7a..03a31ab72 100644
--- a/src/core/api/qwebengineloadinginfo.cpp
+++ b/src/core/api/qwebengineloadinginfo.cpp
@@ -56,9 +56,11 @@ Q_STATIC_ASSERT(static_cast<int>(WebEngineError::DnsErrorDomain) == static_cast<
class QWebEngineLoadingInfo::QWebEngineLoadingInfoPrivate : public QSharedData {
public:
- QWebEngineLoadingInfoPrivate(const QUrl& url, LoadStatus status, const QString& errorString, int errorCode, ErrorDomain errorDomain)
+ QWebEngineLoadingInfoPrivate(const QUrl& url, LoadStatus status, bool isErrorPage,
+ const QString& errorString, int errorCode, ErrorDomain errorDomain)
: url(url)
, status(status)
+ , isErrorPage(isErrorPage)
, errorString(errorString)
, errorCode(errorCode)
, errorDomain(errorDomain)
@@ -67,6 +69,7 @@ public:
QUrl url;
LoadStatus status;
+ bool isErrorPage;
QString errorString;
int errorCode;
ErrorDomain errorDomain;
@@ -83,9 +86,9 @@ public:
\sa QWebEnginePage::loadStarted, QWebEnginePage::loadFinished, WebEngineView::loadingChanged
*/
-QWebEngineLoadingInfo::QWebEngineLoadingInfo(const QUrl& url, LoadStatus status, const QString& errorString,
- int errorCode, ErrorDomain errorDomain)
- : d_ptr(new QWebEngineLoadingInfoPrivate(url, status, errorString, errorCode, errorDomain))
+QWebEngineLoadingInfo::QWebEngineLoadingInfo(const QUrl& url, LoadStatus status, bool isErrorPage,
+ const QString& errorString, int errorCode, ErrorDomain errorDomain)
+ : d_ptr(new QWebEngineLoadingInfoPrivate(url, status, isErrorPage, errorString, errorCode, errorDomain))
{
}
@@ -133,6 +136,18 @@ LoadStatus QWebEngineLoadingInfo::status() const
return d->status;
}
/*!
+ \property QWebEngineLoadingInfo::isErrorPage
+ \property Indicates if the load's resulted in an error page.
+*/
+/*!
+ Returns true if the load's resulted is an error page.
+*/
+bool QWebEngineLoadingInfo::isErrorPage() const
+{
+ Q_D(const QWebEngineLoadingInfo);
+ return d->isErrorPage;
+}
+/*!
\property QWebEngineLoadingInfo::errorString
\brief Holds the error message.
*/
diff --git a/src/core/api/qwebengineloadinginfo.h b/src/core/api/qwebengineloadinginfo.h
index bd07d52a3..8aacb0281 100644
--- a/src/core/api/qwebengineloadinginfo.h
+++ b/src/core/api/qwebengineloadinginfo.h
@@ -45,12 +45,18 @@
#include <QObject>
#include <QUrl>
+namespace QtWebEngineCore {
+class WebContentsAdapter;
+class WebContentsDelegateQt;
+}
+
QT_BEGIN_NAMESPACE
class Q_WEBENGINECORE_EXPORT QWebEngineLoadingInfo
{
Q_GADGET
Q_PROPERTY(QUrl url READ url CONSTANT FINAL)
+ Q_PROPERTY(bool isErrorPage READ isErrorPage CONSTANT FINAL)
Q_PROPERTY(LoadStatus status READ status CONSTANT FINAL)
Q_PROPERTY(QString errorString READ errorString CONSTANT FINAL)
Q_PROPERTY(ErrorDomain errorDomain READ errorDomain CONSTANT FINAL)
@@ -83,19 +89,22 @@ public:
~QWebEngineLoadingInfo();
QUrl url() const;
+ bool isErrorPage() const;
LoadStatus status() const;
QString errorString() const;
ErrorDomain errorDomain() const;
int errorCode() const;
private:
- QWebEngineLoadingInfo(const QUrl& url, LoadStatus status, const QString& errorString = QString(),
- int errorCode = 0, ErrorDomain errorDomain = NoErrorDomain);
+ QWebEngineLoadingInfo(const QUrl& url, LoadStatus status,
+ bool isErrorPage = false, const QString& errorString = QString(),
+ int errorCode = 0, ErrorDomain errorDomain = NoErrorDomain);
class QWebEngineLoadingInfoPrivate;
Q_DECLARE_PRIVATE(QWebEngineLoadingInfo)
QExplicitlySharedDataPointer<QWebEngineLoadingInfoPrivate> d_ptr;
friend class QQuickWebEngineViewPrivate;
- friend class QQuickWebEngineErrorPage;
+ friend class QtWebEngineCore::WebContentsAdapter;
+ friend class QtWebEngineCore::WebContentsDelegateQt;
};
QT_END_NAMESPACE
diff --git a/src/core/api/qwebenginepage.cpp b/src/core/api/qwebenginepage.cpp
index 460b5a351..5298849f8 100644
--- a/src/core/api/qwebenginepage.cpp
+++ b/src/core/api/qwebenginepage.cpp
@@ -52,6 +52,7 @@
#include "qwebenginefullscreenrequest.h"
#include "qwebenginehistory.h"
#include "qwebenginehistory_p.h"
+#include "qwebengineloadinginfo.h"
#include "qwebenginenavigationrequest.h"
#include "qwebenginenewwindowrequest.h"
#include "qwebenginenotification.h"
@@ -300,31 +301,19 @@ QColor QWebEnginePagePrivate::backgroundColor() const
return m_backgroundColor;
}
-void QWebEnginePagePrivate::loadStarted(const QUrl &provisionalUrl, bool isErrorPage)
+void QWebEnginePagePrivate::loadStarted(QWebEngineLoadingInfo /* info */)
{
- Q_UNUSED(provisionalUrl);
Q_Q(QWebEnginePage);
-
- if (isErrorPage)
- return;
-
isLoading = true;
-
QTimer::singleShot(0, q, &QWebEnginePage::loadStarted);
}
-void QWebEnginePagePrivate::loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription)
+void QWebEnginePagePrivate::loadFinished(QWebEngineLoadingInfo info)
{
Q_Q(QWebEnginePage);
- Q_UNUSED(url);
- Q_UNUSED(errorCode);
- Q_UNUSED(errorDescription);
-
- if (isErrorPage)
- return;
-
isLoading = false;
- QTimer::singleShot(0, q, [q, success](){
+ bool success = info.status() == QWebEngineLoadingInfo::LoadSucceededStatus;
+ QTimer::singleShot(0, q, [q, success] () {
emit q->loadFinished(success);
});
}
diff --git a/src/core/api/qwebenginepage_p.h b/src/core/api/qwebenginepage_p.h
index a830028f8..46dcf2ce8 100644
--- a/src/core/api/qwebenginepage_p.h
+++ b/src/core/api/qwebenginepage_p.h
@@ -134,10 +134,10 @@ public:
void renderProcessPidChanged(qint64 pid) override;
QRectF viewportRect() const override;
QColor backgroundColor() const override;
- void loadStarted(const QUrl &provisionalUrl, bool isErrorPage = false) override;
+ void loadStarted(QWebEngineLoadingInfo info) override;
void loadCommitted() override { }
void didFirstVisuallyNonEmptyPaint() override { }
- void loadFinished(bool success, const QUrl &url, bool isErrorPage, int errorCode, const QString &errorDescription) override;
+ void loadFinished(QWebEngineLoadingInfo info) override;
void focusContainer() override;
void unhandledKeyEvent(QKeyEvent *event) override;
QSharedPointer<QtWebEngineCore::WebContentsAdapter>