summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorÁrni Dagur <arni@dagur.eu>2020-12-19 20:29:38 +0000
committerÁrni Dagur <arni@dagur.eu>2020-12-19 20:29:38 +0000
commit4c5e3d9ea084024f0b88a43963aeb45ce37bfd40 (patch)
tree7ac785e913c775a5b43f43502db86ed95836c188 /misc
parent918d4c5e19a27bad3a1c132d3ce2f3b304ee4365 (diff)
parent8303a99ddb3f2dc6465fa324a181081cdd7787c0 (diff)
downloadqutebrowser-4c5e3d9ea084024f0b88a43963aeb45ce37bfd40.tar.gz
qutebrowser-4c5e3d9ea084024f0b88a43963aeb45ce37bfd40.zip
Merge branch 'master' into more-sophisticated-adblock
Diffstat (limited to 'misc')
-rw-r--r--misc/apparmor/usr.bin.qutebrowser90
-rw-r--r--misc/org.qutebrowser.qutebrowser.appdata.xml1
-rw-r--r--misc/requirements/requirements-check-manifest.txt4
-rw-r--r--misc/requirements/requirements-dev.txt14
-rw-r--r--misc/requirements/requirements-flake8.txt4
-rw-r--r--misc/requirements/requirements-mypy.txt10
-rw-r--r--misc/requirements/requirements-mypy.txt-raw3
-rw-r--r--misc/requirements/requirements-pyinstaller.txt2
-rw-r--r--misc/requirements/requirements-pylint.txt6
-rw-r--r--misc/requirements/requirements-pyqt.txt2
-rw-r--r--misc/requirements/requirements-pyqt.txt-raw2
-rw-r--r--misc/requirements/requirements-pyroma.txt2
-rw-r--r--misc/requirements/requirements-sphinx.txt4
-rw-r--r--misc/requirements/requirements-tests.txt33
-rw-r--r--misc/requirements/requirements-tests.txt-raw12
-rw-r--r--misc/requirements/requirements-tox.txt4
-rw-r--r--misc/requirements/requirements-yamllint.txt2
-rw-r--r--misc/userscripts/README.md2
-rwxr-xr-xmisc/userscripts/readability-js46
19 files changed, 159 insertions, 84 deletions
diff --git a/misc/apparmor/usr.bin.qutebrowser b/misc/apparmor/usr.bin.qutebrowser
index b993e0058..3d27be697 100644
--- a/misc/apparmor/usr.bin.qutebrowser
+++ b/misc/apparmor/usr.bin.qutebrowser
@@ -1,41 +1,79 @@
-# AppArmor profile for qutebrowser
-# Tested on Debian jessie
-
#include <tunables/global>
profile qutebrowser /usr/{local/,}bin/qutebrowser {
-
#include <abstractions/base>
+ #include <abstractions/python>
+ #include <abstractions/audio>
+ #include <abstractions/dri-common>
+ #include <abstractions/mesa>
+ #include <abstractions/X>
+ #include <abstractions/wayland>
+ #include <abstractions/qt5>
+ #include <abstractions/fonts>
+
+ #include <abstractions/dbus-session-strict>
#include <abstractions/nameservice>
#include <abstractions/openssl>
#include <abstractions/ssl_certs>
- #include <abstractions/audio>
- #include <abstractions/fonts>
- #include <abstractions/kde>
+
+ #include <abstractions/freedesktop.org>
#include <abstractions/user-download>
- #include <abstractions/X>
+ #include <abstractions/user-tmp>
- capability dac_override,
- /usr/{local/,}bin/ r,
- /usr/{local/,}bin/qutebrowser rix,
- /usr/bin/python3.? r,
+ # not nice but required for chromium sandbox
+ capability sys_admin,
+ capability sys_chroot,
+ capability sys_ptrace,
- /usr/lib/python3/ mr,
- /usr/lib/python3/** mr,
- /usr/lib/python3.?/ r,
- /usr/lib/python3.?/** mr,
- /usr/local/lib/python3.?/** r,
+ /dev/ r,
+ /dev/video* r,
+ /etc/mime.types r,
+ /usr/bin/ r,
+ /usr/bin/ldconfig ix,
+ /usr/bin/uname ix,
+ /usr/bin/qutebrowser rix,
+ /usr/lib/qt/libexec/QtWebEngineProcess mrix,
+ /usr/share/pdf.js/** r,
+ /usr/share/qt/translations/qtwebengine_locales/* r,
+ /usr/share/qt/qtwebengine_dictionaries r,
+ /usr/share/qt/qtwebengine_dictionaries/* r,
+ /usr/share/qt/resources/* r,
- /proc/*/mounts r,
- owner /tmp/** rwkl,
- owner /run/user/*/ rw,
- owner /run/user/*/** krw,
+ owner @{HOME}/ r,
+ owner /dev/shm/.org.chromium* rw,
+ owner @{HOME}/.cache/{qtshadercache,qutebrowser}/** rwlk,
+ owner @{HOME}/.cache/qtshadercache** rwl,
+ owner @{HOME}/.config/qutebrowser/** rwlk,
+ owner @{HOME}/.local/share/.org.chromium.Chromium* rw,
+ owner @{HOME}/.local/share/mime/generic-icons r,
+ owner @{HOME}/.local/share/qutebrowser/ r,
+ owner @{HOME}/.local/share/qutebrowser/** rwkl,
+ owner @{HOME}/.pki/nssdb/* rwk,
+ owner @{HOME}/#[0-9]* rwm,
+ owner /run/user/*/qutebrowser/ rw,
+ owner /run/user/*/qutebrowser/* rw,
+ owner /run/user/*/qutebrowser*slave-socket rwl,
+ owner /run/user/*/#* rw,
- @{HOME}/.config/qutebrowser/** krw,
- @{HOME}/.local/share/qutebrowser/** krw,
- @{HOME}/.cache/qutebrowser/** krw,
- @{HOME}/.gstreamer-0.10/* r,
+ # qt/kde
+ @{PROC} r,
+ @{PROC}/sys/fs/inotify/max_user_watches r,
+ @{PROC}/sys/kernel/random/boot_id r,
+ @{PROC}/sys/kernel/core_pattern r,
+ @{PROC}/sys/kernel/yama/ptrace_scope r,
+ /sys/{class,bus}/ r,
+ /sys/bus/pci/devices/ r,
+ /sys/devices/**/{class,config,device,resource,revision,removable,uevent} r,
+ /sys/devices/**/{vendor,subsystem_device,subsystem_vendor} r,
-}
+ owner @{PROC}/@{pid}/{fd,stat,task,mounts}/ r,
+ owner @{PROC}/@{pid}/stat r,
+ owner @{PROC}/@{pid}/task/@{pid}/status r,
+ owner @{PROC}/@{pid}/{setgroups,gid_map,oom_score_adj,uid_map} rw,
+ owner @{PROC}/@{pid}/{oom_score_adj,uid_map} rw,
+
+ # allow execution of userscripts
+ /usr/share/qutebrowser/userscripts/* Ux,
+}
diff --git a/misc/org.qutebrowser.qutebrowser.appdata.xml b/misc/org.qutebrowser.qutebrowser.appdata.xml
index e246ea4d7..f0885b8ed 100644
--- a/misc/org.qutebrowser.qutebrowser.appdata.xml
+++ b/misc/org.qutebrowser.qutebrowser.appdata.xml
@@ -44,6 +44,7 @@
</content_rating>
<releases>
<!-- Add new releases here -->
+<release version="1.14.0" date="2020-10-15"/>
<release version="1.13.1" date="2020-07-17"/>
<release version="1.13.0" date="2020-06-26"/>
<release version="1.12.0" date="2020-06-01"/>
diff --git a/misc/requirements/requirements-check-manifest.txt b/misc/requirements/requirements-check-manifest.txt
index 4cc00982d..9993cf4dd 100644
--- a/misc/requirements/requirements-check-manifest.txt
+++ b/misc/requirements/requirements-check-manifest.txt
@@ -1,5 +1,5 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
-check-manifest==0.42
-pep517==0.8.2
+check-manifest==0.44
+pep517==0.9.1
toml==0.10.1
diff --git a/misc/requirements/requirements-dev.txt b/misc/requirements/requirements-dev.txt
index 798fecad6..e885b3335 100644
--- a/misc/requirements/requirements-dev.txt
+++ b/misc/requirements/requirements-dev.txt
@@ -1,20 +1,20 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
-bump2version==1.0.0
+bump2version==1.0.1
certifi==2020.6.20
-cffi==1.14.2
+cffi==1.14.3
chardet==3.0.4
-colorama==0.4.3
-cryptography==3.1
+colorama==0.4.4
+cryptography==3.2
cssutils==1.0.2
github3.py==1.3.0
-hunter==3.2.2
+hunter==3.3.1
idna==2.10
jwcrypto==0.8
manhole==1.6.0
packaging==20.4
pycparser==2.20
-Pympler==0.8
+Pympler==0.9
pyparsing==2.4.7
PyQt-builder==1.5.0
python-dateutil==2.8.1
@@ -23,4 +23,4 @@ sip==5.4.0
six==1.15.0
toml==0.10.1
uritemplate==3.0.1
-# urllib3==1.25.10
+# urllib3==1.25.11
diff --git a/misc/requirements/requirements-flake8.txt b/misc/requirements/requirements-flake8.txt
index afd4f0bd6..d020c02a2 100644
--- a/misc/requirements/requirements-flake8.txt
+++ b/misc/requirements/requirements-flake8.txt
@@ -1,10 +1,10 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
attrs==20.2.0
-flake8==3.8.3
+flake8==3.8.4
flake8-bugbear==20.1.4
flake8-builtins==1.5.3
-flake8-comprehensions==3.2.3
+flake8-comprehensions==3.3.0
flake8-copyright==0.2.2
flake8-debugger==3.2.1
flake8-deprecated==1.3
diff --git a/misc/requirements/requirements-mypy.txt b/misc/requirements/requirements-mypy.txt
index 863f48c6f..ff3d430e8 100644
--- a/misc/requirements/requirements-mypy.txt
+++ b/misc/requirements/requirements-mypy.txt
@@ -1,15 +1,15 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
-diff-cover==4.0.0
+diff-cover==4.0.1
inflect==4.1.0
Jinja2==2.11.2
jinja2-pluralize==0.3.0
-lxml==4.5.2
+lxml==4.6.1
MarkupSafe==1.1.1
-mypy==0.782
+mypy==0.790
mypy-extensions==0.4.3
pluggy==0.13.1
-Pygments==2.7.1
--e git+https://github.com/stlehmann/PyQt5-stubs.git@master#egg=PyQt5_stubs
+Pygments==2.7.2
+-e git+https://github.com/stlehmann/PyQt5-stubs.git@811462b34ee151b898289ae8f1de8af30c690c55#egg=PyQt5_stubs
typed-ast==1.4.1
typing-extensions==3.7.4.3
diff --git a/misc/requirements/requirements-mypy.txt-raw b/misc/requirements/requirements-mypy.txt-raw
index d3b0dc4ca..7c888ed1e 100644
--- a/misc/requirements/requirements-mypy.txt-raw
+++ b/misc/requirements/requirements-mypy.txt-raw
@@ -2,6 +2,3 @@ mypy
lxml # For HTML reports
diff-cover
-e git+https://github.com/stlehmann/PyQt5-stubs.git@master#egg=PyQt5-stubs
-
-# remove @commit-id for scm installs
-#@ replace: @.*# @master#
diff --git a/misc/requirements/requirements-pyinstaller.txt b/misc/requirements/requirements-pyinstaller.txt
index 06405d96a..7941d2772 100644
--- a/misc/requirements/requirements-pyinstaller.txt
+++ b/misc/requirements/requirements-pyinstaller.txt
@@ -2,4 +2,4 @@
altgraph==0.17
pyinstaller==4.0
-pyinstaller-hooks-contrib==2020.8
+pyinstaller-hooks-contrib==2020.9
diff --git a/misc/requirements/requirements-pylint.txt b/misc/requirements/requirements-pylint.txt
index 08c1d2c10..75a0e8e0f 100644
--- a/misc/requirements/requirements-pylint.txt
+++ b/misc/requirements/requirements-pylint.txt
@@ -2,9 +2,9 @@
astroid==2.3.3 # rq.filter: < 2.4
certifi==2020.6.20
-cffi==1.14.2
+cffi==1.14.3
chardet==3.0.4
-cryptography==3.1
+cryptography==3.2
github3.py==1.3.0
idna==2.10
isort==4.3.21
@@ -19,5 +19,5 @@ requests==2.24.0
six==1.15.0
typed-ast==1.4.1 ; python_version<"3.8"
uritemplate==3.0.1
-# urllib3==1.25.10
+# urllib3==1.25.11
wrapt==1.11.2
diff --git a/misc/requirements/requirements-pyqt.txt b/misc/requirements/requirements-pyqt.txt
index 88a04230d..148e8d8bb 100644
--- a/misc/requirements/requirements-pyqt.txt
+++ b/misc/requirements/requirements-pyqt.txt
@@ -2,4 +2,4 @@
PyQt5==5.15.1
PyQt5-sip==12.8.1
-PyQtWebEngine==5.15.1
+PyQtWebEngine==5.15.0
diff --git a/misc/requirements/requirements-pyqt.txt-raw b/misc/requirements/requirements-pyqt.txt-raw
index 9c6afbf16..83ebc7671 100644
--- a/misc/requirements/requirements-pyqt.txt-raw
+++ b/misc/requirements/requirements-pyqt.txt-raw
@@ -1,2 +1,2 @@
PyQt5
-PyQtWebEngine
+PyQtWebEngine!=5.15.1
diff --git a/misc/requirements/requirements-pyroma.txt b/misc/requirements/requirements-pyroma.txt
index c6e751e19..1a2dbde7f 100644
--- a/misc/requirements/requirements-pyroma.txt
+++ b/misc/requirements/requirements-pyroma.txt
@@ -1,5 +1,5 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
docutils==0.16
-Pygments==2.7.1
+Pygments==2.7.2
pyroma==2.6
diff --git a/misc/requirements/requirements-sphinx.txt b/misc/requirements/requirements-sphinx.txt
index 7b43a72a1..baeea4d40 100644
--- a/misc/requirements/requirements-sphinx.txt
+++ b/misc/requirements/requirements-sphinx.txt
@@ -10,7 +10,7 @@ imagesize==1.2.0
Jinja2==2.11.2
MarkupSafe==1.1.1
packaging==20.4
-Pygments==2.7.1
+Pygments==2.7.2
pyparsing==2.4.7
pytz==2020.1
requests==2.24.0
@@ -23,4 +23,4 @@ sphinxcontrib-htmlhelp==1.0.3
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.4
-urllib3==1.25.10
+urllib3==1.25.11
diff --git a/misc/requirements/requirements-tests.txt b/misc/requirements/requirements-tests.txt
index 789c176e6..066f4c4db 100644
--- a/misc/requirements/requirements-tests.txt
+++ b/misc/requirements/requirements-tests.txt
@@ -2,23 +2,25 @@
apipkg==1.5
attrs==20.2.0
-beautifulsoup4==4.9.1
+beautifulsoup4==4.9.3
certifi==2020.6.20
chardet==3.0.4
cheroot==8.4.5
click==7.1.2
-# colorama==0.4.3
+# colorama==0.4.4
coverage==5.3
EasyProcess==0.3
execnet==1.7.1
+filelock==3.0.12
Flask==1.1.2
glob2==0.7
-hunter==3.2.2
-hypothesis==5.35.3 ; python_version>="3.6"
+hunter==3.3.1
+hypothesis==5.38.0
+icdiff==1.9.1
idna==2.10
-iniconfig==1.0.1
+iniconfig==1.1.1
itsdangerous==1.1.0
-jaraco.functools==3.0.1 ; python_version>="3.6"
+jaraco.functools==3.0.1
# Jinja2==2.11.2
Mako==1.1.3
manhole==1.6.0
@@ -28,20 +30,23 @@ packaging==20.4
parse==1.18.0
parse-type==0.5.2
pluggy==0.13.1
+pprintpp==0.4.0
py==1.9.0
py-cpuinfo==7.0.0
-Pygments==2.7.1
+Pygments==2.7.2
pyparsing==2.4.7
-pytest==6.0.2
+pytest==6.1.1
pytest-bdd==4.0.1
pytest-benchmark==3.2.3
+pytest-clarity==0.3.0a0
pytest-cov==2.10.1
pytest-forked==1.3.0
+pytest-icdiff==0.5
pytest-instafail==0.4.2
pytest-mock==3.3.1
pytest-qt==3.3.0
pytest-repeat==0.8.0
-pytest-rerunfailures==9.1
+pytest-rerunfailures==9.1.1
pytest-xdist==2.1.0
pytest-xvfb==2.0.0
PyVirtualDisplay==1.3.2
@@ -50,11 +55,9 @@ requests-file==1.5.1
six==1.15.0
sortedcontainers==2.2.2
soupsieve==2.0.1
-tldextract==2.2.3
+termcolor==1.1.0
+tldextract==3.0.2
toml==0.10.1
-urllib3==1.25.10
-vulture==2.1 ; python_version>="3.6"
+urllib3==1.25.11
+vulture==2.1
Werkzeug==1.0.1
-jaraco.functools==2.0; python_version<"3.6"
-vulture==1.6; python_version<"3.6"
-hypothesis<5.34.0; python_version<"3.6"
diff --git a/misc/requirements/requirements-tests.txt-raw b/misc/requirements/requirements-tests.txt-raw
index 73f58461c..fd346d475 100644
--- a/misc/requirements/requirements-tests.txt-raw
+++ b/misc/requirements/requirements-tests.txt-raw
@@ -27,17 +27,11 @@ pytest-xvfb
PyVirtualDisplay
# To run on multiple cores with -n
pytest-xdist
+# For nicer output
+pytest-icdiff
+pytest-clarity
# Needed to test misc/userscripts/qute-lastpass
tldextract
-#@ markers: jaraco.functools python_version>="3.6"
-#@ add: jaraco.functools==2.0; python_version<"3.6"
-
-#@ markers: vulture python_version>="3.6"
-#@ add: vulture==1.6; python_version<"3.6"
-
-#@ markers: hypothesis python_version>="3.6"
-#@ add: hypothesis<5.34.0; python_version<"3.6"
-
#@ ignore: Jinja2, MarkupSafe, colorama
diff --git a/misc/requirements/requirements-tox.txt b/misc/requirements/requirements-tox.txt
index c7f99a2da..a77333637 100644
--- a/misc/requirements/requirements-tox.txt
+++ b/misc/requirements/requirements-tox.txt
@@ -9,7 +9,7 @@ py==1.9.0
pyparsing==2.4.7
six==1.15.0
toml==0.10.1
-tox==3.20.0
+tox==3.20.1
tox-pip-version==0.0.7
tox-venv==0.4.0
-virtualenv==20.0.31
+virtualenv==20.1.0
diff --git a/misc/requirements/requirements-yamllint.txt b/misc/requirements/requirements-yamllint.txt
index 0ea42bf7c..5f80fd5d5 100644
--- a/misc/requirements/requirements-yamllint.txt
+++ b/misc/requirements/requirements-yamllint.txt
@@ -2,4 +2,4 @@
pathspec==0.8.0
PyYAML==5.3.1
-yamllint==1.24.2
+yamllint==1.25.0
diff --git a/misc/userscripts/README.md b/misc/userscripts/README.md
index d2519a672..0e3a5ffc3 100644
--- a/misc/userscripts/README.md
+++ b/misc/userscripts/README.md
@@ -63,6 +63,8 @@ The following userscripts can be found on their own repositories.
snippets on web pages to the clipboard via hints.
- [Qute-Translate](https://github.com/AckslD/Qute-Translate): Translate URLs or
selections via Google Translate.
+- [qute-snippets](https://github.com/Aledosim/qute-snippets): Bind text snippets to a keyword
+ and retrieve they when you want.
[Zotero]: https://www.zotero.org/
[Pocket]: https://getpocket.com/
diff --git a/misc/userscripts/readability-js b/misc/userscripts/readability-js
index 207b29b4a..e189e5ee4 100755
--- a/misc/userscripts/readability-js
+++ b/misc/userscripts/readability-js
@@ -54,6 +54,35 @@ const HEADER = `
figure img {
display: block;
}
+ table,
+ th,
+ td {
+ border: 1px solid currentColor;
+ border-collapse: collapse;
+ padding: 6px;
+ vertical-align: top;
+ }
+ table {
+ margin: 5px;
+ }
+ pre {
+ padding: 16px;
+ overflow: auto;
+ line-height: 1.45;
+ background-color: #dddddd;
+ }
+ code {
+ padding: .2em .4em;
+ margin: 0;
+ background-color: #dddddd;
+ }
+ blockquote {
+ border-inline-start: 2px solid #333333 !important;
+ padding: 0;
+ padding-inline-start: 16px;
+ margin-inline-start: 24px;
+ border-radius: 5px;
+ }
</style>
<!-- This icon is licensed under the Mozilla Public License 2.0 (available at: https://www.mozilla.org/en-US/MPL/2.0/).
The original icon can be found here: https://dxr.mozilla.org/mozilla-central/source/browser/themes/shared/reader/readerMode.svg -->
@@ -68,13 +97,24 @@ const HEADER = `
</head>`;
const scriptsDir = path.join(process.env.QUTE_DATA_DIR, 'userscripts');
const tmpFile = path.join(scriptsDir, '/readability.html');
-const domOpts = {url: process.env.QUTE_URL, contentType: "text/html; charset=utf-8"};
-if (!fs.existsSync(scriptsDir)){
+if (!fs.existsSync(scriptsDir)) {
fs.mkdirSync(scriptsDir);
}
-JSDOM.fromFile(process.env.QUTE_HTML, domOpts).then(dom => {
+let getDOM, domOpts, target;
+// When hinting, use the selected hint instead of the current page
+if (process.env.QUTE_MODE === 'hints') {
+ getDOM = JSDOM.fromURL;
+ target = process.env.QUTE_URL;
+}
+else {
+ getDOM = JSDOM.fromFile;
+ domOpts = {url: process.env.QUTE_URL, contentType: "text/html; charset=utf-8"};
+ target = process.env.QUTE_HTML;
+}
+
+getDOM(target, domOpts).then(dom => {
let reader = new Readability(dom.window.document);
let article = reader.parse();
let content = util.format(HEADER, article.title) + article.content;