diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2014-02-03 16:59:23 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-12 17:13:52 +0100 |
commit | ab8cc57c21ab9b8d982728c5945586b562d84255 (patch) | |
tree | bbb3e10c53179da044a1362160f676fa9b33dbc2 /src/webenginewidgets | |
parent | 05e3b14e65d40c4aaaf113bb724eba117b31f206 (diff) |
Make QWebEnginePage support symetrical url and setUrl
Unlike load, the value passed to setUrl should be returned by url
until the url is updated by the page (load finished or url changed).
Change-Id: Ica80941754fcf57d68071123daa28f5ddd1359fe
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Diffstat (limited to 'src/webenginewidgets')
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 7 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage_p.h | 1 |
2 files changed, 7 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 diff --git a/src/webenginewidgets/api/qwebenginepage_p.h b/src/webenginewidgets/api/qwebenginepage_p.h index b905cee6d..e40bc510a 100644 --- a/src/webenginewidgets/api/qwebenginepage_p.h +++ b/src/webenginewidgets/api/qwebenginepage_p.h @@ -100,6 +100,7 @@ public: QWebEngineView *view; mutable QAction *actions[QWebEnginePage::WebActionCount]; bool m_isLoading; + QUrl m_explicitUrl; WebEngineContextMenuData m_menuData; QPointer<RenderWidgetHostViewQtDelegateWebPage> m_rwhvDelegate; |