From a796d1f33f216369794a79fa7bf1147332ec35fe Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 5 Mar 2018 17:09:47 +0100 Subject: [PATCH] Always enable JavaScript for file://, chrome:// and qute:// See #3622 --- qutebrowser/browser/qutescheme.py | 2 -- qutebrowser/config/websettings.py | 7 ++++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/qutebrowser/browser/qutescheme.py b/qutebrowser/browser/qutescheme.py index e53907798..8866f1643 100644 --- a/qutebrowser/browser/qutescheme.py +++ b/qutebrowser/browser/qutescheme.py @@ -263,8 +263,6 @@ def qute_history(url): return 'text/html', json.dumps(history_data(start_time, offset)) else: - if not config.val.content.javascript.enabled: - return 'text/plain', b'JavaScript is required for qute://history' return 'text/html', jinja.render( 'history.html', title='History', diff --git a/qutebrowser/config/websettings.py b/qutebrowser/config/websettings.py index 517c3dd3c..c069f7d56 100644 --- a/qutebrowser/config/websettings.py +++ b/qutebrowser/config/websettings.py @@ -22,7 +22,7 @@ from PyQt5.QtGui import QFont from qutebrowser.config import config, configutils -from qutebrowser.utils import log, usertypes +from qutebrowser.utils import log, usertypes, urlmatch from qutebrowser.misc import objects UNSET = object() @@ -172,6 +172,11 @@ def init(args): from qutebrowser.browser.webkit import webkitsettings webkitsettings.init(args) + # Make sure special URLs always get JS support + for pattern in ['file://*', 'chrome://*/*', 'qute://*/*']: + config.instance.set_obj('content.javascript.enabled', True, + pattern=urlmatch.UrlPattern(pattern)) + def shutdown(): """Shut down QWeb(Engine)Settings."""