summaryrefslogtreecommitdiff
path: root/qutebrowser/browser/webengine/webenginedownloads.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/browser/webengine/webenginedownloads.py')
-rw-r--r--qutebrowser/browser/webengine/webenginedownloads.py17
1 files changed, 5 insertions, 12 deletions
diff --git a/qutebrowser/browser/webengine/webenginedownloads.py b/qutebrowser/browser/webengine/webenginedownloads.py
index 364347206..f216f9e67 100644
--- a/qutebrowser/browser/webengine/webenginedownloads.py
+++ b/qutebrowser/browser/webengine/webenginedownloads.py
@@ -120,6 +120,10 @@ class DownloadItem(downloads.AbstractDownloadItem):
def url(self) -> QUrl:
return self._qt_item.url()
+ def origin(self) -> QUrl:
+ page = self._qt_item.page()
+ return page.url() if page else QUrl()
+
def _set_fileobj(self, fileobj, *, autoclose=True):
raise downloads.UnsupportedOperationError
@@ -294,18 +298,7 @@ class DownloadManager(downloads.AbstractDownloadManager):
download.set_target(target)
return
- if url.scheme() == "file" and origin.isValid() and origin.scheme() == "file":
- utils.open_file(url.toLocalFile())
- qt_item.cancel()
- return
-
- if (url.scheme() == "http" and
- origin.isValid() and origin.scheme() == "https" and
- config.instance.get("downloads.prevent_mixed_content", url=origin)):
- # FIXME show failed download instead
- message.error("Aborting insecure download from secure page "
- "(see downloads.prevent_mixed_content).")
- qt_item.cancel()
+ if download.cancel_for_origin():
return
# Ask the user for a filename - needs to be blocking!