servo/components/compositing
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
..
Cargo.toml compositing: Move image output and shutdown management out of the compositor (#35538) 2025-02-20 18:27:49 +00:00
compositor.rs compositing: Move image output and shutdown management out of the compositor (#35538) 2025-02-20 18:27:49 +00:00
lib.rs compositing: Move image output and shutdown management out of the compositor (#35538) 2025-02-20 18:27:49 +00:00
touch.rs implement Touchevent prevent default behavior (#35031) 2025-02-17 10:50:04 +00:00
tracing.rs compositing: Move image output and shutdown management out of the compositor (#35538) 2025-02-20 18:27:49 +00:00
webview.rs ohos: Support resizing the surface (#35158) 2025-01-29 15:45:17 +00:00
windowing.rs libservo: Remove message-based API (#35366) 2025-02-10 04:14:16 +00:00