servo/ports/servoshell/desktop
Martin Robinson 54b5c7b632
compositing: Move image output and shutdown management out of the compositor (#35538)
This is a step toward the renderer-per-WebView goal. It moves various
details out of `IOCompositor`.

- Image output: This is moved to servoshell as now applications can
  access the image contents of a `WebView` via
  `RenderingContext::read_to_image`. Most options for this are moved to
  `ServoShellPreferences` apart from `wait_for_stable_image` as this
  requires a specific kind of coordination in the `ScriptThread` that is
  also very expensive. Instead, paint is now simply delayed until a
  stable image is reached and `WebView::paint()` returns a boolean.
  Maybe this can be revisited in the future.
- Shutdown: Shutdown is now managed by libservo itself. Shutdown state
  is shared between the compositor and `Servo` instance. In the future,
  this sharing might be unecessary.
- `CompositeTarget` has been removed entirely. This no longer needs to
   be passed when creating a Servo instance.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Ngo Iok Ui (Wu Yu Wei) <yuweiwu@pm.me>
2025-02-20 18:27:49 +00:00
..
protocols Create HttpStatus to safely deal with HTTP responses status. (#33581) 2024-09-29 18:23:48 +00:00
accelerated_gl_media.rs libservo: Move GL acclerated media setup out of RenderingContext and simplify it (#35553) 2025-02-20 13:52:18 +00:00
app.rs compositing: Move image output and shutdown management out of the compositor (#35538) 2025-02-20 18:27:49 +00:00
app_state.rs compositing: Move image output and shutdown management out of the compositor (#35538) 2025-02-20 18:27:49 +00:00
cli.rs compositing: Move image output and shutdown management out of the compositor (#35538) 2025-02-20 18:27:49 +00:00
dialog.rs servoshell: Port Authentication dialog code to use egui intead of tinyfiledialogs (#35507) 2025-02-19 13:42:48 +00:00
egui_glue.rs chore: remove WindowMethods::rendering_context (#34780) 2025-01-01 08:26:23 +00:00
embedder.rs Finish the integration of webxr into the Cargo workspace (#35229) 2025-01-31 16:41:57 +00:00
events_loop.rs servoshell: Port desktop servoshell to use delegate API (#35284) 2025-02-06 07:33:31 +00:00
gamepad.rs libservo: Expose a single InputEvent type and pass it to script (#35430) 2025-02-12 17:07:15 +00:00
geometry.rs Use webrender_api::units::DevicePixel rather than style_traits::DevicePixel unless interfacing with Stylo (#34353) 2024-11-25 23:42:04 +00:00
headed_window.rs compositing: Move image output and shutdown management out of the compositor (#35538) 2025-02-20 18:27:49 +00:00
headless_window.rs libservo: Expose SoftwareRenderingContext and WindowRenderingContext (#35501) 2025-02-18 14:50:41 +00:00
keyutils.rs servoshell: Clean up keyboard event conversion a little (#32564) 2024-06-19 19:38:56 +00:00
minibrowser.rs libservo: Rework and clarify the rendering model of the WebView (#35522) 2025-02-19 10:35:56 +00:00
mod.rs libservo: Move GL acclerated media setup out of RenderingContext and simplify it (#35553) 2025-02-20 13:52:18 +00:00
tracing.rs servoshell: Port desktop servoshell to use delegate API (#35284) 2025-02-06 07:33:31 +00:00
window_trait.rs feat: support pre-edit text display for IME (#35535) 2025-02-19 11:22:57 +00:00