servo/components
sagudev a631b42e60
pixels: Ensure expected formats when accesing bytes of snapshot (#37767)
I introduced snapshot in #36119 to pack raw bytes and metadata together,
now we take the next step and require for user to always specify what
kind of byte data they want when calling `as_bytes` or `to_vec`
(basically joining transform and data). There are also valid usages when
one might require just one property of bytes (textures can generally
handle both RGBA and BGRA). There are also valid usages of using just
raw bytes (when cropping). This PR tries to make such usages more
obvious.

This will make it easier to fix stuff around 2d canvas (we do not want
to assume any bytes properties in abstraction).

Testing: Code is covered by WPT tests.

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-07-03 15:02:41 +00:00
..
allocator Organize component Cargo.toml dependencies (#36224) 2025-03-30 19:03:54 +00:00
background_hang_monitor bhm: Add backtrace demangling (#37819) 2025-07-02 13:39:36 +00:00
bluetooth Replace bluetooth Readme with corrected version from devices repository (#36429) 2025-04-10 18:02:45 +00:00
canvas pixels: Ensure expected formats when accesing bytes of snapshot (#37767) 2025-07-03 15:02:41 +00:00
compositing Add a basic caching mechanism for ImageKeys. (#37369) 2025-07-03 13:16:43 +00:00
config Add a basic caching mechanism for ImageKeys. (#37369) 2025-07-03 13:16:43 +00:00
constellation Add a basic caching mechanism for ImageKeys. (#37369) 2025-07-03 13:16:43 +00:00
deny_public_fields Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
devtools Add common resourceId to network events (#37707) 2025-06-26 07:08:16 +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 Clean up unused dependencies / features and centralize more feature selection into root Cargo.toml (#37720) 2025-06-26 11:56:48 +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 libservo|compositor: Have scroll offset directionality match that of WebRender and the web (#37752) 2025-07-03 13:04:06 +00:00
malloc_size_of Clean up unused dependencies / features and centralize more feature selection into root Cargo.toml (#37720) 2025-06-26 11:56:48 +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 Add a basic caching mechanism for ImageKeys. (#37369) 2025-07-03 13:16:43 +00:00
pixels pixels: Ensure expected formats when accesing bytes of snapshot (#37767) 2025-07-03 15:02:41 +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 pixels: Ensure expected formats when accesing bytes of snapshot (#37767) 2025-07-03 15:02:41 +00:00
script_bindings htmlimageelement: Reject decode promises on the current request mutation (#37828) 2025-07-02 09:29:47 +00:00
servo libservo|compositor: Have scroll offset directionality match that of WebRender and the web (#37752) 2025-07-03 13:04:06 +00:00
servo_tracing [tracing] Add convenience macro for function tracing (#36573) 2025-04-22 19:58:20 +00:00
shared Add a basic caching mechanism for ImageKeys. (#37369) 2025-07-03 13:16:43 +00:00
timers script: Allow reflows that do not produce display lists (#37186) 2025-06-12 19:25:04 +00:00
url script: complete resolve_module_specifier (#37552) 2025-06-21 06:17:27 +00:00
webdriver_server webdriver: Get the window position as well as the size when resolving "Get Window Rect" (#37812) 2025-07-02 10:01:27 +00:00
webgl Add a basic caching mechanism for ImageKeys. (#37369) 2025-07-03 13:16:43 +00:00
webgpu Add a basic caching mechanism for ImageKeys. (#37369) 2025-07-03 13:16:43 +00:00
webxr Removing unused dependencies in crates. (#37096) 2025-05-23 12:58:00 +00:00