move JS_WORLD_MAP to usertypes, circular import
This commit is contained in:
parent
acb58804c3
commit
025757a9c1
|
|
@ -469,7 +469,7 @@ def _inject_greasemonkey_scripts(profile, scripts):
|
|||
continue
|
||||
except ValueError:
|
||||
try:
|
||||
world = qtutils.JS_WORLD_MAP[usertypes.JsWorld[script.jsworld.lower()]]
|
||||
world = usertypes.JS_WORLD_MAP[usertypes.JsWorld[script.jsworld.lower()]]
|
||||
except KeyError:
|
||||
log.greasemonkey.error(
|
||||
f"script {script.name} has invalid value for '@qute-js-world'"
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ Module attributes:
|
|||
MINVALS: A dictionary of C/Qt types (as string) mapped to their minimum
|
||||
value.
|
||||
MAX_WORLD_ID: The highest world ID allowed by QtWebEngine.
|
||||
JS_WORLD_MAP: Mapping form usertypes.JsWorld to QWebEngineScript.ScriptWorldId
|
||||
"""
|
||||
|
||||
|
||||
|
|
@ -42,7 +41,6 @@ from qutebrowser.qt.core import (qVersion, QEventLoop, QDataStream, QByteArray,
|
|||
QIODevice, QFileDevice, QSaveFile, QT_VERSION_STR,
|
||||
PYQT_VERSION_STR, QObject, QUrl, QLibraryInfo)
|
||||
from qutebrowser.qt.gui import QColor
|
||||
from qutebrowser.qt.webenginecore import QWebEngineScript
|
||||
try:
|
||||
from qutebrowser.qt.webkit import qWebKitVersion
|
||||
except ImportError: # pragma: no cover
|
||||
|
|
@ -119,18 +117,6 @@ def version_check(version: str,
|
|||
MAX_WORLD_ID = 256
|
||||
|
||||
|
||||
# Mapping worlds from usertypes.JsWorld to QWebEngineScript world IDs.
|
||||
if not QWebEngineScript:
|
||||
JS_WORLD_MAP = {}
|
||||
else:
|
||||
JS_WORLD_MAP = {
|
||||
usertypes.JsWorld.main: QWebEngineScript.ScriptWorldId.MainWorld,
|
||||
usertypes.JsWorld.application: QWebEngineScript.ScriptWorldId.ApplicationWorld,
|
||||
usertypes.JsWorld.user: QWebEngineScript.ScriptWorldId.UserWorld,
|
||||
usertypes.JsWorld.jseval: QWebEngineScript.ScriptWorldId.UserWorld + 1,
|
||||
}
|
||||
|
||||
|
||||
def is_new_qtwebkit() -> bool:
|
||||
"""Check if the given version is a new QtWebKit."""
|
||||
assert qWebKitVersion is not None
|
||||
|
|
|
|||
|
|
@ -25,8 +25,11 @@ import enum
|
|||
import dataclasses
|
||||
from typing import Optional, Sequence, TypeVar, Union
|
||||
|
||||
from qutebrowser.qt.core import pyqtSignal, pyqtSlot, QObject, QTimer
|
||||
from qutebrowser.qt.core import QUrl
|
||||
from qutebrowser.qt.core import pyqtSignal, pyqtSlot, QObject, QTimer, QUrl
|
||||
try:
|
||||
from qutebrowser.qt.webenginecore import QWebEngineScript
|
||||
except ImportError:
|
||||
QWebEngineScript = None
|
||||
|
||||
from qutebrowser.utils import log, qtutils, utils
|
||||
|
||||
|
|
@ -316,6 +319,18 @@ class JsWorld(enum.Enum):
|
|||
jseval = enum.auto() #: World used for the jseval-command.
|
||||
|
||||
|
||||
# Mapping worlds from JsWorld to QWebEngineScript world IDs.
|
||||
if QWebEngineScript: # type: ignore[truthy-function]
|
||||
JS_WORLD_MAP = {
|
||||
JsWorld.main: QWebEngineScript.ScriptWorldId.MainWorld,
|
||||
JsWorld.application: QWebEngineScript.ScriptWorldId.ApplicationWorld,
|
||||
JsWorld.user: QWebEngineScript.ScriptWorldId.UserWorld,
|
||||
JsWorld.jseval: QWebEngineScript.ScriptWorldId.UserWorld + 1,
|
||||
}
|
||||
else:
|
||||
JS_WORLD_MAP = {} # type: ignore[unreachable]
|
||||
|
||||
|
||||
class JsLogLevel(enum.Enum):
|
||||
|
||||
"""Log level of a JS message.
|
||||
|
|
|
|||
Loading…
Reference in New Issue