Skip to content

Commit 15ad114

Browse files
mrobinsonmukilan
andauthored
compositing: Split out Painter from IOCompositor (servo#40264)
This change splits `IOCompositor` into two structs: `IOCompositor` and `Painter`. The idea is that `Painter` will be per-`RenderingContext`. Currently there is only one, but when there is more than one there will be one `Painter` per-`RenderingContext`. Therefore, everything that we suspect will be managed this way is moved to `Painter`. In addition, to avoid the risk of double-borrows, `WebViewRender` no longer keeps a reference to any of the containing structs. Instead necessary things are passed down when necessary or stored internally. Testing: This should not change behavior and is thus covered by existing tests. Fixes: This is part of servo#40261. Signed-off-by: Martin Robinson <[email protected]> Co-authored-by: Mukilan Thiyagarajan <[email protected]>
1 parent 33c086d commit 15ad114

File tree

12 files changed

+1981
-1655
lines changed

12 files changed

+1981
-1655
lines changed

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

components/compositing/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ servo-tracing = { workspace = true }
4747
servo_allocator = { path = "../allocator" }
4848
servo_config = { path = "../config" }
4949
servo_geometry = { path = "../geometry" }
50+
smallvec = { workspace = true }
5051
stylo_traits = { workspace = true }
5152
timers = { path = "../timers" }
5253
tracing = { workspace = true, optional = true }

0 commit comments

Comments
 (0)