diff options
author | lufte <javier@lufte.net> | 2020-10-16 23:09:43 -0300 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2020-12-03 18:52:52 +0100 |
commit | 8c54acab291a15cea86c96320201dd5ceb158c7f (patch) | |
tree | 6bdff58d9802aa38c8b4c89be79a9e4002dabe52 | |
parent | 9198b16dc07ad3f27cd0d252a8841641dd166c7d (diff) | |
download | qutebrowser-8c54acab291a15cea86c96320201dd5ceb158c7f.tar.gz qutebrowser-8c54acab291a15cea86c96320201dd5ceb158c7f.zip |
Re-install all modules every time a new profile is created.
(cherry picked from commit 40a1772fdea98fc1ecc168a5f75aa296cb7fdf5e)
This isn't what #5813 actually ended up as, but is an earlier, less
intrusive version of the same change, which is what I'm going with for
v1.14.1.
-rw-r--r-- | qutebrowser/browser/webengine/webenginesettings.py | 11 | ||||
-rw-r--r-- | qutebrowser/browser/webengine/webenginetab.py | 2 |
2 files changed, 12 insertions, 1 deletions
diff --git a/qutebrowser/browser/webengine/webenginesettings.py b/qutebrowser/browser/webengine/webenginesettings.py index 336540ba0..5a6724484 100644 --- a/qutebrowser/browser/webengine/webenginesettings.py +++ b/qutebrowser/browser/webengine/webenginesettings.py @@ -36,7 +36,7 @@ from qutebrowser.browser.webengine import spell, webenginequtescheme from qutebrowser.config import config, websettings from qutebrowser.config.websettings import AttributeInfo as Attr from qutebrowser.utils import (utils, standarddir, qtutils, message, log, - urlmatch, usertypes) + urlmatch, usertypes, objreg) # The default QWebEngineProfile default_profile = typing.cast(QWebEngineProfile, None) @@ -382,12 +382,21 @@ def init_private_profile(): global private_profile if not qtutils.is_single_process(): + is_first_time = private_profile is None private_profile = QWebEngineProfile() private_profile.setter = ProfileSetter( # type: ignore[attr-defined] private_profile) assert private_profile.isOffTheRecord() private_profile.setter.init_profile() + if not is_first_time: + from qutebrowser.browser.webengine import webenginetab + webenginetab._qute_scheme_handler.install(private_profile) + webenginetab.req_interceptor.install(private_profile) + objreg.get('webengine-download-manager').install(private_profile) + from qutebrowser.browser.webengine import cookies + cookies.install_filter(private_profile) + def _init_site_specific_quirks(): """Add custom user-agent settings for problematic sites. diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index ab090d1f0..0b88b5e3f 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -46,6 +46,7 @@ from qutebrowser.qt import sip _qute_scheme_handler = None +req_interceptor = None def init(): @@ -54,6 +55,7 @@ def init(): # won't work... # https://www.riverbankcomputing.com/pipermail/pyqt/2016-September/038075.html global _qute_scheme_handler + global req_interceptor app = QApplication.instance() log.init.debug("Initializing qute://* handler...") |