summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2021-03-02 17:27:20 +0100
committerGitHub <noreply@github.com>2021-03-02 17:27:20 +0100
commit70f778d41832d8811105c6aae09b6e687e9835a7 (patch)
tree5b0dff3be351e072c95cafb260aad53ee411ec96
parentdf4ebec6bce100c0d0163295c799c67e22950039 (diff)
parent2bcdd04e825e4e27c87495315722b8e71d96c1f9 (diff)
downloadqutebrowser-70f778d41832d8811105c6aae09b6e687e9835a7.tar.gz
qutebrowser-70f778d41832d8811105c6aae09b6e687e9835a7.zip
Merge pull request #6199 from jbenge1/master
WIP: Adding abstract method to browsertab.py Closes #6121
-rw-r--r--qutebrowser/browser/browsertab.py14
-rw-r--r--qutebrowser/browser/inspector.py25
-rw-r--r--qutebrowser/browser/webengine/webenginetab.py9
-rw-r--r--qutebrowser/browser/webkit/webkittab.py6
4 files changed, 27 insertions, 27 deletions
diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py
index 4c26da69d..581d33507 100644
--- a/qutebrowser/browser/browsertab.py
+++ b/qutebrowser/browser/browsertab.py
@@ -870,7 +870,7 @@ class AbstractTabPrivate:
tabdata = self._tab.data
if tabdata.inspector is None:
assert tabdata.splitter is not None
- tabdata.inspector = inspector.create(
+ tabdata.inspector = self._init_inspector(
splitter=tabdata.splitter,
win_id=self._tab.win_id)
self._tab.shutting_down.connect(tabdata.inspector.shutdown)
@@ -878,6 +878,18 @@ class AbstractTabPrivate:
tabdata.inspector.inspect(self._widget.page())
tabdata.inspector.set_position(position)
+ def _init_inspector(self, splitter: 'miscwidgets.InspectorSplitter',
+ win_id: int,
+ parent: QWidget = None) -> 'AbstractWebInspector':
+ """Get a WebKitInspector/WebEngineInspector.
+
+ Args:
+ splitter: InspectorSplitter where the inspector can be placed.
+ win_id: The window ID this inspector is associated with.
+ parent: The Qt parent to set.
+ """
+ raise NotImplementedError
+
class AbstractTab(QWidget):
diff --git a/qutebrowser/browser/inspector.py b/qutebrowser/browser/inspector.py
index 9ed5b52ea..2b40e97e4 100644
--- a/qutebrowser/browser/inspector.py
+++ b/qutebrowser/browser/inspector.py
@@ -30,30 +30,9 @@ from PyQt5.QtGui import QCloseEvent
from qutebrowser.browser import eventfilter
from qutebrowser.config import configfiles
-from qutebrowser.utils import log, usertypes, utils
+from qutebrowser.utils import log, usertypes
from qutebrowser.keyinput import modeman
-from qutebrowser.misc import miscwidgets, objects
-
-
-def create(*, splitter: 'miscwidgets.InspectorSplitter',
- win_id: int,
- parent: QWidget = None) -> 'AbstractWebInspector':
- """Get a WebKitInspector/WebEngineInspector.
-
- Args:
- splitter: InspectorSplitter where the inspector can be placed.
- win_id: The window ID this inspector is associated with.
- parent: The Qt parent to set.
- """
- # Importing modules here so we don't depend on QtWebEngine without the
- # argument and to avoid circular imports.
- if objects.backend == usertypes.Backend.QtWebEngine:
- from qutebrowser.browser.webengine import webengineinspector
- return webengineinspector.WebEngineInspector(splitter, win_id, parent)
- elif objects.backend == usertypes.Backend.QtWebKit:
- from qutebrowser.browser.webkit import webkitinspector
- return webkitinspector.WebKitInspector(splitter, win_id, parent)
- raise utils.Unreachable(objects.backend)
+from qutebrowser.misc import miscwidgets
class Position(enum.Enum):
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py
index 9f129b609..4092fbe40 100644
--- a/qutebrowser/browser/webengine/webenginetab.py
+++ b/qutebrowser/browser/webengine/webenginetab.py
@@ -34,11 +34,13 @@ from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineScript, QWebEngin
from qutebrowser.config import config
from qutebrowser.browser import browsertab, eventfilter, shared, webelem, greasemonkey
from qutebrowser.browser.webengine import (webview, webengineelem, tabhistory,
- webenginesettings, certificateerror)
-from qutebrowser.misc import miscwidgets, objects
+ webenginesettings, certificateerror,
+ webengineinspector)
+
from qutebrowser.utils import (usertypes, qtutils, log, javascript, utils,
message, jinja, debug, version)
from qutebrowser.qt import sip
+from qutebrowser.misc import objects, miscwidgets
# Mapping worlds from usertypes.JsWorld to QWebEngineScript world IDs.
@@ -1207,6 +1209,9 @@ class WebEngineTabPrivate(browsertab.AbstractTabPrivate):
def run_js_sync(self, code):
raise browsertab.UnsupportedOperationError
+ def _init_inspector(self, splitter, win_id, parent=None):
+ return webengineinspector.WebEngineInspector(splitter, win_id, parent)
+
class WebEngineTab(browsertab.AbstractTab):
diff --git a/qutebrowser/browser/webkit/webkittab.py b/qutebrowser/browser/webkit/webkittab.py
index 066cce348..f910cf676 100644
--- a/qutebrowser/browser/webkit/webkittab.py
+++ b/qutebrowser/browser/webkit/webkittab.py
@@ -33,7 +33,8 @@ from PyQt5.QtPrintSupport import QPrinter
from qutebrowser.browser import browsertab, shared
from qutebrowser.browser.webkit import (webview, tabhistory, webkitelem,
- webkitsettings)
+ webkitsettings, webkitinspector)
+
from qutebrowser.utils import qtutils, usertypes, utils, log, debug
from qutebrowser.keyinput import modeman
from qutebrowser.qt import sip
@@ -808,6 +809,9 @@ class WebKitTabPrivate(browsertab.AbstractTabPrivate):
result = document_element.evaluateJavaScript(code)
return result
+ def _init_inspector(self, splitter, win_id, parent=None):
+ return webkitinspector.WebKitInspector(splitter, win_id, parent)
+
class WebKitTab(browsertab.AbstractTab):