diff options
author | Florian Bruhin <me@the-compiler.org> | 2020-11-23 19:20:29 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2020-11-23 19:57:20 +0100 |
commit | 120f8ce1d48cee39b785b9e74cb541652a2ca26d (patch) | |
tree | d49cabfe5a6a5badf25603bcb99a5d175723e96b /qutebrowser/config/qtargs.py | |
parent | 63a0803b67344f90f40171f35948dc299d2db826 (diff) | |
download | qutebrowser-120f8ce1d48cee39b785b9e74cb541652a2ca26d.tar.gz qutebrowser-120f8ce1d48cee39b785b9e74cb541652a2ca26d.zip |
Fix content.headers.referer = 'never' with Qt 5.15
The --no-referrers flag was removed in Chromium 79:
https://chromium-review.googlesource.com/c/chromium/src/+/1808144
We now instead use the request interceptor to remove the referrer, which
is possible ever since Qt 5.12.4 and 5.13.1 and something we've wanted
to do anyways, see #4793.
The setting is still marked as "requires a restart" (and it doesn't
support URL patterns) because that's partially true: The `same-domain`
value is still handled via CLI arguments.
Fixes #5892 (together with the last commit for 'same-domain')
Diffstat (limited to 'qutebrowser/config/qtargs.py')
-rw-r--r-- | qutebrowser/config/qtargs.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/qutebrowser/config/qtargs.py b/qutebrowser/config/qtargs.py index 6786d7973..7b66c6d92 100644 --- a/qutebrowser/config/qtargs.py +++ b/qutebrowser/config/qtargs.py @@ -201,7 +201,6 @@ def _qtwebengine_settings_args() -> Iterator[str]: }, 'content.headers.referer': { 'always': None, - 'never': '--no-referrers', } } @@ -216,6 +215,13 @@ def _qtwebengine_settings_args() -> Iterator[str]: else: referrer_setting['same-domain'] = '--reduced-referrer-granularity' + can_override_referer = ( + qtutils.version_check('5.12.4', compiled=False) and + not qtutils.version_check('5.13.0', compiled=False, exact=True) + ) + # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-60203 + referrer_setting['never'] = None if can_override_referer else '--no-referrers' + for setting, args in sorted(settings.items()): arg = args[config.instance.get(setting)] if arg is not None: |