diff options
Diffstat (limited to 'src/webenginewidgets/api/qwebenginepage.cpp')
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 7 |
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 |