servo/components/shared
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
..
background_hang_monitor script: add skeleton implementation of FontFace API (#35262) 2025-02-19 05:50:01 +00:00
base deps: Upgrade to webrender@0.66 (#35325) 2025-02-07 11:57:26 +00:00
bluetooth Include WebViewId into EmbedderMsg variants where possible (#35211) 2025-01-30 11:15:35 +00:00
canvas Use surfman with glow bindings (take II) (#35422) 2025-02-13 07:26:38 +00:00
compositing compositing: Move image output and shutdown management out of the compositor (#35538) 2025-02-20 18:27:49 +00:00
devtools Inform the devtools about shadow roots on a node (#35294) 2025-02-05 13:16:36 +00:00
embedder compositing: Move image output and shutdown management out of the compositor (#35538) 2025-02-20 18:27:49 +00:00
fonts script: add skeleton implementation of FontFace API (#35262) 2025-02-19 05:50:01 +00:00
net script: add skeleton implementation of FontFace API (#35262) 2025-02-19 05:50:01 +00:00
profile script: add skeleton implementation of FontFace API (#35262) 2025-02-19 05:50:01 +00:00
script Make WebBluetooth an optional feature. (#35479) 2025-02-18 04:13:43 +00:00
script_layout deps: Remove some unused Cargo.toml (#35466) 2025-02-14 15:33:14 +00:00
webrender libservo: Move GL acclerated media setup out of RenderingContext and simplify it (#35553) 2025-02-20 13:52:18 +00:00
webxr deps: Remove some unused Cargo.toml (#35466) 2025-02-14 15:33:14 +00:00