Pass QNAM instead of page to DownloadManager

This commit is contained in:
Florian Bruhin 2016-09-10 23:07:21 +02:00
parent e8f8f1e72a
commit 1c09649dcb
4 changed files with 13 additions and 14 deletions

View File

@ -1328,15 +1328,16 @@ class CommandDispatcher:
elif mhtml_:
self._download_mhtml(dest)
else:
# FIXME:qtwebengine have a proper API for this
tab = self._current_widget()
page = tab._widget.page() # pylint: disable=protected-access
# FIXME:qtwebengine have a proper API for this
# pylint: disable=protected-access
qnam = tab._widget.page().networkAccessManager()
# pylint: enable=protected-access
if dest is None:
target = None
else:
target = usertypes.FileDownloadTarget(dest)
download_manager.get(self._current_url(), page=page,
target=target)
download_manager.get(self._current_url(), qnam=qnam, target=target)
def _download_mhtml(self, dest=None):
"""Download the current page as an MHTML file, including all assets.

View File

@ -283,12 +283,12 @@ class HintActions:
# FIXME:qtwebengine get a proper API for this
# pylint: disable=protected-access
page = elem._elem.webFrame().page()
qnam = elem._elem.webFrame().page().networkAccessManager()
# pylint: enable=protected-access
download_manager = objreg.get('download-manager', scope='window',
window=self._win_id)
download_manager.get(url, page=page, prompt_download_directory=prompt)
download_manager.get(url, qnam=qnam, prompt_download_directory=prompt)
def call_userscript(self, elem, context):
"""Call a userscript from a hint.

View File

@ -880,22 +880,20 @@ class DownloadManager(QObject):
suggested_filename=suggested_fn,
**kwargs)
def fetch_request(self, request, *, page=None, **kwargs):
def fetch_request(self, request, *, qnam=None, **kwargs):
"""Download a QNetworkRequest to disk.
Args:
request: The QNetworkRequest to download.
page: The QWebPage to use.
qnam: The QNetworkAccessManager to use.
**kwargs: passed to fetch().
Return:
The created DownloadItem.
"""
if page is None:
nam = self._networkmanager
else:
nam = page.networkAccessManager()
reply = nam.get(request)
if qnam is None:
qnam = self._networkmanager
reply = qnam.get(request)
return self.fetch(reply, **kwargs)
@pyqtSlot('QNetworkReply')

View File

@ -268,7 +268,7 @@ class BrowserPage(QWebPage):
req = QNetworkRequest(request)
download_manager = objreg.get('download-manager', scope='window',
window=self._win_id)
download_manager.get_request(req, page=self)
download_manager.get_request(req, qnam=self.networkAccessManager())
@pyqtSlot('QNetworkReply*')
def on_unsupported_content(self, reply):