summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.asciidoc2
-rw-r--r--doc/changelog.asciidoc20
-rw-r--r--doc/faq.asciidoc112
-rw-r--r--doc/help/settings.asciidoc3
-rw-r--r--misc/requirements/requirements-codecov.txt4
-rw-r--r--misc/requirements/requirements-dev.txt4
-rw-r--r--misc/requirements/requirements-mypy.txt2
-rw-r--r--misc/requirements/requirements-pip.txt2
-rw-r--r--misc/requirements/requirements-pylint.txt4
-rw-r--r--misc/requirements/requirements-pyqt-5.11.txt2
-rw-r--r--misc/requirements/requirements-pyqt-5.12.txt2
-rw-r--r--misc/requirements/requirements-pyqt-5.13.txt6
-rw-r--r--misc/requirements/requirements-pyqt-5.13.txt-raw4
-rw-r--r--misc/requirements/requirements-pyqt.txt6
-rw-r--r--misc/requirements/requirements-pyqt.txt-raw3
-rw-r--r--misc/requirements/requirements-sphinx.txt6
-rw-r--r--misc/requirements/requirements-tests.txt14
-rw-r--r--misc/requirements/requirements-tox.txt6
-rw-r--r--misc/requirements/requirements-vulture.txt2
-rwxr-xr-xmisc/userscripts/readability-js3
-rw-r--r--qutebrowser/config/configdata.yml6
-rw-r--r--qutebrowser/misc/sql.py2
-rw-r--r--qutebrowser/utils/version.py1
-rw-r--r--tests/unit/utils/test_version.py7
24 files changed, 109 insertions, 114 deletions
diff --git a/README.asciidoc b/README.asciidoc
index 2a876a654..71da0db43 100644
--- a/README.asciidoc
+++ b/README.asciidoc
@@ -196,7 +196,7 @@ Active
https://vimium.github.io/[Vimium],
https://github.com/brookhong/Surfingkeys[Surfingkeys]
* Firefox addons (based on WebExtensions):
- https://github.com/cmcaine/tridactyl[Tridactyl],
+ https://github.com/tridactyl/tridactyl[Tridactyl],
https://addons.mozilla.org/en-GB/firefox/addon/vimium-ff/[Vimium-FF] (experimental),
https://github.com/brookhong/Surfingkeys[Surfingkeys],
https://github.com/ueokande/vim-vixen[Vim Vixen],
diff --git a/doc/changelog.asciidoc b/doc/changelog.asciidoc
index 52234ac0c..ef908ab4b 100644
--- a/doc/changelog.asciidoc
+++ b/doc/changelog.asciidoc
@@ -27,6 +27,9 @@ Added
Changed
~~~~~~~
+- The Windows/macOS releases now ship with Qt 5.13.0 and QtWebEngine 5.13.1.
+ QtWebEngine 5.13.1 is based on Chromium 73.0.3683.105 with security fixes up
+ to Chromium 76.0.3809.87.
- The statusbar text for passthrough mode now shows all configured bindings to
leave the mode, not only one.
- When `:config-source` is used with a relative filename, the file is now
@@ -38,7 +41,7 @@ Changed
- Changes to userscripts:
* qute-pass: Don't run `pass` if only a username is requested.
* qute-pass: Support private domains like `myrouter.local`.
- * readability: Improved CSS styling
+ * readability: Improved CSS styling.
- Performance improvements in various areas:
* Loading config files
* Typing without any completion matches
@@ -48,6 +51,10 @@ Changed
- Hosts are now additionally looked up including their ports in netrc files.
- With Qt 5.10 or newer, qutebrowser now doesn't force software rendering with
Nouveau drivers anymore. However, QtWebEngine/Chromium still do so.
+- The XSS Auditor is now disabled by default (`content.xss_auditing` =
+ `false`). This reflects a similar change in Chromium, see
+ their https://www.chromium.org/developers/design-documents/xss-auditor[XSS
+ Auditor Design Document] for details.
Fixed
~~~~~
@@ -71,6 +78,9 @@ Fixed
number hints on French keyboards.
- With rapid hinting in number mode, backspace now edits the filter text after
following a hint.
+- A certain type of error ("locking protocol") while initializing sqlite now
+ isn't handled as crash anymore.
+- Crash when showing a permission request in certain scenarios.
Removed
~~~~~~~
@@ -79,14 +89,6 @@ Removed
and 3.5.1 was dropped.
-v1.7.1 (unreleased)
--------------------
-
-Fixed
-~~~~~
-
-- Crash when showing a permission request in certain scenarios.
-
v1.7.0 (2019-07-18)
-------------------
diff --git a/doc/faq.asciidoc b/doc/faq.asciidoc
index 9d4c928df..98331bedf 100644
--- a/doc/faq.asciidoc
+++ b/doc/faq.asciidoc
@@ -43,32 +43,31 @@ Google's https://www.chromium.org/Home[Chromium]. With an up-to-date Qt, it has
much more man-power behind it than WebKitGTK+ has, and thus supports more modern
web features - it's also arguably more secure.
-What's wrong with https://www.mozilla.org/en-US/firefox/new/[Firefox] and link:http://bug.5digits.org/pentadactyl/[Pentadactyl]/link:http://www.vimperator.org/vimperator[Vimperator]?::
- Firefox likes to break compatibility with addons on each upgrade, gets
- slower and more bloated with every upgrade, and has some
- https://blog.mozilla.org/advancingcontent/2014/02/11/publisher-transformation-with-users-at-the-center/[horrible
- ideas] lately.
-+
-Also, developing addons for it is a nightmare.
-
-What's wrong with https://www.chromium.org/Home[Chromium] and https://vimium.github.io/[Vimium]?::
- The Chrome plugin API doesn't seem to allow much freedom for plugin
- writers, which results in Vimium not really having all the features you'd
- expect from a proper minimal, vim-like browser.
+What's the difference to Firefox/Chromium addons like https://github.com/tridactyl/tridactyl[Tridactyl] or https://vimium.github.io/[Vimium]?::
+ The WebExtensions API doesn't seem to allow much freedom for plugin
+ writers, which results in Vimium/Tridactyl not really having all the
+ features you'd expect from a proper minimal, vim-like browser. Due to the
+ same reason, those addons are quite inconsistent - on some pages, they
+ can't run and intercept keyboard inputs correctly. Tridactyl gets around
+ those limitations with various measures (such as a native messenger written
+ in Python doing some work which can't be done from the addon directly), but
+ there's only so much that can be done.
Why Python?::
I enjoy writing Python since 2011, which made it one of the possible
choices. I wanted to use https://www.qt.io/[Qt] because of
https://wiki.qt.io/QtWebKit[QtWebKit] so I didn't have
- https://wiki.qt.io/Category:LanguageBindings[many other choices]. I don't
- like C++ and can't write it very well, so that wasn't an alternative.
+ https://wiki.qt.io/Category:LanguageBindings[many other choices]. At that
+ point, I wasn't comfortable with C++ so that wasn't an alternative.
But isn't Python too slow for a browser?::
- https://www.infoworld.com/d/application-development/van-rossum-python-not-too-slow-188715[No.]
- I believe efficiency while coding is a lot more important than efficiency
- while running. Also, most of the heavy lifting of qutebrowser is done by Qt
- and WebKit in C++, with the
+ https://www.infoworld.com/d/application-development/van-rossum-python-not-too-slow-188715[It's generally less of a problem than one would expect.]
+ Most of the heavy lifting of qutebrowser is done by Qt and
+ QtWebKit/QtWebEngine in C++, with the
https://wiki.python.org/moin/GlobalInterpreterLock[GIL] released.
++
+It can be problematic in some areas, but various performance optimizations have
+been carried out to problematic portions of the code.
Is qutebrowser secure?::
Most security issues are in the backend (which handles networking,
@@ -90,8 +89,8 @@ https://github.com/annulen/webkit/releases[in a while]. It also doesn't have any
process isolation or sandboxing. See
https://github.com/qutebrowser/qutebrowser/issues/4039[#4039] for more details.
+
-Security issues in qutebrowser's code happen very rarely (as per July 2018,
-there have been three security issues caused by qutebrowser in over 4.5 years).
+Security issues in qutebrowser's code happen very rarely (as per September 2019,
+there have been three security issues caused by qutebrowser in almost 6 years).
Those were handled appropriately
(http://seclists.org/oss-sec/2018/q3/29[example]) and fixed timely. To report
security bugs, please contact me directly at mail@qutebrowser.org, GPG ID
@@ -124,10 +123,13 @@ How do I play Youtube videos with mpv?::
player - optionally even with hinting for links:
+
----
-:bind m spawn mpv {url}
-:bind M hint links spawn mpv {hint-url}
+:bind ,m spawn mpv {url}
+:bind ,M hint links spawn mpv {hint-url}
----
+
+The comma prefix is used to make sure user-defined bindings don't conflict with
+the built-in ones.
++
Note that you might need an additional package (e.g.
https://www.archlinux.org/packages/community/any/youtube-dl/[youtube-dl] on
Archlinux) to play web videos with mpv.
@@ -141,8 +143,8 @@ You can find the script here: https://github.com/mpv-player/mpv/blob/master/TOOL
It also works nicely with rapid hints:
+
----
-:bind m spawn umpv {url}
-:bind M hint links spawn umpv {hint-url}
+:bind ,m spawn umpv {url}
+:bind ,M hint links spawn umpv {hint-url}
:bind ;M hint --rapid links spawn umpv {hint-url}
----
@@ -267,59 +269,37 @@ How do I change the `WM_CLASS` used by qutebrowser windows?::
== Troubleshooting
-Unable to view flash content.::
- If you have flash installed for on your system, it's necessary to enable plugins
+Unable to view Flash content.::
+ If you have Flash installed for on your system, it's necessary to enable plugins
to use the flash plugin. Using the command `:set content.plugins true`
- in qutebrowser will enable plugins. Packages for flash should
+ in qutebrowser will enable plugins. Packages for Flash should
be provided for your platform or it can be obtained from
- https://get.adobe.com/flashplayer/[Adobe].
-
-Experiencing freezing on sites like duckduckgo and youtube.::
- This issue could be caused by stale plugin files installed by `mozplugger`
- if mozplugger was subsequently removed.
- Try exiting qutebrowser and removing `~/.mozilla/plugins/mozplugger*.so`.
- See https://github.com/qutebrowser/qutebrowser/issues/357[Issue #357]
- for more details.
-
-When using QtWebEngine, qutebrowser reports "Render Process Crashed" and the console prints a traceback on Gentoo Linux or another Source-Based Distro::
- As stated in https://gcc.gnu.org/gcc-6/changes.html[GCC's Website] GCC 6 has introduced some optimizations that could break non-conforming codebases, like QtWebEngine. +
- As a workaround, you can disable the nullpointer check optimization by adding the -fno-delete-null-pointer-checks flag while compiling. +
- On gentoo, you just need to add it into your make.conf, like this: +
-
- CFLAGS="... -fno-delete-null-pointer-checks"
- CXXFLAGS="... -fno-delete-null-pointer-checks"
-+
-And then re-emerging qtwebengine with: +
-
- emerge -1 qtwebengine
+ https://get.adobe.com/flashplayer/[Adobe]. Note that QtWebEngine needs
+ PPAPI Flash, while QtWebKit needs NPAPI Flash.
Unable to view DRM content (Netflix, Spotify, etc.).::
- You will need to install `widevine` and set `qt.args` to point to it.
- Qt 5.9 currently only supports widevine up to Chrome version 61.
-+
-On Arch, simply install `chromium-widevine` from the AUR.
-+
-For other distributions, download the chromium tarball and widevine-cdm zip from
-https://aur.archlinux.org/packages/chromium-widevine/[the AUR page],
-extract `libwidevinecdmadapter.so` and `libwidevinecdm.so` files, respectively,
-and move them to the `ppapi` plugin directory in your Qt library directory (create it if it does not exist).
+ On Arch Linux, simply install `chromium-widevine` from the AUR.
+
-Lastly, set your `qt.args` to point to that directory and restart qutebrowser:
-+
-----
-:set qt.args '["ppapi-widevine-path=/usr/lib64/qt5/plugins/ppapi/libwidevinecdmadapter.so"]'
-:restart
-----
+For other distributions, it should be possible to obtain the needed
+widevine files and store them in the correct places, but the details differ
+wildly between various Qt versions.
Unable to use `spawn` on MacOS.::
-When running qutebrowser from the prebuilt binary (`qutebrowser.app`) it *will
-not* read any files that would alter your `$PATH` (e.g. `.profile`, `.bashrc`,
-etc). This is not a bug, just that `.profile` is not propagated to GUI
-applications in MacOS.
+ When running qutebrowser from the prebuilt binary (`qutebrowser.app`) it
+ *will not* read any files that would alter your `$PATH` (e.g. `.profile`,
+ `.bashrc`, etc). This is not a bug, just that `.profile` is not propagated
+ to GUI applications in MacOS.
+
See https://github.com/qutebrowser/qutebrowser/issues/4273[Issue #4273] for
details and potential workarounds.
+QtWebKit: Experiencing freezing on sites like DuckDuckGo and YouTube.::
+ This issue could be caused by stale plugin files installed by `mozplugger`
+ if mozplugger was subsequently removed.
+ Try exiting qutebrowser and removing `~/.mozilla/plugins/mozplugger*.so`.
+ See https://github.com/qutebrowser/qutebrowser/issues/357[Issue #357]
+ for more details.
+
My issue is not listed.::
If you experience any segfaults or crashes, you can report the issue in
https://github.com/qutebrowser/qutebrowser/issues[the issue tracker] or
diff --git a/doc/help/settings.asciidoc b/doc/help/settings.asciidoc
index 378aba5ec..fe86b577b 100644
--- a/doc/help/settings.asciidoc
+++ b/doc/help/settings.asciidoc
@@ -2249,12 +2249,13 @@ Default: +pass:[false]+
=== content.xss_auditing
Monitor load requests for cross-site scripting attempts.
Suspicious scripts will be blocked and reported in the inspector's JavaScript console.
+Note that bypasses for the XSS auditor are widely known and it can be abused for cross-site info leaks in some scenarios, see: https://www.chromium.org/developers/design-documents/xss-auditor
This setting supports URL patterns.
Type: <<types,Bool>>
-Default: +pass:[true]+
+Default: +pass:[false]+
[[downloads.location.directory]]
=== downloads.location.directory
diff --git a/misc/requirements/requirements-codecov.txt b/misc/requirements/requirements-codecov.txt
index 7931351b2..2b891e0ab 100644
--- a/misc/requirements/requirements-codecov.txt
+++ b/misc/requirements/requirements-codecov.txt
@@ -1,9 +1,9 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
-certifi==2019.6.16
+certifi==2019.9.11
chardet==3.0.4
codecov==2.0.15
coverage==4.5.4
idna==2.8
requests==2.22.0
-urllib3==1.25.3
+urllib3==1.25.5
diff --git a/misc/requirements/requirements-dev.txt b/misc/requirements/requirements-dev.txt
index 6566d949f..e417be46c 100644
--- a/misc/requirements/requirements-dev.txt
+++ b/misc/requirements/requirements-dev.txt
@@ -2,7 +2,7 @@
asn1crypto==0.24.0
bump2version==0.5.11
-certifi==2019.6.16
+certifi==2019.9.11
cffi==1.12.3
chardet==3.0.4
colorama==0.4.1
@@ -20,4 +20,4 @@ python-dateutil==2.8.0
requests==2.22.0
six==1.12.0
uritemplate==3.0.0
-urllib3==1.25.3
+urllib3==1.25.5
diff --git a/misc/requirements/requirements-mypy.txt b/misc/requirements/requirements-mypy.txt
index 4d68606dc..cdea36d1d 100644
--- a/misc/requirements/requirements-mypy.txt
+++ b/misc/requirements/requirements-mypy.txt
@@ -3,7 +3,7 @@
mypy==0.720
mypy-extensions==0.4.1
# PyQt5==5.11.3
-# PyQt5-sip==4.19.18
+# PyQt5-sip==4.19.19
-e git+https://github.com/qutebrowser/PyQt5-stubs.git@wip#egg=PyQt5_stubs
typed-ast==1.4.0
typing-extensions==3.7.4
diff --git a/misc/requirements/requirements-pip.txt b/misc/requirements/requirements-pip.txt
index ebbeb9e1d..9be637f4f 100644
--- a/misc/requirements/requirements-pip.txt
+++ b/misc/requirements/requirements-pip.txt
@@ -1,7 +1,7 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
appdirs==1.4.3
-packaging==19.1
+packaging==19.2
pyparsing==2.4.2
setuptools==41.2.0
six==1.12.0
diff --git a/misc/requirements/requirements-pylint.txt b/misc/requirements/requirements-pylint.txt
index 321c3c415..2005756a3 100644
--- a/misc/requirements/requirements-pylint.txt
+++ b/misc/requirements/requirements-pylint.txt
@@ -2,7 +2,7 @@
asn1crypto==0.24.0
astroid==2.2.5
-certifi==2019.6.16
+certifi==2019.9.11
cffi==1.12.3
chardet==3.0.4
cryptography==2.7
@@ -20,5 +20,5 @@ requests==2.22.0
six==1.12.0
typed-ast==1.4.0
uritemplate==3.0.0
-urllib3==1.25.3
+urllib3==1.25.5
wrapt==1.11.2
diff --git a/misc/requirements/requirements-pyqt-5.11.txt b/misc/requirements/requirements-pyqt-5.11.txt
index 4124de41f..f4be2fd88 100644
--- a/misc/requirements/requirements-pyqt-5.11.txt
+++ b/misc/requirements/requirements-pyqt-5.11.txt
@@ -1,4 +1,4 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
PyQt5==5.11.3 # rq.filter: < 5.12
-PyQt5-sip==4.19.18
+PyQt5-sip==4.19.19
diff --git a/misc/requirements/requirements-pyqt-5.12.txt b/misc/requirements/requirements-pyqt-5.12.txt
index bdb8ffbf3..dec26ca96 100644
--- a/misc/requirements/requirements-pyqt-5.12.txt
+++ b/misc/requirements/requirements-pyqt-5.12.txt
@@ -1,5 +1,5 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
PyQt5==5.12.3 # rq.filter: < 5.13
-PyQt5-sip==4.19.18
+PyQt5-sip==4.19.19
PyQtWebEngine==5.12.1 # rq.filter: < 5.13
diff --git a/misc/requirements/requirements-pyqt-5.13.txt b/misc/requirements/requirements-pyqt-5.13.txt
index 5a23d8f1f..3d2fe90a8 100644
--- a/misc/requirements/requirements-pyqt-5.13.txt
+++ b/misc/requirements/requirements-pyqt-5.13.txt
@@ -1,5 +1,5 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
-PyQt5==5.13.0 # rq.filter: < 5.14
-PyQt5-sip==4.19.18
-PyQtWebEngine==5.13.0 # rq.filter: < 5.14
+PyQt5==5.13.0 # rq.filter: < 5.14, != 5.13.1
+PyQt5-sip==4.19.19
+PyQtWebEngine==5.13.1 # rq.filter: < 5.14
diff --git a/misc/requirements/requirements-pyqt-5.13.txt-raw b/misc/requirements/requirements-pyqt-5.13.txt-raw
index e60db7edb..7aed4a6c7 100644
--- a/misc/requirements/requirements-pyqt-5.13.txt-raw
+++ b/misc/requirements/requirements-pyqt-5.13.txt-raw
@@ -1,4 +1,4 @@
-#@ filter: PyQt5 < 5.14
+#@ filter: PyQt5 < 5.14, != 5.13.1
#@ filter: PyQtWebEngine < 5.14
-PyQt5 >= 5.13, < 5.14
+PyQt5 >= 5.13, < 5.14, != 5.13.1
PyQtWebEngine >= 5.13, < 5.14
diff --git a/misc/requirements/requirements-pyqt.txt b/misc/requirements/requirements-pyqt.txt
index 0e8bcd476..fb5e06925 100644
--- a/misc/requirements/requirements-pyqt.txt
+++ b/misc/requirements/requirements-pyqt.txt
@@ -1,5 +1,5 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
-PyQt5==5.13.0
-PyQt5-sip==4.19.18
-PyQtWebEngine==5.13.0
+PyQt5==5.13.0 # rq.filter: != 5.13.1
+PyQt5-sip==4.19.19
+PyQtWebEngine==5.13.1
diff --git a/misc/requirements/requirements-pyqt.txt-raw b/misc/requirements/requirements-pyqt.txt-raw
index 9c6afbf16..70f9f2e75 100644
--- a/misc/requirements/requirements-pyqt.txt-raw
+++ b/misc/requirements/requirements-pyqt.txt-raw
@@ -1,2 +1,3 @@
-PyQt5
+#@ filter: PyQt5 != 5.13.1
+PyQt5 != 5.13.1
PyQtWebEngine
diff --git a/misc/requirements/requirements-sphinx.txt b/misc/requirements/requirements-sphinx.txt
index dfd650d0d..8dc71c3b6 100644
--- a/misc/requirements/requirements-sphinx.txt
+++ b/misc/requirements/requirements-sphinx.txt
@@ -3,14 +3,14 @@
alabaster==0.7.12
attrs==19.1.0
Babel==2.7.0
-certifi==2019.6.16
+certifi==2019.9.11
chardet==3.0.4
docutils==0.15.2
idna==2.8
imagesize==1.1.0
Jinja2==2.10.1
MarkupSafe==1.1.1
-packaging==19.1
+packaging==19.2
Pygments==2.4.2
pyparsing==2.4.2
pytz==2019.2
@@ -24,4 +24,4 @@ sphinxcontrib-htmlhelp==1.0.2
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.2
sphinxcontrib-serializinghtml==1.1.3
-urllib3==1.25.3
+urllib3==1.25.5
diff --git a/misc/requirements/requirements-tests.txt b/misc/requirements/requirements-tests.txt
index 893bfa26e..c7aba7a8c 100644
--- a/misc/requirements/requirements-tests.txt
+++ b/misc/requirements/requirements-tests.txt
@@ -12,22 +12,22 @@ EasyProcess==0.2.7
Flask==1.1.1
glob2==0.7
hunter==3.0.1
-hypothesis==4.35.0
-importlib-metadata==0.20
+hypothesis==4.36.2
+importlib-metadata==0.23
itsdangerous==1.1.0
# Jinja2==2.10.1
Mako==1.1.0
manhole==1.6.0
# MarkupSafe==1.1.1
more-itertools==7.2.0
-packaging==19.1
+packaging==19.2
parse==1.12.1
parse-type==0.5.2
-pluggy==0.12.0
+pluggy==0.13.0
py==1.8.0
py-cpuinfo==5.0.0
pyparsing==2.4.2
-pytest==5.1.2
+pytest==5.1.3
pytest-bdd==3.2.1
pytest-benchmark==3.2.2
pytest-cov==2.7.1
@@ -41,7 +41,7 @@ pytest-xvfb==1.2.0
PyVirtualDisplay==0.2.4
six==1.12.0
soupsieve==1.9.3
-vulture==1.0
+vulture==1.1
wcwidth==0.1.7
-Werkzeug==0.15.6
+Werkzeug==0.16.0
zipp==0.6.0
diff --git a/misc/requirements/requirements-tox.txt b/misc/requirements/requirements-tox.txt
index dd21aca6e..96cf1d2a3 100644
--- a/misc/requirements/requirements-tox.txt
+++ b/misc/requirements/requirements-tox.txt
@@ -2,10 +2,10 @@
attrs==19.1.0
filelock==3.0.12
-importlib-metadata==0.20
+importlib-metadata==0.23
more-itertools==7.2.0
-packaging==19.1
-pluggy==0.12.0
+packaging==19.2
+pluggy==0.13.0
py==1.8.0
pyparsing==2.4.2
six==1.12.0
diff --git a/misc/requirements/requirements-vulture.txt b/misc/requirements/requirements-vulture.txt
index 74ce34551..d85dea6c2 100644
--- a/misc/requirements/requirements-vulture.txt
+++ b/misc/requirements/requirements-vulture.txt
@@ -1,3 +1,3 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
-vulture==1.0
+vulture==1.1
diff --git a/misc/userscripts/readability-js b/misc/userscripts/readability-js
index 7f0349181..0c33453ad 100755
--- a/misc/userscripts/readability-js
+++ b/misc/userscripts/readability-js
@@ -7,7 +7,8 @@
//
// # Prerequisites
//
-// - NODE_PATH might be required to point to your global node libraries (e.g. /usr/lib/node_modules)
+// - NODE_PATH might be required to point to your global node libraries:
+// export NODE_PATH=$NODE_PATH:$(npm root -g)
// - Mozilla's readability library (npm install -g https://github.com/mozilla/readability.git)
// NOTE: You might have to *login* as root for a system-wide installation to work (e.g. sudo -s)
// - jsdom (npm install -g jsdom)
diff --git a/qutebrowser/config/configdata.yml b/qutebrowser/config/configdata.yml
index 65bc168ad..f48cac189 100644
--- a/qutebrowser/config/configdata.yml
+++ b/qutebrowser/config/configdata.yml
@@ -780,7 +780,7 @@ content.webrtc_ip_handling_policy:
content.xss_auditing:
type: Bool
- default: true
+ default: false
supports_pattern: true
desc: >-
Monitor load requests for cross-site scripting attempts.
@@ -788,6 +788,10 @@ content.xss_auditing:
Suspicious scripts will be blocked and reported in the inspector's
JavaScript console.
+ Note that bypasses for the XSS auditor are widely known and it can be
+ abused for cross-site info leaks in some scenarios, see:
+ https://www.chromium.org/developers/design-documents/xss-auditor
+
content.mute:
default: false
type: Bool
diff --git a/qutebrowser/misc/sql.py b/qutebrowser/misc/sql.py
index c9b260502..da509fa8c 100644
--- a/qutebrowser/misc/sql.py
+++ b/qutebrowser/misc/sql.py
@@ -43,6 +43,7 @@ class SqliteErrorCode:
CORRUPT = '11' # database disk image is malformed
FULL = '13' # database or disk is full
CANTOPEN = '14' # unable to open database file
+ PROTOCOL = '15' # locking protocol error
CONSTRAINT = '19' # UNIQUE constraint failed
@@ -102,6 +103,7 @@ def raise_sqlite_error(msg, error):
SqliteErrorCode.CORRUPT,
SqliteErrorCode.FULL,
SqliteErrorCode.CANTOPEN,
+ SqliteErrorCode.PROTOCOL,
]
# WORKAROUND for https://bugreports.qt.io/browse/QTBUG-70506
diff --git a/qutebrowser/utils/version.py b/qutebrowser/utils/version.py
index bee3934e6..3d784dd91 100644
--- a/qutebrowser/utils/version.py
+++ b/qutebrowser/utils/version.py
@@ -217,6 +217,7 @@ def _module_versions():
('cssutils', ['__version__']),
('attr', ['__version__']),
('PyQt5.QtWebEngineWidgets', []),
+ ('PyQt5.QtWebEngine', ['PYQT_WEBENGINE_VERSION_STR']),
('PyQt5.QtWebKitWidgets', []),
])
for modname, attributes in modules.items():
diff --git a/tests/unit/utils/test_version.py b/tests/unit/utils/test_version.py
index d3fec166d..89dcc4bf8 100644
--- a/tests/unit/utils/test_version.py
+++ b/tests/unit/utils/test_version.py
@@ -539,10 +539,13 @@ class ImportFake:
('cssutils', True),
('attr', True),
('PyQt5.QtWebEngineWidgets', True),
+ ('PyQt5.QtWebEngine', True),
('PyQt5.QtWebKitWidgets', True),
])
- self.no_version_attribute = ['sip', 'PyQt5.QtWebEngineWidgets',
- 'PyQt5.QtWebKitWidgets']
+ self.no_version_attribute = ['sip',
+ 'PyQt5.QtWebEngineWidgets',
+ 'PyQt5.QtWebKitWidgets',
+ 'PyQt5.QtWebEngine']
self.version_attribute = '__version__'
self.version = '1.2.3'
self._real_import = builtins.__import__