summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2014-02-03 16:59:23 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-12 17:13:52 +0100
commitab8cc57c21ab9b8d982728c5945586b562d84255 (patch)
treebbb3e10c53179da044a1362160f676fa9b33dbc2 /src/webenginewidgets
parent05e3b14e65d40c4aaaf113bb724eba117b31f206 (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.cpp7
-rw-r--r--src/webenginewidgets/api/qwebenginepage_p.h1
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;