aboutsummaryrefslogtreecommitdiffstats
path: root/components/canvas
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2025-04-06 19:34:18 +0200
committerGitHub <noreply@github.com>2025-04-06 17:34:18 +0000
commit0caa271176d4670eb06bedd05cdffb24df08fc4f (patch)
tree9a0c3431dcf7ac31cfbdc1f801c9f4ef3dda6ae7 /components/canvas
parente74a042efdf01ab2ff32e82e203bd1d954b599bd (diff)
downloadservo-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.toml2
-rw-r--r--components/canvas/canvas_data.rs2
-rw-r--r--components/canvas/canvas_paint_thread.rs2
-rw-r--r--components/canvas/webgl_mode/inprocess.rs8
-rw-r--r--components/canvas/webgl_thread.rs2
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")]