summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/api/qwebenginepage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/webenginewidgets/api/qwebenginepage.cpp')
-rw-r--r--src/webenginewidgets/api/qwebenginepage.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index 0f414f313..6d20088df 100644
--- a/src/webenginewidgets/api/qwebenginepage.cpp
+++ b/src/webenginewidgets/api/qwebenginepage.cpp
@@ -90,6 +90,7 @@ void QWebEnginePagePrivate::titleChanged(const QString &title)
void QWebEnginePagePrivate::urlChanged(const QUrl &url)
{
Q_Q(QWebEnginePage);
+ m_explicitUrl = QUrl();
Q_EMIT q->urlChanged(url);
}
@@ -132,6 +133,8 @@ void QWebEnginePagePrivate::loadFinished(bool success, int error_code, const QSt
Q_UNUSED(error_code);
Q_UNUSED(error_description);
m_isLoading = adapter->isLoading();
+ if (success)
+ m_explicitUrl = QUrl();
Q_EMIT q->loadFinished(success);
}
@@ -539,13 +542,15 @@ QString QWebEnginePage::title() const
void QWebEnginePage::setUrl(const QUrl &url)
{
+ Q_D(QWebEnginePage);
+ d->m_explicitUrl = url;
load(url);
}
QUrl QWebEnginePage::url() const
{
Q_D(const QWebEnginePage);
- return d->adapter->activeUrl();
+ return d->m_explicitUrl.isValid() ? d->m_explicitUrl : d->adapter->activeUrl();
}
QUrl QWebEnginePage::requestedUrl() const