diff options
author | Martin Robinson <mrobinson@igalia.com> | 2025-04-06 19:34:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-06 17:34:18 +0000 |
commit | 0caa271176d4670eb06bedd05cdffb24df08fc4f (patch) | |
tree | 9a0c3431dcf7ac31cfbdc1f801c9f4ef3dda6ae7 /components/canvas | |
parent | e74a042efdf01ab2ff32e82e203bd1d954b599bd (diff) | |
download | servo-0caa271176d4670eb06bedd05cdffb24df08fc4f.tar.gz servo-0caa271176d4670eb06bedd05cdffb24df08fc4f.zip |
`compositing`: Combine `webrender_traits` and `compositing_traits` (#36372)
These two traits both exposed different parts of the compositing API,
but now that the compositor doesn't depend directly on `script` any
longer and the `script_traits` crate has been split into the
`constellation_traits` crate, this can be finally be cleaned up without
causing circular dependencies. In addition, some unit tests for the
`IOPCompositor`'s scroll node tree are also moved into
`compositing_traits` as well.
Testing: This just combines two crates, so no new tests are necessary.
Fixes: #35984.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Diffstat (limited to 'components/canvas')
-rw-r--r-- | components/canvas/Cargo.toml | 2 | ||||
-rw-r--r-- | components/canvas/canvas_data.rs | 2 | ||||
-rw-r--r-- | components/canvas/canvas_paint_thread.rs | 2 | ||||
-rw-r--r-- | components/canvas/webgl_mode/inprocess.rs | 8 | ||||
-rw-r--r-- | components/canvas/webgl_thread.rs | 2 |
5 files changed, 8 insertions, 8 deletions
diff --git a/components/canvas/Cargo.toml b/components/canvas/Cargo.toml index 10ac5a35cd4..a9c06784d18 100644 --- a/components/canvas/Cargo.toml +++ b/components/canvas/Cargo.toml @@ -20,6 +20,7 @@ app_units = { workspace = true } bitflags = { workspace = true } byteorder = { workspace = true } canvas_traits = { workspace = true } +compositing_traits = { workspace = true } crossbeam-channel = { workspace = true } cssparser = { workspace = true } euclid = { workspace = true } @@ -42,6 +43,5 @@ surfman = { workspace = true } unicode-script = { workspace = true } webrender = { workspace = true } webrender_api = { workspace = true } -webrender_traits = { workspace = true } webxr = { path = "../webxr", features = ["ipc"], optional = true } webxr-api = { workspace = true, features = ["ipc"], optional = true } diff --git a/components/canvas/canvas_data.rs b/components/canvas/canvas_data.rs index 34942388c23..d6e35b2cbaf 100644 --- a/components/canvas/canvas_data.rs +++ b/components/canvas/canvas_data.rs @@ -7,6 +7,7 @@ use std::sync::Arc; use app_units::Au; use canvas_traits::canvas::*; +use compositing_traits::{CrossProcessCompositorApi, ImageUpdate, SerializableImageData}; use euclid::default::{Box2D, Point2D, Rect, Size2D, Transform2D, Vector2D}; use euclid::point2; use fonts::{ @@ -23,7 +24,6 @@ use style::properties::style_structs::Font as FontStyleStruct; use unicode_script::Script; use webrender_api::units::RectExt as RectExt_; use webrender_api::{ImageDescriptor, ImageDescriptorFlags, ImageFormat, ImageKey}; -use webrender_traits::{CrossProcessCompositorApi, ImageUpdate, SerializableImageData}; use crate::raqote_backend::Repetition; diff --git a/components/canvas/canvas_paint_thread.rs b/components/canvas/canvas_paint_thread.rs index 1c6877772d3..8b1b5038334 100644 --- a/components/canvas/canvas_paint_thread.rs +++ b/components/canvas/canvas_paint_thread.rs @@ -9,6 +9,7 @@ use std::thread; use canvas_traits::ConstellationCanvasMsg; use canvas_traits::canvas::*; +use compositing_traits::CrossProcessCompositorApi; use crossbeam_channel::{Sender, select, unbounded}; use euclid::default::Size2D; use fonts::{FontContext, SystemFontServiceProxy}; @@ -17,7 +18,6 @@ use ipc_channel::router::ROUTER; use log::warn; use net_traits::ResourceThreads; use webrender_api::ImageKey; -use webrender_traits::CrossProcessCompositorApi; use crate::canvas_data::*; diff --git a/components/canvas/webgl_mode/inprocess.rs b/components/canvas/webgl_mode/inprocess.rs index 5a7e59ebaad..566da2c58c8 100644 --- a/components/canvas/webgl_mode/inprocess.rs +++ b/components/canvas/webgl_mode/inprocess.rs @@ -7,6 +7,10 @@ use std::rc::Rc; use std::sync::{Arc, Mutex}; use canvas_traits::webgl::{GlType, WebGLContextId, WebGLMsg, WebGLThreads, webgl_channel}; +use compositing_traits::rendering_context::RenderingContext; +use compositing_traits::{ + WebrenderExternalImageApi, WebrenderExternalImageRegistry, WebrenderImageSource, +}; use euclid::default::Size2D; use fnv::FnvHashMap; use log::debug; @@ -14,10 +18,6 @@ use surfman::chains::{SwapChainAPI, SwapChains, SwapChainsAPI}; use surfman::{Device, SurfaceTexture}; use webrender::RenderApiSender; use webrender_api::DocumentId; -use webrender_traits::rendering_context::RenderingContext; -use webrender_traits::{ - WebrenderExternalImageApi, WebrenderExternalImageRegistry, WebrenderImageSource, -}; #[cfg(feature = "webxr")] use webxr::SurfmanGL as WebXRSurfman; #[cfg(feature = "webxr")] diff --git a/components/canvas/webgl_thread.rs b/components/canvas/webgl_thread.rs index aee5663c2a7..e3f0c77b4b3 100644 --- a/components/canvas/webgl_thread.rs +++ b/components/canvas/webgl_thread.rs @@ -22,6 +22,7 @@ use canvas_traits::webgl::{ WebGLSLVersion, WebGLSamplerId, WebGLSender, WebGLShaderId, WebGLSyncId, WebGLTextureId, WebGLVersion, WebGLVertexArrayId, YAxisTreatment, }; +use compositing_traits::{WebrenderExternalImageRegistry, WebrenderImageHandlerType}; use euclid::default::Size2D; use fnv::FnvHashMap; use glow::{ @@ -43,7 +44,6 @@ use webrender_api::{ DirtyRect, DocumentId, ExternalImageData, ExternalImageId, ExternalImageType, ImageBufferKind, ImageData, ImageDescriptor, ImageDescriptorFlags, ImageFormat, ImageKey, }; -use webrender_traits::{WebrenderExternalImageRegistry, WebrenderImageHandlerType}; use crate::webgl_limits::GLLimitsDetect; #[cfg(feature = "webxr")] |