servo/components
Andrei Volykhin bcade589e7
imagebitmap: Crop bitmap data with formatting (#37397)
Follow the ImageBitmap specification and make cropping of the bitmap
data to the source rectangle with formatting:
https://html.spec.whatwg.org/multipage/#cropped-to-the-source-rectangle-with-formatting

For now the next functionality not implemented:
- image orientation support (such as EXIF metadata)
- color space conversion (image, blob)

The convertion from ResizeQuality to "image" FilterType:
 - pixelated/low/medium/high -> Nearest/Triangle/CatmullRom/Lanczos3

Other browsers use the following sample filtering:
 - chromium (skia): Nearest/Linear/Linear/CatmullRom
 - firefox (skia): Lanczos3

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

Fixes (partially): #34112

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
2025-06-16 12:09:04 +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 Revert "Remove duplication in dispatch_pending_point_input_events" (#37482) 2025-06-16 08:36:05 +00:00
config Unconditionally enable the URLPattern API (#37116) 2025-05-24 13:20:45 +00:00
constellation layout: Store scroll offsets in the ScrollTree (#37428) 2025-06-13 12:01:27 +00:00
deny_public_fields Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
devtools DevTools: Implement support for showing source_content in Debugger > Source panel (#36774) 2025-06-13 09:31:33 +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 fonts: Start using fontations to read font tables (#37287) 2025-06-16 11:29:50 +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 layout: Unify scrollable overflow calculation and include position: absolute (#37475) 2025-06-16 11:30:31 +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 tests: Use Ahem font provided by WPT harness. (#37054) 2025-06-09 08:13:05 +00:00
pixels imagebitmap: Crop bitmap data with formatting (#37397) 2025-06-16 12:09:04 +00:00
profile Constellation can now optionally report memory usage when the page is loaded. (#37151) 2025-05-30 17:15:06 +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 imagebitmap: Crop bitmap data with formatting (#37397) 2025-06-16 12:09:04 +00:00
script_bindings Remove "isInitial" argument from memberInit (#37477) 2025-06-15 23:19:48 +00:00
servo libservo: Let libservo manage compositor message reception (#37372) 2025-06-11 09:50:20 +00:00
servo_tracing [tracing] Add convenience macro for function tracing (#36573) 2025-04-22 19:58:20 +00:00
shared imagebitmap: Crop bitmap data with formatting (#37397) 2025-06-16 12:09:04 +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] Properly report error for find_element & find_elements; Get correct visible text when matching links (#37452) 2025-06-16 05:23:26 +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