summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2020-12-04 17:28:25 +0100
committerFlorian Bruhin <me@the-compiler.org>2020-12-04 18:41:00 +0100
commit2c812710286444f4d10dab9e54b71366a92e8a18 (patch)
tree5db7ddef0aed250778c8a88ed63e75ba9dd2912c
parent77d5a08b917793e975b198206b44ffae021721e6 (diff)
downloadqutebrowser-2c812710286444f4d10dab9e54b71366a92e8a18.tar.gz
qutebrowser-2c812710286444f4d10dab9e54b71366a92e8a18.zip
webenginesettings: Deduplicate profile init code
-rw-r--r--qutebrowser/browser/webengine/webenginesettings.py57
1 files changed, 28 insertions, 29 deletions
diff --git a/qutebrowser/browser/webengine/webenginesettings.py b/qutebrowser/browser/webengine/webenginesettings.py
index e093f662e..e36135c57 100644
--- a/qutebrowser/browser/webengine/webenginesettings.py
+++ b/qutebrowser/browser/webengine/webenginesettings.py
@@ -338,54 +338,53 @@ def init_user_agent():
_init_user_agent_str(QWebEngineProfile.defaultProfile().httpUserAgent())
+def _init_profile(profile: QWebEngineProfile) -> None:
+ """Initialize a new QWebEngineProfile.
+
+ This currently only contains the steps which are shared between a private and a
+ non-private profile (at the moment, only the default profile).
+ """
+ profile.setter = ProfileSetter(profile) # type: ignore[attr-defined]
+ profile.setter.init_profile()
+
+ _qute_scheme_handler.install(profile)
+ _req_interceptor.install(profile)
+ _download_manager.install(profile)
+ cookies.install_filter(profile)
+
+ # Clear visited links on web history clear
+ history.web_history.history_cleared.connect(profile.clearAllVisitedLinks)
+ history.web_history.url_cleared.connect(
+ lambda url: profile.clearVisitedLinks([url]))
+
+
def _init_default_profile():
"""Init the default QWebEngineProfile."""
global default_profile
default_profile = QWebEngineProfile.defaultProfile()
+
init_user_agent()
- default_profile.setter = ProfileSetter( # type: ignore[attr-defined]
- default_profile)
default_profile.setCachePath(
os.path.join(standarddir.cache(), 'webengine'))
default_profile.setPersistentStoragePath(
os.path.join(standarddir.data(), 'webengine'))
- default_profile.setter.init_profile()
default_profile.setter.set_persistent_cookie_policy()
- _qute_scheme_handler.install(default_profile)
- _req_interceptor.install(default_profile)
- _download_manager.install(default_profile)
- cookies.install_filter(default_profile)
-
- # Clear visited links on web history clear
- history.web_history.history_cleared.connect(default_profile.clearAllVisitedLinks)
- history.web_history.url_cleared.connect(
- lambda url, profile=default_profile: profile.clearVisitedLinks([url]))
+ _init_profile(default_profile)
def init_private_profile():
"""Init the private QWebEngineProfile."""
global private_profile
- if not qtutils.is_single_process():
- private_profile = QWebEngineProfile()
- private_profile.setter = ProfileSetter( # type: ignore[attr-defined]
- private_profile)
- assert private_profile.isOffTheRecord()
- private_profile.setter.init_profile()
-
- _qute_scheme_handler.install(private_profile)
- _req_interceptor.install(private_profile)
- _download_manager.install(private_profile)
- cookies.install_filter(private_profile)
-
- # Clear visited links on web history clear
- history.web_history.history_cleared.connect(
- private_profile.clearAllVisitedLinks)
- history.web_history.url_cleared.connect(
- lambda url, profile=private_profile: profile.clearVisitedLinks([url]))
+ if qtutils.is_single_process():
+ return
+
+ private_profile = QWebEngineProfile()
+ assert private_profile.isOffTheRecord()
+ _init_profile(private_profile)
def _init_site_specific_quirks():