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/script/dom | |
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/script/dom')
-rw-r--r-- | components/script/dom/htmlmediaelement.rs | 2 | ||||
-rw-r--r-- | components/script/dom/screen.rs | 2 | ||||
-rw-r--r-- | components/script/dom/window.rs | 4 |
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, ), |