Add an API to get the QNAM of a tab
This commit is contained in:
parent
c363982d05
commit
97d23144f7
@ -727,6 +727,14 @@ class AbstractTab(QWidget):
|
||||
def set_html(self, html, base_url):
|
||||
raise NotImplementedError
|
||||
|
||||
def networkaccessmanager(self):
|
||||
"""Get the QNetworkAccessManager for this tab.
|
||||
|
||||
This is only implemented for QtWebKit.
|
||||
For QtWebEngine, always returns None.
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
def __repr__(self):
|
||||
try:
|
||||
url = utils.elide(self.url().toDisplayString(QUrl.EncodeUnicode),
|
||||
|
@ -1332,16 +1332,7 @@ class CommandDispatcher:
|
||||
elif mhtml_:
|
||||
self._download_mhtml(dest)
|
||||
else:
|
||||
tab = self._current_widget()
|
||||
|
||||
# FIXME:qtwebengine have a proper API for this
|
||||
# pylint: disable=protected-access
|
||||
try:
|
||||
qnam = tab._widget.page().networkAccessManager()
|
||||
except AttributeError:
|
||||
# QtWebEngine
|
||||
qnam = None
|
||||
# pylint: enable=protected-access
|
||||
qnam = self._current_widget().networkaccessmanager()
|
||||
|
||||
if dest is None:
|
||||
target = None
|
||||
|
@ -284,15 +284,7 @@ class HintActions:
|
||||
else:
|
||||
prompt = None
|
||||
|
||||
# FIXME:qtwebengine get a proper API for this
|
||||
# pylint: disable=protected-access
|
||||
try:
|
||||
qnam = elem._elem.webFrame().page().networkAccessManager()
|
||||
except AttributeError:
|
||||
# QtWebEngine
|
||||
qnam = None
|
||||
# pylint: enable=protected-access
|
||||
|
||||
qnam = context.tab.networkaccessmanager()
|
||||
# FIXME:qtwebengine do this with QtWebEngine downloads?
|
||||
download_manager = objreg.get('qtnetwork-download-manager',
|
||||
scope='window', window=self._win_id)
|
||||
|
@ -574,6 +574,9 @@ class WebEngineTab(browsertab.AbstractTab):
|
||||
# percent encoded content is 2 megabytes minus 30 bytes.
|
||||
self._widget.setHtml(html, base_url)
|
||||
|
||||
def networkaccessmanager(self):
|
||||
return None
|
||||
|
||||
def clear_ssl_errors(self):
|
||||
raise browsertab.UnsupportedOperationError
|
||||
|
||||
|
@ -657,8 +657,7 @@ class WebKitTab(browsertab.AbstractTab):
|
||||
return self._widget.title()
|
||||
|
||||
def clear_ssl_errors(self):
|
||||
nam = self._widget.page().networkAccessManager()
|
||||
nam.clear_all_ssl_errors()
|
||||
self.networkaccessmanager().clear_all_ssl_errors()
|
||||
|
||||
@pyqtSlot()
|
||||
def _on_history_trigger(self):
|
||||
@ -669,6 +668,9 @@ class WebKitTab(browsertab.AbstractTab):
|
||||
def set_html(self, html, base_url):
|
||||
self._widget.setHtml(html, base_url)
|
||||
|
||||
def networkaccessmanager(self):
|
||||
return self._widget.page().networkAccessManager()
|
||||
|
||||
@pyqtSlot()
|
||||
def _on_frame_load_finished(self):
|
||||
"""Make sure we emit an appropriate status when loading finished.
|
||||
|
Loading…
Reference in New Issue
Block a user