summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2018-04-23 16:57:10 +0200
committerFlorian Bruhin <git@the-compiler.org>2018-04-23 16:57:10 +0200
commitfa41af63b67b007a67cbac1b119729d030b9e533 (patch)
tree6df999d3834faf90f829a90c418f0a67ea7294b6
parente789296b7fc4291609f188963b0f9f5f8dd2116f (diff)
downloadqutebrowser-fa41af63b67b007a67cbac1b119729d030b9e533.tar.gz
qutebrowser-fa41af63b67b007a67cbac1b119729d030b9e533.zip
Always set FocusOnNavigationEnabled
This fixes some focus issues after Qt 5.11 changes. There might be better ways to solve them, but for now, this will work. See https://codereview.qt-project.org/#/c/221408/10 and #3661: https://github.com/qutebrowser/qutebrowser/issues/3661#issuecomment-375969315 Might also negatively affect #3834 as it essentially reintroduces QTBUG-52999 on any Qt version: https://bugreports.qt.io/browse/QTBUG-52999 Might be reverted at a later date, but for now, I want an easy way to make tests work on Qt 5.11 to spot further issues.
-rw-r--r--qutebrowser/browser/webengine/webenginesettings.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/qutebrowser/browser/webengine/webenginesettings.py b/qutebrowser/browser/webengine/webenginesettings.py
index 417465929..da4b2b534 100644
--- a/qutebrowser/browser/webengine/webenginesettings.py
+++ b/qutebrowser/browser/webengine/webenginesettings.py
@@ -176,12 +176,24 @@ class ProfileSetter:
"""Initialize settings on the given profile."""
self.set_http_headers()
self.set_http_cache_size()
- self._profile.settings().setAttribute(
- QWebEngineSettings.FullScreenSupportEnabled, True)
+ self._init_attributes()
+
if qtutils.version_check('5.8'):
self._profile.setSpellCheckEnabled(True)
self.set_dictionary_language()
+ def _init_attributes(self):
+ """Initialize hard-coded attributes."""
+ values = {
+ 'FullScreenSupportEnabled': True,
+ 'FocusOnNavigationEnabled': True,
+ }
+ settings = self._profile.settings()
+ for name, value in values.items():
+ attr = getattr(QWebEngineSettings, name, None)
+ if attr is not None:
+ settings.setAttribute(attr, value)
+
def set_http_headers(self):
"""Set the user agent and accept-language for the given profile.