summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qutebrowser/browser/webengine/webengineinspector.py22
1 files changed, 15 insertions, 7 deletions
diff --git a/qutebrowser/browser/webengine/webengineinspector.py b/qutebrowser/browser/webengine/webengineinspector.py
index 7ad51fd7b..bb19ef153 100644
--- a/qutebrowser/browser/webengine/webengineinspector.py
+++ b/qutebrowser/browser/webengine/webengineinspector.py
@@ -62,13 +62,7 @@ class WebEngineInspector(inspector.AbstractWebInspector):
parent: QWidget = None) -> None:
super().__init__(splitter, win_id, parent)
self._check_devtools_resources()
-
- view = WebEngineInspectorView()
- self._settings = webenginesettings.WebEngineSettings(view.settings())
- self._set_widget(view)
- page = view.page()
- page.windowCloseRequested.connect( # type: ignore[attr-defined]
- self._on_window_close_requested)
+ self._settings = None
def _on_window_close_requested(self) -> None:
"""Called when the 'x' was clicked in the devtools."""
@@ -98,7 +92,21 @@ class WebEngineInspector(inspector.AbstractWebInspector):
"Fedora package.")
def inspect(self, page: QWebEnginePage) -> None: # type: ignore[override]
+ if not self._widget:
+ view = WebEngineInspectorView()
+ inspector_page = QWebEnginePage(
+ page.profile(),
+ self
+ )
+ inspector_page.windowCloseRequested.connect( # type: ignore[attr-defined]
+ self._on_window_close_requested)
+ view.setPage(inspector_page)
+ self._settings = webenginesettings.WebEngineSettings(view.settings())
+ self._set_widget(view)
+
inspector_page = self._widget.page()
+ assert inspector_page.profile() == page.profile()
+
inspector_page.setInspectedPage(page)
self._settings.update_for_url(inspector_page.requestedUrl())