diff options
author | Martin Robinson <mrobinson@igalia.com> | 2025-02-20 19:27:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-20 18:27:49 +0000 |
commit | 54b5c7b632ecb48f134b232ee1b9aa8bc8c286c0 (patch) | |
tree | 3e3a5a3e21a0a27e79eab56912dbda181d48ecf1 /ports/servoshell/egl/ohos/simpleservo.rs | |
parent | 7d33e72bfca2d2257ca512f1b28f305f7b3a01d5 (diff) | |
download | servo-54b5c7b632ecb48f134b232ee1b9aa8bc8c286c0.tar.gz servo-54b5c7b632ecb48f134b232ee1b9aa8bc8c286c0.zip |
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>
Diffstat (limited to 'ports/servoshell/egl/ohos/simpleservo.rs')
-rw-r--r-- | ports/servoshell/egl/ohos/simpleservo.rs | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/ports/servoshell/egl/ohos/simpleservo.rs b/ports/servoshell/egl/ohos/simpleservo.rs index 2b69ce952b4..3b40959d4d9 100644 --- a/ports/servoshell/egl/ohos/simpleservo.rs +++ b/ports/servoshell/egl/ohos/simpleservo.rs @@ -12,7 +12,6 @@ use raw_window_handle::{ DisplayHandle, OhosDisplayHandle, OhosNdkWindowHandle, RawDisplayHandle, RawWindowHandle, WindowHandle, }; -use servo::compositing::CompositeTarget; /// The EventLoopWaker::wake function will be called from any thread. /// It will be called to notify embedder that some events are available, /// and that perform_updates need to be called @@ -113,7 +112,6 @@ pub fn init( embedder_callbacks, window_callbacks.clone(), None, /* user_agent */ - CompositeTarget::ContextFbo, ); let app_state = RunningAppState::new( |