aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
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/script/dom
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/script/dom')
-rw-r--r--components/script/dom/htmlmediaelement.rs2
-rw-r--r--components/script/dom/screen.rs2
-rw-r--r--components/script/dom/window.rs4
3 files changed, 4 insertions, 4 deletions
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs
index 64bd48b0c2f..b16c17f1d79 100644
--- a/components/script/dom/htmlmediaelement.rs
+++ b/components/script/dom/htmlmediaelement.rs
@@ -9,6 +9,7 @@ use std::sync::{Arc, Mutex};
use std::time::{Duration, Instant};
use std::{f64, mem};
+use compositing_traits::{CrossProcessCompositorApi, ImageUpdate, SerializableImageData};
use dom_struct::dom_struct;
use embedder_traits::resources::{self, Resource as EmbedderResource};
use embedder_traits::{MediaPositionState, MediaSessionEvent, MediaSessionPlaybackState};
@@ -41,7 +42,6 @@ use webrender_api::{
ExternalImageData, ExternalImageId, ExternalImageType, ImageBufferKind, ImageDescriptor,
ImageDescriptorFlags, ImageFormat, ImageKey,
};
-use webrender_traits::{CrossProcessCompositorApi, ImageUpdate, SerializableImageData};
use crate::document_loader::{LoadBlocker, LoadType};
use crate::dom::attr::Attr;
diff --git a/components/script/dom/screen.rs b/components/script/dom/screen.rs
index 0d5a751e273..4d76b20d626 100644
--- a/components/script/dom/screen.rs
+++ b/components/script/dom/screen.rs
@@ -2,12 +2,12 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
+use compositing_traits::CrossProcessCompositorMessage;
use dom_struct::dom_struct;
use euclid::Size2D;
use profile_traits::ipc;
use servo_geometry::DeviceIndependentIntSize;
use style_traits::CSSPixel;
-use webrender_traits::CrossProcessCompositorMessage;
use crate::dom::bindings::codegen::Bindings::ScreenBinding::ScreenMethods;
use crate::dom::bindings::num::Finite;
diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs
index c73caab123f..863c2299081 100644
--- a/components/script/dom/window.rs
+++ b/components/script/dom/window.rs
@@ -21,6 +21,7 @@ use base64::Engine;
#[cfg(feature = "bluetooth")]
use bluetooth_traits::BluetoothRequest;
use canvas_traits::webgl::WebGLChan;
+use compositing_traits::CrossProcessCompositorApi;
use constellation_traits::{
DocumentState, LoadData, LoadOrigin, NavigationHistoryBehavior, ScriptToConstellationChan,
ScriptToConstellationMessage, ScrollState, StructuredSerializedData, WindowSizeType,
@@ -86,7 +87,6 @@ use stylo_atoms::Atom;
use url::Position;
use webrender_api::units::{DevicePixel, LayoutPixel};
use webrender_api::{DocumentId, ExternalScrollId};
-use webrender_traits::CrossProcessCompositorApi;
use super::bindings::codegen::Bindings::MessagePortBinding::StructuredSerializeOptions;
use super::bindings::trace::HashMapTracedValues;
@@ -1895,7 +1895,7 @@ impl Window {
let (sender, receiver) =
ProfiledIpc::channel::<DeviceIndependentIntRect>(timer_profile_chan).unwrap();
let _ = self.compositor_api.sender().send(
- webrender_traits::CrossProcessCompositorMessage::GetClientWindowRect(
+ compositing_traits::CrossProcessCompositorMessage::GetClientWindowRect(
self.webview_id(),
sender,
),