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.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/qutebrowser/browser/webengine/webenginedownloads.py b/qutebrowser/browser/webengine/webenginedownloads.py
index fc7ed8ca2..364347206 100644
--- a/qutebrowser/browser/webengine/webenginedownloads.py
+++ b/qutebrowser/browser/webengine/webenginedownloads.py
@@ -29,6 +29,7 @@ from PyQt5.QtWebEngineWidgets import QWebEngineDownloadItem
from qutebrowser.browser import downloads, pdfjs
from qutebrowser.utils import (debug, usertypes, message, log, objreg, urlutils,
utils, version)
+from qutebrowser.config import config
class DownloadItem(downloads.AbstractDownloadItem):
@@ -298,6 +299,15 @@ class DownloadManager(downloads.AbstractDownloadManager):
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()
+ return
+
# Ask the user for a filename - needs to be blocking!
question = downloads.get_filename_question(
suggested_filename=suggested_filename, url=qt_item.url(),