servo/components
Andrei Volykhin 06b5422abf
htmlvideoelement: Fix poster frame processing algorithm (#37533)
According to HTML specification the poster attribute determines the
element's poster frame
(regardless of the value of the element's show poster flag).
https://html.spec.whatwg.org/multipage/#poster-frame

So the poster frame and the show poster flag is orthogonal to each
other, the latest one only controls
when browser should display the poster frame and should do not block
accepting video frames
from media pipeline (e.g. on new_preroll callback from video sink).

During layout the video element should select the current frame which
will be presented
based on first matching condition from the list:

https://html.spec.whatwg.org/multipage/#the-video-element:the-video-element-7

Testing: Improvements in the following WPT tests
- html/canvas/element/manual/imagebitmap/createImageBitmap*
- html/semantics/embedded-content/the-canvas-element/*

Fixes: #37165

---------

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-06-19 09:55:10 +00:00
..
allocator Organize component Cargo.toml dependencies (#36224) 2025-03-30 19:03:54 +00:00
background_hang_monitor Organize component Cargo.toml dependencies (#36224) 2025-03-30 19:03:54 +00:00
bluetooth Replace bluetooth Readme with corrected version from devices repository (#36429) 2025-04-10 18:02:45 +00:00
canvas Change canvas/context/snapshot size from u64 -> u32 (#36827) 2025-06-07 14:37:21 +00:00
compositing script: Reverse wheel event delta sign to match specification-defined behavior (#37461) 2025-06-19 07:45:10 +00:00
config Initial IndexedDB Support (#33044) 2025-06-19 05:19:07 +00:00
constellation [webdriver] Move Webdriver to ServoShell (#36714) 2025-06-19 09:52:01 +00:00
deny_public_fields Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
devtools Devtools: refactor source actor state (#37528) 2025-06-18 11:11:46 +00:00
dom_struct script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
domobject_derive Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
fonts Initial IndexedDB Support (#33044) 2025-06-19 05:19:07 +00:00
geometry servoshell: Allow overriding screen resolution with a command-line argument (#34038) 2024-10-30 11:54:13 +00:00
hyper_serde Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
jstraceable_derive Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
layout chore: Simplify tracing with servo_tracing macro (#36661) (#37497) 2025-06-18 16:18:04 +00:00
malloc_size_of Add support for static SVG images using resvg crate (#36721) 2025-05-27 11:02:40 +00:00
media compositing: Combine webrender_traits and compositing_traits (#36372) 2025-04-06 17:34:18 +00:00
metrics Removing unused dependencies in crates. (#37096) 2025-05-23 12:58:00 +00:00
net Initial IndexedDB Support (#33044) 2025-06-19 05:19:07 +00:00
pixels pixels: Multiply by alpha with less loss of precision (#37503) 2025-06-18 06:52:42 +00:00
profile Profile: Resident Segments was not correctly parsing /proc/self/smaps as the regexp did not work anymore. (#37549) 2025-06-19 09:19:31 +00:00
rand Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00
range Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
script htmlvideoelement: Fix poster frame processing algorithm (#37533) 2025-06-19 09:55:10 +00:00
script_bindings Initial IndexedDB Support (#33044) 2025-06-19 05:19:07 +00:00
servo [webdriver] Move Webdriver to ServoShell (#36714) 2025-06-19 09:52:01 +00:00
servo_tracing [tracing] Add convenience macro for function tracing (#36573) 2025-04-22 19:58:20 +00:00
shared [webdriver] Move Webdriver to ServoShell (#36714) 2025-06-19 09:52:01 +00:00
timers script: Allow reflows that do not produce display lists (#37186) 2025-06-12 19:25:04 +00:00
url Various memory measurement improvements (#36834) 2025-05-07 04:00:12 +00:00
webdriver_server [webdriver] Move Webdriver to ServoShell (#36714) 2025-06-19 09:52:01 +00:00
webgl webgl: Use glow::Context::supported_extensions() to implement getSupportedExtensions() (#36911) 2025-05-08 08:34:52 +00:00
webgpu Removing unused dependencies in crates. (#37096) 2025-05-23 12:58:00 +00:00
webxr Removing unused dependencies in crates. (#37096) 2025-05-23 12:58:00 +00:00