diff options
author | Florian Bruhin <me@the-compiler.org> | 2023-12-04 14:59:08 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2023-12-04 14:59:08 +0100 |
commit | 21869d149a361c9fe05dff90593ba18b6e42408a (patch) | |
tree | 2865cb70e27edb0c4415bf6e8b145df328cbf09f | |
parent | c1a1a1377591874ade015bc0ed1318e79e465c36 (diff) | |
download | qutebrowser-21869d149a361c9fe05dff90593ba18b6e42408a.tar.gz qutebrowser-21869d149a361c9fe05dff90593ba18b6e42408a.zip |
Support QWebEngineSettings.WebAttribute.ReadingFromCanvasEnabled
See #7646
-rw-r--r-- | doc/changelog.asciidoc | 2 | ||||
-rw-r--r-- | doc/help/settings.asciidoc | 3 | ||||
-rw-r--r-- | qutebrowser/browser/webengine/webenginesettings.py | 6 | ||||
-rw-r--r-- | qutebrowser/config/configdata.yml | 5 | ||||
-rw-r--r-- | qutebrowser/config/qtargs.py | 1 |
5 files changed, 15 insertions, 2 deletions
diff --git a/doc/changelog.asciidoc b/doc/changelog.asciidoc index f18a28814..57570776b 100644 --- a/doc/changelog.asciidoc +++ b/doc/changelog.asciidoc @@ -41,6 +41,8 @@ Changed - The `colors.webpage.darkmode.threshold.text` setting got renamed to `colors.webpage.darkmode.threshold.foreground`, following a rename in Chromium. +- With Qt 6.6, the `content.canvas_reading` setting now works without a restart + and supports URL patterns. Fixed ~~~~~ diff --git a/doc/help/settings.asciidoc b/doc/help/settings.asciidoc index 95f844b15..b6f61ab03 100644 --- a/doc/help/settings.asciidoc +++ b/doc/help/settings.asciidoc @@ -2085,8 +2085,9 @@ Default: empty === content.canvas_reading Allow websites to read canvas elements. Note this is needed for some websites to work properly. +On QtWebEngine < 6.6, this setting requires a restart and does not support URL patterns, only the global setting is applied. -This setting requires a restart. +This setting supports link:configuring{outfilesuffix}#patterns[URL patterns]. This setting is only available with the QtWebEngine backend. diff --git a/qutebrowser/browser/webengine/webenginesettings.py b/qutebrowser/browser/webengine/webenginesettings.py index 1275edf0b..808e75c30 100644 --- a/qutebrowser/browser/webengine/webenginesettings.py +++ b/qutebrowser/browser/webengine/webenginesettings.py @@ -148,6 +148,12 @@ class WebEngineSettings(websettings.AbstractSettings): Attr(QWebEngineSettings.WebAttribute.AutoLoadIconsForPage, converter=lambda val: val != 'never'), } + try: + _ATTRIBUTES['content.canvas_reading'] = Attr( + QWebEngineSettings.WebAttribute.ReadingFromCanvasEnabled) + except AttributeError: + # Added in QtWebEngine 6.6 + pass _FONT_SIZES = { 'fonts.web.size.minimum': diff --git a/qutebrowser/config/configdata.yml b/qutebrowser/config/configdata.yml index d7871c121..cddac7353 100644 --- a/qutebrowser/config/configdata.yml +++ b/qutebrowser/config/configdata.yml @@ -454,12 +454,15 @@ content.canvas_reading: default: true type: Bool backend: QtWebEngine - restart: true + supports_pattern: true desc: >- Allow websites to read canvas elements. Note this is needed for some websites to work properly. + On QtWebEngine < 6.6, this setting requires a restart and does not support + URL patterns, only the global setting is applied. + # Defaults from QWebSettings::QWebSettings() in # qtwebkit/Source/WebKit/qt/Api/qwebsettings.cpp diff --git a/qutebrowser/config/qtargs.py b/qutebrowser/config/qtargs.py index 85f066ccb..4358a0ece 100644 --- a/qutebrowser/config/qtargs.py +++ b/qutebrowser/config/qtargs.py @@ -294,6 +294,7 @@ _WEBENGINE_SETTINGS: Dict[str, Dict[Any, Optional[_SettingValueType]]] = { }, 'content.canvas_reading': { True: None, + # might be overridden in webenginesettings.py False: '--disable-reading-from-canvas', }, 'content.webrtc_ip_handling_policy': { |