summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2017-02-28 17:24:48 +0100
committerFlorian Bruhin <git@the-compiler.org>2017-02-28 17:24:48 +0100
commit67dfbc7e5f829d370284f84fba030b1a810bb239 (patch)
treea2ad1eacc766156cf1d64c0a6c52d3b89e94f62b
parent4f90fd952d8ba71ff234f197085c7f3d145ccdd1 (diff)
downloadqutebrowser-67dfbc7e5f829d370284f84fba030b1a810bb239.tar.gz
qutebrowser-67dfbc7e5f829d370284f84fba030b1a810bb239.zip
Don't create QWebEngine profile at import time
Fixes #2378
-rw-r--r--qutebrowser/browser/webengine/webenginesettings.py14
-rw-r--r--tests/end2end/test_invocations.py17
2 files changed, 25 insertions, 6 deletions
diff --git a/qutebrowser/browser/webengine/webenginesettings.py b/qutebrowser/browser/webengine/webenginesettings.py
index a87bc4802..7c7c74aff 100644
--- a/qutebrowser/browser/webengine/webenginesettings.py
+++ b/qutebrowser/browser/webengine/webenginesettings.py
@@ -71,17 +71,18 @@ class ProfileSetter(websettings.Base):
def __init__(self, getter, setter):
super().__init__()
- profile = QWebEngineProfile.defaultProfile()
- self._getter = getattr(profile, getter)
- self._setter = getattr(profile, setter)
+ self._getter = getter
+ self._setter = setter
def get(self, settings=None):
utils.unused(settings)
- return self._getter()
+ getter = getattr(QWebEngineProfile.defaultProfile(), self._getter)
+ return getter()
def _set(self, value, settings=None):
utils.unused(settings)
- self._setter(value)
+ setter = getattr(QWebEngineProfile.defaultProfile(), self._setter)
+ setter(value)
class PersistentCookiePolicy(ProfileSetter):
@@ -98,7 +99,8 @@ class PersistentCookiePolicy(ProfileSetter):
def _set(self, value, settings=None):
utils.unused(settings)
- self._setter(
+ setter = getattr(QWebEngineProfile.defaultProfile(), self._setter)
+ setter(
QWebEngineProfile.AllowPersistentCookies if value else
QWebEngineProfile.NoPersistentCookies
)
diff --git a/tests/end2end/test_invocations.py b/tests/end2end/test_invocations.py
index 035bc4b52..4b18b57e2 100644
--- a/tests/end2end/test_invocations.py
+++ b/tests/end2end/test_invocations.py
@@ -19,6 +19,7 @@
"""Test starting qutebrowser with special arguments/environments."""
+import socket
import sys
import logging
import re
@@ -202,3 +203,19 @@ def test_qt_arg(request, quteproc_new, tmpdir):
quteproc_new.send_cmd(':quit')
quteproc_new.wait_for_quit()
+
+
+def test_webengine_inspector(request, quteproc_new):
+ if not request.config.webengine:
+ pytest.skip()
+ args = (['--temp-basedir', '--enable-webengine-inspector'] +
+ _base_args(request.config))
+ quteproc_new.start(args)
+ line = quteproc_new.wait_for(
+ message='Remote debugging server started successfully. Try pointing a '
+ 'Chromium-based browser to http://127.0.0.1:*')
+ port = int(line.message.split(':')[-1])
+
+ s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ s.connect(('127.0.0.1', port))
+ s.close()