servo/components/shared
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
..
background_hang_monitor Initial IndexedDB Support (#33044) 2025-06-19 05:19:07 +00:00
base imagebitmap: Make ImageBitmap serializable and transferable (#37101) 2025-05-23 20:40:25 +00:00
bluetooth Include WebViewId into EmbedderMsg variants where possible (#35211) 2025-01-30 11:15:35 +00:00
canvas canvas: Add CanvasPattern 'setTranform(transform)' method (#37731) 2025-06-26 14:38:30 +00:00
compositing 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
devtools Allow console commands to appear in log files (#37631) 2025-06-23 18:42:36 +00:00
embedder webdriver: Get the window position as well as the size when resolving "Get Window Rect" (#37812) 2025-07-02 10:01:27 +00:00
fonts Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
layout layout: Add a first pass at incremental box tree construction (#37751) 2025-07-03 08:13:20 +00:00
net Add a basic caching mechanism for ImageKeys. (#37369) 2025-07-03 13:16:43 +00:00
profile layout: Improve and expand category names for layout profiling (#37833) 2025-07-02 15:02:56 +00:00
script Add a basic caching mechanism for ImageKeys. (#37369) 2025-07-03 13:16:43 +00:00
webgpu pixels: Move Snapshot and related data structures to pixels (#37590) 2025-06-20 14:47:06 +00:00
webxr libservo: Move EventLooperWaker from webxr_traits to embedder_traits (#36420) 2025-04-09 14:19:33 +00:00