summaryrefslogtreecommitdiff
path: root/qutebrowser/browser/webengine/webenginequtescheme.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/browser/webengine/webenginequtescheme.py')
-rw-r--r--qutebrowser/browser/webengine/webenginequtescheme.py44
1 files changed, 20 insertions, 24 deletions
diff --git a/qutebrowser/browser/webengine/webenginequtescheme.py b/qutebrowser/browser/webengine/webenginequtescheme.py
index 6fb809f6d..1b17d6859 100644
--- a/qutebrowser/browser/webengine/webenginequtescheme.py
+++ b/qutebrowser/browser/webengine/webenginequtescheme.py
@@ -19,23 +19,19 @@
"""QtWebEngine specific qute://* handlers and glue code."""
-from qutebrowser.qt.core import QBuffer, QIODevice, QUrl
-from qutebrowser.qt.webenginecore import (QWebEngineUrlSchemeHandler,
- QWebEngineUrlRequestJob,
- QWebEngineUrlScheme)
-
from qutebrowser.browser import qutescheme
from qutebrowser.utils import log, qtutils
+from qutebrowser.qt import webenginecore, core
-class QuteSchemeHandler(QWebEngineUrlSchemeHandler):
+class QuteSchemeHandler(webenginecore.QWebEngineUrlSchemeHandler):
"""Handle qute://* requests on QtWebEngine."""
def install(self, profile):
"""Install the handler for qute:// URLs on the given profile."""
- if QWebEngineUrlScheme is not None:
- assert QWebEngineUrlScheme.schemeByName(b'qute') is not None
+ if webenginecore.QWebEngineUrlScheme is not None:
+ assert webenginecore.QWebEngineUrlScheme.schemeByName(b'qute') is not None
profile.installUrlSchemeHandler(b'qute', self)
@@ -55,7 +51,7 @@ class QuteSchemeHandler(QWebEngineUrlSchemeHandler):
request_url = job.requestUrl()
# https://codereview.qt-project.org/#/c/234849/
- is_opaque = initiator == QUrl('null')
+ is_opaque = initiator == core.QUrl('null')
target = request_url.scheme(), request_url.host()
if target == ('qute', 'testdata') and is_opaque:
@@ -67,7 +63,7 @@ class QuteSchemeHandler(QWebEngineUrlSchemeHandler):
log.network.warning("Blocking malicious request from {} to {}"
.format(initiator.toDisplayString(),
request_url.toDisplayString()))
- job.fail(QWebEngineUrlRequestJob.Error.RequestDenied)
+ job.fail(webenginecore.QWebEngineUrlRequestJob.Error.RequestDenied)
return False
return True
@@ -87,7 +83,7 @@ class QuteSchemeHandler(QWebEngineUrlSchemeHandler):
return
if job.requestMethod() != b'GET':
- job.fail(QWebEngineUrlRequestJob.Error.RequestDenied)
+ job.fail(webenginecore.QWebEngineUrlRequestJob.Error.RequestDenied)
return
assert url.scheme() == 'qute'
@@ -98,15 +94,15 @@ class QuteSchemeHandler(QWebEngineUrlSchemeHandler):
except qutescheme.Error as e:
errors = {
qutescheme.NotFoundError:
- QWebEngineUrlRequestJob.Error.UrlNotFound,
+ webenginecore.QWebEngineUrlRequestJob.Error.UrlNotFound,
qutescheme.UrlInvalidError:
- QWebEngineUrlRequestJob.Error.UrlInvalid,
+ webenginecore.QWebEngineUrlRequestJob.Error.UrlInvalid,
qutescheme.RequestDeniedError:
- QWebEngineUrlRequestJob.Error.RequestDenied,
+ webenginecore.QWebEngineUrlRequestJob.Error.RequestDenied,
qutescheme.SchemeOSError:
- QWebEngineUrlRequestJob.Error.UrlNotFound,
+ webenginecore.QWebEngineUrlRequestJob.Error.UrlNotFound,
qutescheme.Error:
- QWebEngineUrlRequestJob.Error.RequestFailed,
+ webenginecore.QWebEngineUrlRequestJob.Error.RequestFailed,
}
exctype = type(e)
log.network.error(f"{exctype.__name__} while handling qute://* URL: {e}")
@@ -120,8 +116,8 @@ class QuteSchemeHandler(QWebEngineUrlSchemeHandler):
# We can't just use the QBuffer constructor taking a QByteArray,
# because that somehow segfaults...
# https://www.riverbankcomputing.com/pipermail/pyqt/2016-September/038075.html
- buf = QBuffer(parent=self)
- buf.open(QIODevice.OpenModeFlag.WriteOnly)
+ buf = core.QBuffer(parent=self)
+ buf.open(core.QIODevice.OpenModeFlag.WriteOnly)
buf.write(data)
buf.seek(0)
buf.close()
@@ -134,10 +130,10 @@ def init():
Note this needs to be called early, before constructing any QtWebEngine
classes.
"""
- if QWebEngineUrlScheme is not None:
- assert not QWebEngineUrlScheme.schemeByName(b'qute').name()
- scheme = QWebEngineUrlScheme(b'qute')
+ if webenginecore.QWebEngineUrlScheme is not None:
+ assert not webenginecore.QWebEngineUrlScheme.schemeByName(b'qute').name()
+ scheme = webenginecore.QWebEngineUrlScheme(b'qute')
scheme.setFlags(
- QWebEngineUrlScheme.Flag.LocalScheme |
- QWebEngineUrlScheme.Flag.LocalAccessAllowed)
- QWebEngineUrlScheme.registerScheme(scheme)
+ webenginecore.QWebEngineUrlScheme.Flag.LocalScheme |
+ webenginecore.QWebEngineUrlScheme.Flag.LocalAccessAllowed)
+ webenginecore.QWebEngineUrlScheme.registerScheme(scheme)