diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/web_contents_adapter.cpp | 11 | ||||
-rw-r--r-- | src/core/web_contents_adapter.h | 1 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 6 |
3 files changed, 18 insertions, 0 deletions
diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index d67edbe7a..af141b5dd 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -301,6 +301,17 @@ QUrl WebContentsAdapter::activeUrl() const return toQt(d->webContents->GetVisibleURL()); } +QUrl WebContentsAdapter::requestedUrl() const +{ + Q_D(const WebContentsAdapter); + if (content::NavigationEntry* entry = d->webContents->GetController().GetVisibleEntry()) { + if (!entry->GetOriginalRequestURL().is_empty()) + return toQt(entry->GetOriginalRequestURL()); + return toQt(entry->GetURL()); + } + return QUrl(); +} + QString WebContentsAdapter::pageTitle() const { Q_D(const WebContentsAdapter); diff --git a/src/core/web_contents_adapter.h b/src/core/web_contents_adapter.h index 2079c89b1..93027c19c 100644 --- a/src/core/web_contents_adapter.h +++ b/src/core/web_contents_adapter.h @@ -69,6 +69,7 @@ public: void load(const QUrl&); void setContent(const QByteArray &data, const QString &mimeType, const QUrl &baseUrl, const QUrl &unreachableUrl); QUrl activeUrl() const; + QUrl requestedUrl() const; QString pageTitle() const; void navigateToIndex(int); diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 11cb7dbc5..0f414f313 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -548,6 +548,12 @@ QUrl QWebEnginePage::url() const return d->adapter->activeUrl(); } +QUrl QWebEnginePage::requestedUrl() const +{ + Q_D(const QWebEnginePage); + return d->adapter->requestedUrl(); +} + void QWebEnginePage::render(QPainter *p, const QRegion &clip) { Q_D(const QWebEnginePage); |