parent
e6261ad92e
commit
96149c7e28
|
|
@ -19,6 +19,12 @@ breaking changes (such as renamed commands) can happen in minor releases.
|
|||
v2.3.0 (unreleased)
|
||||
-------------------
|
||||
|
||||
Added
|
||||
~~~~~
|
||||
|
||||
- New `content.prefers_reduced_motion` setting to request websites to reduce
|
||||
non-essential motion/animations.
|
||||
|
||||
Changed
|
||||
~~~~~~~
|
||||
|
||||
|
|
|
|||
|
|
@ -187,6 +187,7 @@
|
|||
|<<content.pdfjs,content.pdfjs>>|Allow pdf.js to view PDF files in the browser.
|
||||
|<<content.persistent_storage,content.persistent_storage>>|Allow websites to request persistent storage quota via `navigator.webkitPersistentStorage.requestQuota`.
|
||||
|<<content.plugins,content.plugins>>|Enable plugins in Web pages.
|
||||
|<<content.prefers_reduced_motion,content.prefers_reduced_motion>>|Request websites to minimize non-essentials animations and motion.
|
||||
|<<content.print_element_backgrounds,content.print_element_backgrounds>>|Draw the background color and images also when the page is printed.
|
||||
|<<content.private_browsing,content.private_browsing>>|Open new windows in private browsing mode which does not record visited pages.
|
||||
|<<content.proxy,content.proxy>>|Proxy to use.
|
||||
|
|
@ -2607,6 +2608,21 @@ Type: <<types,Bool>>
|
|||
|
||||
Default: +pass:[false]+
|
||||
|
||||
[[content.prefers_reduced_motion]]
|
||||
=== content.prefers_reduced_motion
|
||||
Request websites to minimize non-essentials animations and motion.
|
||||
This results in the `prefers-reduced-motion` CSS media query to evaluate to `reduce` (rather than `no-preference`).
|
||||
|
||||
This setting requires a restart.
|
||||
|
||||
On QtWebEngine, this setting requires Qt 5.14 or newer.
|
||||
|
||||
On QtWebKit, this setting is unavailable.
|
||||
|
||||
Type: <<types,Bool>>
|
||||
|
||||
Default: +pass:[false]+
|
||||
|
||||
[[content.print_element_backgrounds]]
|
||||
=== content.print_element_backgrounds
|
||||
Draw the background color and images also when the page is printed.
|
||||
|
|
|
|||
|
|
@ -528,6 +528,19 @@ content.frame_flattening:
|
|||
|
||||
This will flatten all the frames to become one scrollable page.
|
||||
|
||||
content.prefers_reduced_motion:
|
||||
default: false
|
||||
type: Bool
|
||||
backend:
|
||||
QtWebEngine: Qt 5.14
|
||||
QtWebKit: false
|
||||
restart: true
|
||||
desc: >-
|
||||
Request websites to minimize non-essentials animations and motion.
|
||||
|
||||
This results in the `prefers-reduced-motion` CSS media query to evaluate to
|
||||
`reduce` (rather than `no-preference`).
|
||||
|
||||
content.site_specific_quirks:
|
||||
renamed: content.site_specific_quirks.enabled
|
||||
|
||||
|
|
|
|||
|
|
@ -334,7 +334,11 @@ def _qtwebengine_settings_args(versions: version.WebEngineVersions) -> Iterator[
|
|||
},
|
||||
'content.headers.referer': {
|
||||
'always': None,
|
||||
}
|
||||
},
|
||||
'content.prefers_reduced_motion': {
|
||||
True: '--force-prefers-reduced-motion',
|
||||
False: None,
|
||||
},
|
||||
}
|
||||
qt_514_ver = utils.VersionNumber(5, 14)
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,38 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Prefers reduced motion test</title>
|
||||
<style>
|
||||
#reduce-text {
|
||||
display: none;
|
||||
}
|
||||
#no-preference-text {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
#no-preference-text {
|
||||
display: inline;
|
||||
}
|
||||
#missing-support-text {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
#reduce-text {
|
||||
display: inline;
|
||||
}
|
||||
#missing-support-text {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<p id="reduce-text">Reduced motion preference detected.</p>
|
||||
<p id="no-preference-text">No preference detected.</p>
|
||||
<p id="missing-support-text">Preference support missing.</p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -752,6 +752,26 @@ def test_dark_mode_mathml(quteproc_new, request, qtbot):
|
|||
)
|
||||
|
||||
|
||||
@testutils.qt514
|
||||
@pytest.mark.parametrize('value, preference', [
|
||||
('true', 'Reduced motion'),
|
||||
('false', 'No'),
|
||||
])
|
||||
def test_prefers_reduced_motion(quteproc_new, request, qtbot, value, preference):
|
||||
if not request.config.webengine:
|
||||
pytest.skip("Skipped with QtWebKit")
|
||||
|
||||
args = _base_args(request.config) + [
|
||||
'--temp-basedir',
|
||||
'-s', 'content.prefers_reduced_motion', value,
|
||||
]
|
||||
quteproc_new.start(args)
|
||||
|
||||
quteproc_new.open_path('data/prefers_reduced_motion.html')
|
||||
content = quteproc_new.get_content()
|
||||
assert content == f"{preference} preference detected."
|
||||
|
||||
|
||||
def test_unavailable_backend(request, quteproc_new):
|
||||
"""Test starting with a backend which isn't available.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue