diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py index 662c88b5f..5f6050870 100644 --- a/qutebrowser/browser/browsertab.py +++ b/qutebrowser/browser/browsertab.py @@ -542,7 +542,7 @@ class AbstractTab(QWidget): def _on_ssl_errors(self): self._has_ssl_errors = True - def url(self): + def url(self, requested=False): raise NotImplementedError def progress(self): diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 6430f4bcf..0c1edffff 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -363,8 +363,12 @@ class WebEngineTab(browsertab.AbstractTab): self._openurl_prepare(url) self._widget.load(url) - def url(self): - return self._widget.url() + def url(self, requested=False): + page = self._widget.page() + if requested: + return page.requestedUrl() + else: + return page.url() def dump_async(self, callback, *, plain=False): if plain: diff --git a/qutebrowser/browser/webkit/webkittab.py b/qutebrowser/browser/webkit/webkittab.py index 47f866559..f8a1b676c 100644 --- a/qutebrowser/browser/webkit/webkittab.py +++ b/qutebrowser/browser/webkit/webkittab.py @@ -514,8 +514,12 @@ class WebKitTab(browsertab.AbstractTab): self._openurl_prepare(url) self._widget.openurl(url) - def url(self): - return self._widget.url() + def url(self, requested=False): + frame = self._widget.page().mainFrame() + if requested: + return frame.requestedUrl() + else: + return frame.url() def dump_async(self, callback, *, plain=False): frame = self._widget.page().mainFrame()