aboutsummaryrefslogtreecommitdiffstats
path: root/components/constellation
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/constellation
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/constellation')
-rw-r--r--components/constellation/Cargo.toml1
-rw-r--r--components/constellation/constellation.rs5
-rw-r--r--components/constellation/pipeline.rs5
3 files changed, 6 insertions, 5 deletions
diff --git a/components/constellation/Cargo.toml b/components/constellation/Cargo.toml
index 9bc1576fa62..19b452e2021 100644
--- a/components/constellation/Cargo.toml
+++ b/components/constellation/Cargo.toml
@@ -53,7 +53,6 @@ webgpu = { path = "../webgpu" }
webgpu_traits = { workspace = true }
webrender = { workspace = true }
webrender_api = { workspace = true }
-webrender_traits = { workspace = true }
webxr-api = { workspace = true, features = ["ipc"] }
[target.'cfg(any(target_os="macos", all(not(target_os = "windows"), not(target_os = "ios"), not(target_os="android"), not(target_env="ohos"), not(target_arch="arm"), not(target_arch="aarch64"))))'.dependencies]
diff --git a/components/constellation/constellation.rs b/components/constellation/constellation.rs
index a2809defdd6..e1a16e4174f 100644
--- a/components/constellation/constellation.rs
+++ b/components/constellation/constellation.rs
@@ -108,7 +108,9 @@ use bluetooth_traits::BluetoothRequest;
use canvas_traits::ConstellationCanvasMsg;
use canvas_traits::canvas::{CanvasId, CanvasMsg};
use canvas_traits::webgl::WebGLThreads;
-use compositing_traits::{CompositorMsg, CompositorProxy, SendableFrameTree};
+use compositing_traits::{
+ CompositorMsg, CompositorProxy, SendableFrameTree, WebrenderExternalImageRegistry,
+};
use constellation_traits::{
AnimationTickType, AuxiliaryWebViewCreationRequest, AuxiliaryWebViewCreationResponse,
BroadcastMsg, DocumentState, EmbedderToConstellationMessage, IFrameLoadInfo,
@@ -164,7 +166,6 @@ use webgpu_traits::{WebGPU, WebGPURequest};
use webrender::RenderApi;
use webrender::RenderApiSender;
use webrender_api::{DocumentId, ImageKey};
-use webrender_traits::WebrenderExternalImageRegistry;
use crate::browsingcontext::{
AllBrowsingContextsIterator, BrowsingContext, FullyActiveBrowsingContextsIterator,
diff --git a/components/constellation/pipeline.rs b/components/constellation/pipeline.rs
index 8095cd6f0ae..b6e546acd48 100644
--- a/components/constellation/pipeline.rs
+++ b/components/constellation/pipeline.rs
@@ -18,7 +18,9 @@ use base::id::{
#[cfg(feature = "bluetooth")]
use bluetooth_traits::BluetoothRequest;
use canvas_traits::webgl::WebGLPipeline;
-use compositing_traits::{CompositionPipeline, CompositorMsg, CompositorProxy};
+use compositing_traits::{
+ CompositionPipeline, CompositorMsg, CompositorProxy, CrossProcessCompositorApi,
+};
use constellation_traits::{LoadData, SWManagerMsg, ScriptToConstellationChan};
use crossbeam_channel::{Sender, unbounded};
use devtools_traits::{DevtoolsControlMsg, ScriptToDevtoolsControlMsg};
@@ -46,7 +48,6 @@ use servo_config::opts::{self, Opts};
use servo_config::prefs::{self, Preferences};
use servo_url::ServoUrl;
use webrender_api::DocumentId;
-use webrender_traits::CrossProcessCompositorApi;
use crate::event_loop::EventLoop;
use crate::process_manager::Process;