servo/components
Narfinger ca47cc2fa3
Add a basic caching mechanism for ImageKeys. (#37369)
This creates a new method in shared/compositing/lib to generate image
keys that are send over the webview. This does not immediately return
the keys but goes over the constellation to receive the keys from the
IOCompositor. To make this more efficient, we now cache the keys in
image_cache in a simple FIFO order. The old blocking method stays intact
for now but got renamed to make the blocking clear.
The blocking calls that are left are in:
- `components/canvas/canvas_data.rs`
- `components/script/dom/htmlmediaelement.rs`

Testing: WPT tests should cover this as this doesn't change any
functionality.
Fixes: Was mentioned in
https://github.com/servo/servo/issues/37161#issuecomment-2915750051 and
part of https://github.com/servo/servo/issues/37086

---------

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
Co-authored-by: gterzian <2792687+gterzian@users.noreply.github.com>
2025-07-03 13:16:43 +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 Add a basic caching mechanism for ImageKeys. (#37369) 2025-07-03 13:16:43 +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
devtools Add common resourceId to network events (#37707) 2025-06-26 07:08:16 +00:00
dom_struct
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
hyper_serde Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
jstraceable_derive
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: Move Snapshot and related data structures to pixels (#37590) 2025-06-20 14:47:06 +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
script Add a basic caching mechanism for ImageKeys. (#37369) 2025-07-03 13:16:43 +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