summaryrefslogtreecommitdiffstats
path: root/src/webengine
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-02-06 08:36:01 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2018-02-06 08:36:01 +0000
commitfc37a3964db412d110e7513534b6178e154044c4 (patch)
tree911d1fa23aa8edc4d77a2b2655d3653b56338728 /src/webengine
parentf52737f60e505101d2364cd6f3713ea8303f30f0 (diff)
parent092842b5e00662ae9888a19326a9fe4cf140f4da (diff)
Merge "Merge remote-tracking branch 'origin/5.10' into dev" into refs/staging/dev
Diffstat (limited to 'src/webengine')
-rw-r--r--src/webengine/api/qquickwebenginetestsupport.cpp16
-rw-r--r--src/webengine/api/qquickwebengineview.cpp36
2 files changed, 27 insertions, 25 deletions
diff --git a/src/webengine/api/qquickwebenginetestsupport.cpp b/src/webengine/api/qquickwebenginetestsupport.cpp
index b3290d3cc..b7b863125 100644
--- a/src/webengine/api/qquickwebenginetestsupport.cpp
+++ b/src/webengine/api/qquickwebenginetestsupport.cpp
@@ -42,6 +42,7 @@
#include "qquickwebengineloadrequest_p.h"
#include <QQuickWindow>
#include <QtTest/qtest.h>
+#include <QtCore/QTimer>
QT_BEGIN_NAMESPACE
@@ -56,19 +57,20 @@ QQuickWebEngineErrorPage::QQuickWebEngineErrorPage()
void QQuickWebEngineErrorPage::loadFinished(bool success, const QUrl &url)
{
Q_UNUSED(success);
-
- QQuickWebEngineLoadRequest loadRequest(url, QQuickWebEngineView::LoadSucceededStatus);
- Q_EMIT loadingChanged(&loadRequest);
- return;
+ QTimer::singleShot(0, this, [this, url]() {
+ QQuickWebEngineLoadRequest loadRequest(url, QQuickWebEngineView::LoadSucceededStatus);
+ emit loadingChanged(&loadRequest);
+ });
}
void QQuickWebEngineErrorPage::loadStarted(const QUrl &provisionalUrl)
{
- QQuickWebEngineLoadRequest loadRequest(provisionalUrl, QQuickWebEngineView::LoadStartedStatus);
- Q_EMIT loadingChanged(&loadRequest);
+ QTimer::singleShot(0, this, [this, provisionalUrl]() {
+ QQuickWebEngineLoadRequest loadRequest(provisionalUrl, QQuickWebEngineView::LoadStartedStatus);
+ emit loadingChanged(&loadRequest);
+ });
}
-
QQuickWebEngineTestInputContext::QQuickWebEngineTestInputContext()
: m_visible(false)
{
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
index 19e85315b..492becaa3 100644
--- a/src/webengine/api/qquickwebengineview.cpp
+++ b/src/webengine/api/qquickwebengineview.cpp
@@ -331,14 +331,14 @@ void QQuickWebEngineViewPrivate::iconChanged(const QUrl &url)
iconUrl = faviconProvider->attach(q, url);
m_history->reset();
- Q_EMIT q->iconChanged();
+ QTimer::singleShot(0, q, &QQuickWebEngineView::iconChanged);
}
void QQuickWebEngineViewPrivate::loadProgressChanged(int progress)
{
Q_Q(QQuickWebEngineView);
loadProgress = progress;
- Q_EMIT q->loadProgressChanged();
+ QTimer::singleShot(0, q, &QQuickWebEngineView::loadProgressChanged);
}
void QQuickWebEngineViewPrivate::didUpdateTargetURL(const QUrl &hoveredUrl)
@@ -384,12 +384,10 @@ void QQuickWebEngineViewPrivate::loadStarted(const QUrl &provisionalUrl, bool is
m_history->reset();
m_certificateErrorControllers.clear();
- QPointer<QQuickWebEngineView> pq(q);
- QTimer::singleShot(0, [=]()
- {
+ QTimer::singleShot(0, q, [q, provisionalUrl]() {
QQuickWebEngineLoadRequest loadRequest(provisionalUrl, QQuickWebEngineView::LoadStartedStatus);
- if (pq)
- pq->loadingChanged(&loadRequest);
+
+ emit q->loadingChanged(&loadRequest);
});
}
@@ -425,25 +423,27 @@ void QQuickWebEngineViewPrivate::loadFinished(bool success, const QUrl &url, boo
isLoading = false;
m_history->reset();
if (errorCode == WebEngineError::UserAbortedError) {
- QQuickWebEngineLoadRequest loadRequest(url, QQuickWebEngineView::LoadStoppedStatus);
- Q_EMIT q->loadingChanged(&loadRequest);
+ QTimer::singleShot(0, q, [q, url]() {
+ QQuickWebEngineLoadRequest loadRequest(url, QQuickWebEngineView::LoadStoppedStatus);
+ emit q->loadingChanged(&loadRequest);
+ });
return;
}
if (success) {
explicitUrl = QUrl();
- QQuickWebEngineLoadRequest loadRequest(url, QQuickWebEngineView::LoadSucceededStatus);
- Q_EMIT q->loadingChanged(&loadRequest);
+ QTimer::singleShot(0, q, [q, url]() {
+ QQuickWebEngineLoadRequest loadRequest(url, QQuickWebEngineView::LoadSucceededStatus);
+ emit q->loadingChanged(&loadRequest);
+ });
return;
}
Q_ASSERT(errorCode);
- QQuickWebEngineLoadRequest loadRequest(
- url,
- QQuickWebEngineView::LoadFailedStatus,
- errorDescription,
- errorCode,
- static_cast<QQuickWebEngineView::ErrorDomain>(WebEngineError::toQtErrorDomain(errorCode)));
- Q_EMIT q->loadingChanged(&loadRequest);
+ QQuickWebEngineView::ErrorDomain errorDomain = static_cast<QQuickWebEngineView::ErrorDomain>(WebEngineError::toQtErrorDomain(errorCode));
+ QTimer::singleShot(0, q, [q, url, errorDescription, errorCode, errorDomain]() {
+ QQuickWebEngineLoadRequest loadRequest(url, QQuickWebEngineView::LoadFailedStatus,errorDescription, errorCode, errorDomain);
+ emit q->loadingChanged(&loadRequest);
+ });
return;
}