diff --git a/Cargo.lock b/Cargo.lock
index a47e5445490..11de75281e7 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1186,16 +1186,26 @@ version = "0.0.1"
dependencies = [
"base",
"bitflags 2.9.0",
+ "canvas_traits",
+ "devtools_traits",
"embedder_traits",
"euclid",
+ "http 1.3.1",
+ "hyper_serde",
"ipc-channel",
+ "log",
"malloc_size_of_derive",
+ "net_traits",
+ "profile_traits",
"serde",
"servo_malloc_size_of",
"servo_url",
+ "strum",
"strum_macros",
- "stylo_traits",
+ "uuid",
+ "webgpu_traits",
"webrender_api",
+ "wgpu-core",
]
[[package]]
@@ -4627,6 +4637,7 @@ name = "metrics"
version = "0.0.1"
dependencies = [
"base",
+ "constellation_traits",
"ipc-channel",
"log",
"malloc_size_of_derive",
@@ -6478,21 +6489,16 @@ version = "0.0.1"
dependencies = [
"background_hang_monitor_api",
"base",
- "bitflags 2.9.0",
"bluetooth_traits",
"canvas_traits",
"constellation_traits",
- "cookie 0.18.1",
"crossbeam-channel",
"devtools_traits",
"embedder_traits",
"euclid",
"http 1.3.1",
- "hyper_serde",
"ipc-channel",
"keyboard-types",
- "libc",
- "log",
"malloc_size_of_derive",
"media",
"net_traits",
@@ -6505,13 +6511,10 @@ dependencies = [
"strum_macros",
"stylo_atoms",
"stylo_traits",
- "uuid",
- "webdriver",
"webgpu_traits",
"webrender_api",
"webrender_traits",
"webxr-api",
- "wgpu-core",
]
[[package]]
@@ -8675,7 +8678,6 @@ name = "webrender_traits"
version = "0.0.1"
dependencies = [
"base",
- "constellation_traits",
"dpi",
"embedder_traits",
"euclid",
diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs
index 7afee58a4cf..9764d343b92 100644
--- a/components/compositing/compositor.rs
+++ b/components/compositing/compositor.rs
@@ -20,14 +20,13 @@ use compositing_traits::{
CompositionPipeline, CompositorMsg, CompositorReceiver, SendableFrameTree,
};
use constellation_traits::{
- AnimationTickType, CompositorHitTestResult, EmbedderToConstellationMessage, PaintMetricEvent,
- UntrustedNodeAddress, WindowSizeType,
+ AnimationTickType, EmbedderToConstellationMessage, PaintMetricEvent, WindowSizeType,
};
use crossbeam_channel::Sender;
use dpi::PhysicalSize;
use embedder_traits::{
- Cursor, InputEvent, MouseButtonEvent, MouseMoveEvent, ScreenGeometry, ShutdownState,
- TouchEventType, ViewportDetails,
+ AnimationState, CompositorHitTestResult, Cursor, InputEvent, MouseButtonEvent, MouseMoveEvent,
+ ScreenGeometry, ShutdownState, TouchEventType, UntrustedNodeAddress, ViewportDetails,
};
use euclid::{Box2D, Point2D, Rect, Scale, Size2D, Transform3D};
use fnv::FnvHashMap;
@@ -37,7 +36,6 @@ use log::{debug, info, trace, warn};
use pixels::{CorsStatus, Image, ImageFrame, PixelFormat};
use profile_traits::time::{self as profile_time, ProfilerCategory};
use profile_traits::time_profile;
-use script_traits::AnimationState;
use servo_config::opts;
use servo_geometry::DeviceIndependentPixel;
use style_traits::{CSSPixel, PinchZoomFactor};
diff --git a/components/compositing/webview.rs b/components/compositing/webview.rs
index e0b54de5139..7b2e997c5d2 100644
--- a/components/compositing/webview.rs
+++ b/components/compositing/webview.rs
@@ -9,15 +9,15 @@ use std::rc::Rc;
use base::id::{PipelineId, WebViewId};
use compositing_traits::SendableFrameTree;
-use constellation_traits::{CompositorHitTestResult, EmbedderToConstellationMessage, ScrollState};
+use constellation_traits::{EmbedderToConstellationMessage, ScrollState};
use embedder_traits::{
- InputEvent, MouseButton, MouseButtonAction, MouseButtonEvent, MouseMoveEvent, ShutdownState,
- TouchEvent, TouchEventType, TouchId,
+ AnimationState, CompositorHitTestResult, InputEvent, MouseButton, MouseButtonAction,
+ MouseButtonEvent, MouseMoveEvent, ShutdownState, TouchEvent, TouchEventResult, TouchEventType,
+ TouchId,
};
use euclid::{Point2D, Scale, Vector2D};
use fnv::FnvHashSet;
use log::{debug, warn};
-use script_traits::{AnimationState, TouchEventResult};
use webrender::Transaction;
use webrender_api::units::{DeviceIntPoint, DevicePoint, DeviceRect, LayoutVector2D};
use webrender_api::{
diff --git a/components/constellation/constellation.rs b/components/constellation/constellation.rs
index f176f3b60d0..a2809defdd6 100644
--- a/components/constellation/constellation.rs
+++ b/components/constellation/constellation.rs
@@ -110,8 +110,13 @@ use canvas_traits::canvas::{CanvasId, CanvasMsg};
use canvas_traits::webgl::WebGLThreads;
use compositing_traits::{CompositorMsg, CompositorProxy, SendableFrameTree};
use constellation_traits::{
- AnimationTickType, CompositorHitTestResult, EmbedderToConstellationMessage, LogEntry,
- PaintMetricEvent, ScrollState, TraversalDirection, WindowSizeType,
+ AnimationTickType, AuxiliaryWebViewCreationRequest, AuxiliaryWebViewCreationResponse,
+ BroadcastMsg, DocumentState, EmbedderToConstellationMessage, IFrameLoadInfo,
+ IFrameLoadInfoWithData, IFrameSandboxState, IFrameSizeMsg, Job, LoadData, LoadOrigin, LogEntry,
+ MessagePortMsg, NavigationHistoryBehavior, PaintMetricEvent, PortMessageTask, SWManagerMsg,
+ SWManagerSenders, ScriptToConstellationChan, ScriptToConstellationMessage, ScrollState,
+ ServiceWorkerManagerFactory, ServiceWorkerMsg, StructuredSerializedData, TraversalDirection,
+ WindowSizeType,
};
use crossbeam_channel::{Receiver, Select, Sender, unbounded};
use devtools_traits::{
@@ -121,9 +126,10 @@ use devtools_traits::{
use embedder_traits::resources::{self, Resource};
use embedder_traits::user_content_manager::UserContentManager;
use embedder_traits::{
- Cursor, EmbedderMsg, EmbedderProxy, ImeEvent, InputEvent, MediaSessionActionType,
- MediaSessionEvent, MediaSessionPlaybackState, MouseButton, MouseButtonAction, MouseButtonEvent,
- Theme, ViewportDetails, WebDriverCommandMsg, WebDriverLoadStatus,
+ AnimationState, CompositorHitTestResult, Cursor, EmbedderMsg, EmbedderProxy, ImeEvent,
+ InputEvent, MediaSessionActionType, MediaSessionEvent, MediaSessionPlaybackState, MouseButton,
+ MouseButtonAction, MouseButtonEvent, Theme, ViewportDetails, WebDriverCommandMsg,
+ WebDriverLoadStatus,
};
use euclid::Size2D;
use euclid::default::Size2D as UntypedSize2D;
@@ -142,13 +148,8 @@ use net_traits::{self, IpcSend, ReferrerPolicy, ResourceThreads};
use profile_traits::{mem, time};
use script_layout_interface::{LayoutFactory, ScriptThreadFactory};
use script_traits::{
- AnimationState, AuxiliaryWebViewCreationRequest, AuxiliaryWebViewCreationResponse,
- BroadcastMsg, ConstellationInputEvent, DiscardBrowsingContext, DocumentActivity, DocumentState,
- IFrameLoadInfo, IFrameLoadInfoWithData, IFrameSandboxState, IFrameSizeMsg, Job, LoadData,
- LoadOrigin, MessagePortMsg, NavigationHistoryBehavior, PortMessageTask,
- ProgressiveWebMetricType, SWManagerMsg, SWManagerSenders, ScriptThreadMessage,
- ScriptToConstellationChan, ScriptToConstellationMessage, ServiceWorkerManagerFactory,
- ServiceWorkerMsg, StructuredSerializedData, UpdatePipelineIdReason,
+ ConstellationInputEvent, DiscardBrowsingContext, DocumentActivity, ProgressiveWebMetricType,
+ ScriptThreadMessage, UpdatePipelineIdReason,
};
use serde::{Deserialize, Serialize};
use servo_config::{opts, pref};
diff --git a/components/constellation/logging.rs b/components/constellation/logging.rs
index 264287524d3..97ff0202bd8 100644
--- a/components/constellation/logging.rs
+++ b/components/constellation/logging.rs
@@ -12,11 +12,13 @@ use std::thread;
use backtrace::Backtrace;
use base::id::WebViewId;
-use constellation_traits::{EmbedderToConstellationMessage, LogEntry};
+use constellation_traits::{
+ EmbedderToConstellationMessage, LogEntry, ScriptToConstellationChan,
+ ScriptToConstellationMessage,
+};
use crossbeam_channel::Sender;
use log::{Level, LevelFilter, Log, Metadata, Record};
use parking_lot::ReentrantMutex;
-use script_traits::{ScriptToConstellationChan, ScriptToConstellationMessage};
/// A logger directed at the constellation from content processes
/// #[derive(Clone)]
diff --git a/components/constellation/pipeline.rs b/components/constellation/pipeline.rs
index fc988f6e408..8095cd6f0ae 100644
--- a/components/constellation/pipeline.rs
+++ b/components/constellation/pipeline.rs
@@ -19,10 +19,11 @@ use base::id::{
use bluetooth_traits::BluetoothRequest;
use canvas_traits::webgl::WebGLPipeline;
use compositing_traits::{CompositionPipeline, CompositorMsg, CompositorProxy};
+use constellation_traits::{LoadData, SWManagerMsg, ScriptToConstellationChan};
use crossbeam_channel::{Sender, unbounded};
use devtools_traits::{DevtoolsControlMsg, ScriptToDevtoolsControlMsg};
-use embedder_traits::ViewportDetails;
use embedder_traits::user_content_manager::UserContentManager;
+use embedder_traits::{AnimationState, ViewportDetails};
use fonts::{SystemFontServiceProxy, SystemFontServiceProxySender};
use ipc_channel::Error;
use ipc_channel::ipc::{self, IpcReceiver, IpcSender};
@@ -37,8 +38,8 @@ use profile_traits::mem::{ProfilerMsg, Reporter};
use profile_traits::{mem as profile_mem, time};
use script_layout_interface::{LayoutFactory, ScriptThreadFactory};
use script_traits::{
- AnimationState, DiscardBrowsingContext, DocumentActivity, InitialScriptState, LoadData,
- NewLayoutInfo, SWManagerMsg, ScriptThreadMessage, ScriptToConstellationChan,
+ DiscardBrowsingContext, DocumentActivity, InitialScriptState, NewLayoutInfo,
+ ScriptThreadMessage,
};
use serde::{Deserialize, Serialize};
use servo_config::opts::{self, Opts};
diff --git a/components/constellation/serviceworker.rs b/components/constellation/serviceworker.rs
index 51384752d66..e566b8b01a0 100644
--- a/components/constellation/serviceworker.rs
+++ b/components/constellation/serviceworker.rs
@@ -2,9 +2,9 @@
* 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 constellation_traits::{SWManagerSenders, ServiceWorkerManagerFactory};
use ipc_channel::Error;
use ipc_channel::ipc::IpcSender;
-use script_traits::{SWManagerSenders, ServiceWorkerManagerFactory};
use serde::{Deserialize, Serialize};
use servo_config::opts::{self, Opts};
use servo_config::prefs;
diff --git a/components/constellation/session_history.rs b/components/constellation/session_history.rs
index 1da2ea4db65..4d7c9979497 100644
--- a/components/constellation/session_history.rs
+++ b/components/constellation/session_history.rs
@@ -6,9 +6,9 @@ use std::cmp::PartialEq;
use std::fmt;
use base::id::{BrowsingContextId, HistoryStateId, PipelineId, WebViewId};
+use constellation_traits::LoadData;
use embedder_traits::ViewportDetails;
use log::debug;
-use script_traits::LoadData;
use servo_url::ServoUrl;
use crate::browsingcontext::NewBrowsingContextInfo;
diff --git a/components/constellation/tracing.rs b/components/constellation/tracing.rs
index 7e38027afcb..a939bbafc48 100644
--- a/components/constellation/tracing.rs
+++ b/components/constellation/tracing.rs
@@ -113,7 +113,7 @@ mod from_script {
};
}
- impl LogTarget for script_traits::ScriptToConstellationMessage {
+ impl LogTarget for constellation_traits::ScriptToConstellationMessage {
fn log_target(&self) -> &'static str {
match self {
Self::CompleteMessagePortTransfer(..) => target!("CompleteMessagePortTransfer"),
diff --git a/components/layout_thread_2020/lib.rs b/components/layout_thread_2020/lib.rs
index a34a7bf75a5..9639275608b 100644
--- a/components/layout_thread_2020/lib.rs
+++ b/components/layout_thread_2020/lib.rs
@@ -17,9 +17,9 @@ use std::sync::{Arc, LazyLock};
use app_units::Au;
use base::Epoch;
use base::id::{PipelineId, WebViewId};
-use constellation_traits::{ScrollState, UntrustedNodeAddress};
-use embedder_traits::ViewportDetails;
+use constellation_traits::ScrollState;
use embedder_traits::resources::{self, Resource};
+use embedder_traits::{UntrustedNodeAddress, ViewportDetails};
use euclid::default::{Point2D as UntypedPoint2D, Rect as UntypedRect, Size2D as UntypedSize2D};
use euclid::{Point2D, Scale, Size2D, Vector2D};
use fnv::FnvHashMap;
diff --git a/components/metrics/Cargo.toml b/components/metrics/Cargo.toml
index a62ff8c98dc..3888b41bb29 100644
--- a/components/metrics/Cargo.toml
+++ b/components/metrics/Cargo.toml
@@ -13,6 +13,7 @@ path = "lib.rs"
[dependencies]
base = { workspace = true }
+constellation_traits = { workspace = true }
ipc-channel = { workspace = true }
log = { workspace = true }
malloc_size_of = { workspace = true }
diff --git a/components/script/animations.rs b/components/script/animations.rs
index 464dc759cdc..693c3ae978f 100644
--- a/components/script/animations.rs
+++ b/components/script/animations.rs
@@ -7,11 +7,11 @@
use std::cell::Cell;
use base::id::PipelineId;
-use constellation_traits::UntrustedNodeAddress;
+use constellation_traits::ScriptToConstellationMessage;
use cssparser::ToCss;
+use embedder_traits::{AnimationState as AnimationsPresentState, UntrustedNodeAddress};
use fxhash::{FxHashMap, FxHashSet};
use libc::c_void;
-use script_traits::{AnimationState as AnimationsPresentState, ScriptToConstellationMessage};
use serde::{Deserialize, Serialize};
use style::animation::{
Animation, AnimationSetKey, AnimationState, DocumentAnimationSet, ElementAnimationSet,
diff --git a/components/script/body.rs b/components/script/body.rs
index 119ad294753..113f3ac7adb 100644
--- a/components/script/body.rs
+++ b/components/script/body.rs
@@ -5,6 +5,7 @@
use std::rc::Rc;
use std::{ptr, slice, str};
+use constellation_traits::BlobImpl;
use encoding_rs::{Encoding, UTF_8};
use ipc_channel::ipc::{self, IpcReceiver, IpcSender};
use ipc_channel::router::ROUTER;
@@ -17,7 +18,6 @@ use mime::{self, Mime};
use net_traits::request::{
BodyChunkRequest, BodyChunkResponse, BodySource as NetBodySource, RequestBody,
};
-use script_traits::serializable::BlobImpl;
use url::form_urlencoded;
use crate::dom::bindings::buffer_source::create_buffer_source;
diff --git a/components/script/canvas_state.rs b/components/script/canvas_state.rs
index 72482758863..aea3012b365 100644
--- a/components/script/canvas_state.rs
+++ b/components/script/canvas_state.rs
@@ -12,6 +12,7 @@ use canvas_traits::canvas::{
FillRule, LineCapStyle, LineJoinStyle, LinearGradientStyle, PathSegment, RadialGradientStyle,
RepetitionStyle, TextAlign, TextBaseline, TextMetrics as CanvasTextMetrics,
};
+use constellation_traits::ScriptToConstellationMessage;
use cssparser::color::clamp_unit_f32;
use cssparser::{Parser, ParserInput};
use euclid::default::{Point2D, Rect, Size2D, Transform2D};
@@ -21,7 +22,6 @@ use net_traits::image_cache::{ImageCache, ImageResponse};
use net_traits::request::CorsSettings;
use pixels::PixelFormat;
use profile_traits::ipc as profiled_ipc;
-use script_traits::ScriptToConstellationMessage;
use servo_url::{ImmutableOrigin, ServoUrl};
use style::color::{AbsoluteColor, ColorFlags, ColorSpace};
use style::context::QuirksMode;
diff --git a/components/script/clipboard_provider.rs b/components/script/clipboard_provider.rs
index ac3e9ab8849..4c0f5467be6 100644
--- a/components/script/clipboard_provider.rs
+++ b/components/script/clipboard_provider.rs
@@ -3,9 +3,9 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use base::id::WebViewId;
+use constellation_traits::{ScriptToConstellationChan, ScriptToConstellationMessage};
use embedder_traits::EmbedderMsg;
use ipc_channel::ipc::channel;
-use script_traits::{ScriptToConstellationChan, ScriptToConstellationMessage};
/// A trait which abstracts access to the embedder's clipboard in order to allow unit
/// testing clipboard-dependent parts of `script`.
diff --git a/components/script/dom/abstractworker.rs b/components/script/dom/abstractworker.rs
index 5f7131eb0a0..8a353531145 100644
--- a/components/script/dom/abstractworker.rs
+++ b/components/script/dom/abstractworker.rs
@@ -2,7 +2,7 @@
* 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 script_traits::StructuredSerializedData;
+use constellation_traits::StructuredSerializedData;
use servo_url::ImmutableOrigin;
use crate::dom::bindings::refcounted::Trusted;
diff --git a/components/script/dom/bindings/structuredclone.rs b/components/script/dom/bindings/structuredclone.rs
index d7ce192652c..572faca1907 100644
--- a/components/script/dom/bindings/structuredclone.rs
+++ b/components/script/dom/bindings/structuredclone.rs
@@ -10,6 +10,10 @@ use std::os::raw;
use std::ptr;
use base::id::{BlobId, DomPointId, MessagePortId, PipelineNamespaceId};
+use constellation_traits::{
+ BlobImpl, DomPoint, MessagePortImpl, Serializable as SerializableInterface,
+ StructuredSerializedData, Transferrable as TransferrableInterface,
+};
use js::glue::{
CopyJSStructuredCloneData, DeleteJSAutoStructuredCloneBuffer, GetLengthOfJSStructuredCloneData,
NewJSAutoStructuredCloneBuffer, WriteBytesToJSStructuredCloneData,
@@ -24,12 +28,6 @@ use js::jsval::UndefinedValue;
use js::rust::wrappers::{JS_ReadStructuredClone, JS_WriteStructuredClone};
use js::rust::{CustomAutoRooterGuard, HandleValue, MutableHandleValue};
use script_bindings::conversions::IDLInterface;
-use script_traits::serializable::{BlobImpl, DomPoint};
-use script_traits::transferable::MessagePortImpl;
-use script_traits::{
- Serializable as SerializableInterface, StructuredSerializedData,
- Transferrable as TransferrableInterface,
-};
use strum::IntoEnumIterator;
use crate::dom::bindings::conversions::{ToJSValConvertible, root_from_object};
diff --git a/components/script/dom/blob.rs b/components/script/dom/blob.rs
index d23cb62002e..5f9d4052929 100644
--- a/components/script/dom/blob.rs
+++ b/components/script/dom/blob.rs
@@ -8,13 +8,13 @@ use std::ptr;
use std::rc::Rc;
use base::id::{BlobId, BlobIndex, PipelineNamespaceId};
+use constellation_traits::BlobImpl;
use dom_struct::dom_struct;
use encoding_rs::UTF_8;
use js::jsapi::JSObject;
use js::rust::HandleObject;
use js::typedarray::Uint8;
use net_traits::filemanager_thread::RelativePos;
-use script_traits::serializable::BlobImpl;
use uuid::Uuid;
use crate::body::{FetchedData, run_array_buffer_data_algorithm};
diff --git a/components/script/dom/broadcastchannel.rs b/components/script/dom/broadcastchannel.rs
index 2d7d6740589..aae748262f2 100644
--- a/components/script/dom/broadcastchannel.rs
+++ b/components/script/dom/broadcastchannel.rs
@@ -4,9 +4,9 @@
use std::cell::Cell;
+use constellation_traits::BroadcastMsg;
use dom_struct::dom_struct;
use js::rust::{HandleObject, HandleValue};
-use script_traits::BroadcastMsg;
use uuid::Uuid;
use crate::dom::bindings::codegen::Bindings::BroadcastChannelBinding::BroadcastChannelMethods;
diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs
index 5bfde8dcfc7..3f6b6ee7d90 100644
--- a/components/script/dom/dedicatedworkerglobalscope.rs
+++ b/components/script/dom/dedicatedworkerglobalscope.rs
@@ -7,6 +7,7 @@ use std::sync::atomic::AtomicBool;
use std::thread::{self, JoinHandle};
use base::id::{BrowsingContextId, PipelineId, WebViewId};
+use constellation_traits::{WorkerGlobalScopeInit, WorkerScriptLoadOrigin};
use crossbeam_channel::{Receiver, Sender, unbounded};
use devtools_traits::DevtoolScriptControlMsg;
use dom_struct::dom_struct;
@@ -21,7 +22,6 @@ use net_traits::request::{
CredentialsMode, Destination, InsecureRequestsPolicy, ParserMetadata, Referrer, RequestBuilder,
RequestMode,
};
-use script_traits::{WorkerGlobalScopeInit, WorkerScriptLoadOrigin};
use servo_rand::random;
use servo_url::{ImmutableOrigin, ServoUrl};
use style::thread_state::{self, ThreadState};
diff --git a/components/script/dom/dissimilaroriginwindow.rs b/components/script/dom/dissimilaroriginwindow.rs
index e5258daf2c1..233b43855c4 100644
--- a/components/script/dom/dissimilaroriginwindow.rs
+++ b/components/script/dom/dissimilaroriginwindow.rs
@@ -3,11 +3,11 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use base::id::PipelineId;
+use constellation_traits::{ScriptToConstellationMessage, StructuredSerializedData};
use dom_struct::dom_struct;
use js::jsapi::{Heap, JSObject};
use js::jsval::UndefinedValue;
use js::rust::{CustomAutoRooter, CustomAutoRooterGuard, HandleValue, MutableHandleValue};
-use script_traits::{ScriptToConstellationMessage, StructuredSerializedData};
use servo_url::ServoUrl;
use crate::dom::bindings::codegen::Bindings::DissimilarOriginWindowBinding;
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs
index 2e1d3859b4b..d76367ca982 100644
--- a/components/script/dom/document.rs
+++ b/components/script/dom/document.rs
@@ -20,16 +20,16 @@ use base::id::WebViewId;
use canvas_traits::canvas::CanvasId;
use canvas_traits::webgl::{self, WebGLContextId, WebGLMsg};
use chrono::Local;
-use constellation_traits::{AnimationTickType, CompositorHitTestResult};
+use constellation_traits::{AnimationTickType, ScriptToConstellationMessage};
use content_security_policy::{self as csp, CspList, PolicyDisposition};
use cookie::Cookie;
use cssparser::match_ignore_ascii_case;
use devtools_traits::ScriptToDevtoolsControlMsg;
use dom_struct::dom_struct;
use embedder_traits::{
- AllowOrDeny, ContextMenuResult, EditingActionEvent, EmbedderMsg, ImeEvent, InputEvent,
- LoadStatus, MouseButton, MouseButtonAction, MouseButtonEvent, TouchEvent, TouchEventType,
- TouchId, WheelEvent,
+ AllowOrDeny, AnimationState, CompositorHitTestResult, ContextMenuResult, EditingActionEvent,
+ EmbedderMsg, ImeEvent, InputEvent, LoadStatus, MouseButton, MouseButtonAction,
+ MouseButtonEvent, TouchEvent, TouchEventType, TouchId, WheelEvent,
};
use encoding_rs::{Encoding, UTF_8};
use euclid::default::{Point2D, Rect, Size2D};
@@ -53,10 +53,7 @@ use profile_traits::ipc as profile_ipc;
use profile_traits::time::TimerMetadataFrameType;
use script_bindings::interfaces::DocumentHelpers;
use script_layout_interface::{PendingRestyle, TrustedNodeAddress};
-use script_traits::{
- AnimationState, ConstellationInputEvent, DocumentActivity, ProgressiveWebMetricType,
- ScriptToConstellationMessage,
-};
+use script_traits::{ConstellationInputEvent, DocumentActivity, ProgressiveWebMetricType};
use servo_arc::Arc;
use servo_config::pref;
use servo_media::{ClientContextId, ServoMedia};
diff --git a/components/script/dom/documentorshadowroot.rs b/components/script/dom/documentorshadowroot.rs
index 6d59623c966..e3b09924689 100644
--- a/components/script/dom/documentorshadowroot.rs
+++ b/components/script/dom/documentorshadowroot.rs
@@ -4,7 +4,7 @@
use std::fmt;
-use constellation_traits::UntrustedNodeAddress;
+use embedder_traits::UntrustedNodeAddress;
use euclid::default::Point2D;
use script_layout_interface::{NodesFromPointQueryType, QueryMsg};
use servo_arc::Arc;
diff --git a/components/script/dom/dompoint.rs b/components/script/dom/dompoint.rs
index 84b02e6f4c4..c6323b28cf7 100644
--- a/components/script/dom/dompoint.rs
+++ b/components/script/dom/dompoint.rs
@@ -5,9 +5,9 @@
use std::collections::HashMap;
use base::id::DomPointId;
+use constellation_traits::DomPoint;
use dom_struct::dom_struct;
use js::rust::HandleObject;
-use script_traits::serializable::DomPoint;
use crate::dom::bindings::codegen::Bindings::DOMPointBinding::{DOMPointInit, DOMPointMethods};
use crate::dom::bindings::codegen::Bindings::DOMPointReadOnlyBinding::DOMPointReadOnlyMethods;
diff --git a/components/script/dom/dompointreadonly.rs b/components/script/dom/dompointreadonly.rs
index fed82bd9055..0bd6d5742c7 100644
--- a/components/script/dom/dompointreadonly.rs
+++ b/components/script/dom/dompointreadonly.rs
@@ -7,9 +7,9 @@ use std::collections::HashMap;
use std::num::NonZeroU32;
use base::id::{DomPointId, DomPointIndex, PipelineNamespaceId};
+use constellation_traits::DomPoint;
use dom_struct::dom_struct;
use js::rust::HandleObject;
-use script_traits::serializable::DomPoint;
use crate::dom::bindings::codegen::Bindings::DOMPointBinding::DOMPointInit;
use crate::dom::bindings::codegen::Bindings::DOMPointReadOnlyBinding::DOMPointReadOnlyMethods;
diff --git a/components/script/dom/file.rs b/components/script/dom/file.rs
index 06671794c13..14a0ce68094 100644
--- a/components/script/dom/file.rs
+++ b/components/script/dom/file.rs
@@ -4,10 +4,10 @@
use std::time::SystemTime;
+use constellation_traits::BlobImpl;
use dom_struct::dom_struct;
use js::rust::HandleObject;
use net_traits::filemanager_thread::SelectedFile;
-use script_traits::serializable::BlobImpl;
use time::{Duration, OffsetDateTime};
use crate::dom::bindings::codegen::Bindings::FileBinding;
diff --git a/components/script/dom/formdata.rs b/components/script/dom/formdata.rs
index 6c8c7e057a9..1082a202f34 100644
--- a/components/script/dom/formdata.rs
+++ b/components/script/dom/formdata.rs
@@ -2,10 +2,10 @@
* 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 constellation_traits::BlobImpl;
use dom_struct::dom_struct;
use html5ever::LocalName;
use js::rust::HandleObject;
-use script_traits::serializable::BlobImpl;
use super::bindings::trace::NoTrace;
use crate::dom::bindings::cell::DomRefCell;
diff --git a/components/script/dom/globalscope.rs b/components/script/dom/globalscope.rs
index 7d3c65dad2f..1ff9a7334be 100644
--- a/components/script/dom/globalscope.rs
+++ b/components/script/dom/globalscope.rs
@@ -17,6 +17,10 @@ use base::id::{
BlobId, BroadcastChannelRouterId, MessagePortId, MessagePortRouterId, PipelineId,
ServiceWorkerId, ServiceWorkerRegistrationId, WebViewId,
};
+use constellation_traits::{
+ BlobData, BlobImpl, BroadcastMsg, FileBlob, MessagePortImpl, MessagePortMsg, PortMessageTask,
+ ScriptToConstellationChan, ScriptToConstellationMessage,
+};
use content_security_policy::{CheckResult, CspList, PolicyDisposition};
use crossbeam_channel::Sender;
use devtools_traits::{PageError, ScriptToDevtoolsControlMsg};
@@ -55,12 +59,6 @@ use net_traits::{
};
use profile_traits::{ipc as profile_ipc, mem as profile_mem, time as profile_time};
use script_bindings::interfaces::GlobalScopeHelpers;
-use script_traits::serializable::{BlobData, BlobImpl, FileBlob};
-use script_traits::transferable::MessagePortImpl;
-use script_traits::{
- BroadcastMsg, MessagePortMsg, PortMessageTask, ScriptToConstellationChan,
- ScriptToConstellationMessage,
-};
use servo_url::{ImmutableOrigin, MutableOrigin, ServoUrl};
use timers::{TimerEventId, TimerEventRequest, TimerSource};
use uuid::Uuid;
diff --git a/components/script/dom/history.rs b/components/script/dom/history.rs
index 316e9c86690..4b51f3e62d2 100644
--- a/components/script/dom/history.rs
+++ b/components/script/dom/history.rs
@@ -6,7 +6,9 @@ use std::cell::Cell;
use std::cmp::Ordering;
use base::id::HistoryStateId;
-use constellation_traits::TraversalDirection;
+use constellation_traits::{
+ ScriptToConstellationMessage, StructuredSerializedData, TraversalDirection,
+};
use dom_struct::dom_struct;
use js::jsapi::Heap;
use js::jsval::{JSVal, NullValue, UndefinedValue};
@@ -14,7 +16,6 @@ use js::rust::{HandleValue, MutableHandleValue};
use net_traits::{CoreResourceMsg, IpcSend};
use profile_traits::ipc;
use profile_traits::ipc::channel;
-use script_traits::{ScriptToConstellationMessage, StructuredSerializedData};
use servo_url::ServoUrl;
use crate::dom::bindings::codegen::Bindings::HistoryBinding::HistoryMethods;
diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs
index 547ee9d8ccd..7d459349567 100644
--- a/components/script/dom/htmlcanvaselement.rs
+++ b/components/script/dom/htmlcanvaselement.rs
@@ -7,6 +7,9 @@ use std::collections::HashMap;
use std::rc::Rc;
use canvas_traits::webgl::{GLContextAttributes, WebGLVersion};
+use constellation_traits::BlobImpl;
+#[cfg(feature = "webgpu")]
+use constellation_traits::ScriptToConstellationMessage;
use dom_struct::dom_struct;
use euclid::default::Size2D;
use html5ever::{LocalName, Prefix, local_name, namespace_url, ns};
@@ -20,9 +23,6 @@ use ipc_channel::ipc::{self as ipcchan};
use js::error::throw_type_error;
use js::rust::{HandleObject, HandleValue};
use script_layout_interface::{HTMLCanvasData, HTMLCanvasDataSource};
-#[cfg(feature = "webgpu")]
-use script_traits::ScriptToConstellationMessage;
-use script_traits::serializable::BlobImpl;
use servo_media::streams::MediaStreamType;
use servo_media::streams::registry::MediaStreamId;
use style::attr::AttrValue;
diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs
index fd85e3fd1a9..260c6cfb620 100644
--- a/components/script/dom/htmlformelement.rs
+++ b/components/script/dom/htmlformelement.rs
@@ -5,6 +5,7 @@
use std::borrow::ToOwned;
use std::cell::Cell;
+use constellation_traits::{LoadData, LoadOrigin, NavigationHistoryBehavior};
use dom_struct::dom_struct;
use encoding_rs::{Encoding, UTF_8};
use headers::{ContentType, HeaderMapExt};
@@ -14,7 +15,6 @@ use js::rust::HandleObject;
use mime::{self, Mime};
use net_traits::http_percent_encode;
use net_traits::request::Referrer;
-use script_traits::{LoadData, LoadOrigin, NavigationHistoryBehavior};
use servo_rand::random;
use style::attr::AttrValue;
use style::str::split_html_space_chars;
diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs
index 04127ef1b17..cc6c3f047ce 100644
--- a/components/script/dom/htmliframeelement.rs
+++ b/components/script/dom/htmliframeelement.rs
@@ -6,17 +6,18 @@ use std::cell::Cell;
use base::id::{BrowsingContextId, PipelineId, WebViewId};
use bitflags::bitflags;
+use constellation_traits::IFrameSandboxState::{IFrameSandboxed, IFrameUnsandboxed};
+use constellation_traits::{
+ IFrameLoadInfo, IFrameLoadInfoWithData, JsEvalResult, LoadData, LoadOrigin,
+ NavigationHistoryBehavior, ScriptToConstellationMessage,
+};
use dom_struct::dom_struct;
use embedder_traits::ViewportDetails;
use html5ever::{LocalName, Prefix, local_name, namespace_url, ns};
use js::rust::HandleObject;
use net_traits::ReferrerPolicy;
use profile_traits::ipc as ProfiledIpc;
-use script_traits::IFrameSandboxState::{IFrameSandboxed, IFrameUnsandboxed};
-use script_traits::{
- IFrameLoadInfo, IFrameLoadInfoWithData, JsEvalResult, LoadData, LoadOrigin,
- NavigationHistoryBehavior, NewLayoutInfo, ScriptToConstellationMessage, UpdatePipelineIdReason,
-};
+use script_traits::{NewLayoutInfo, UpdatePipelineIdReason};
use servo_url::ServoUrl;
use style::attr::{AttrValue, LengthOrPercentageOrAuto};
use stylo_atoms::Atom;
diff --git a/components/script/dom/htmlmetaelement.rs b/components/script/dom/htmlmetaelement.rs
index 16b6a2463d4..fd95ac1abbf 100644
--- a/components/script/dom/htmlmetaelement.rs
+++ b/components/script/dom/htmlmetaelement.rs
@@ -6,11 +6,11 @@ use std::str::FromStr;
use std::sync::LazyLock;
use std::time::Duration;
+use constellation_traits::NavigationHistoryBehavior;
use dom_struct::dom_struct;
use html5ever::{LocalName, Prefix};
use js::rust::HandleObject;
use regex::bytes::Regex;
-use script_traits::NavigationHistoryBehavior;
use servo_url::ServoUrl;
use style::str::HTML_SPACE_CHARACTERS;
diff --git a/components/script/dom/location.rs b/components/script/dom/location.rs
index eabf9c83f81..cbc0566a2e5 100644
--- a/components/script/dom/location.rs
+++ b/components/script/dom/location.rs
@@ -2,9 +2,9 @@
* 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 constellation_traits::{LoadData, LoadOrigin, NavigationHistoryBehavior};
use dom_struct::dom_struct;
use net_traits::request::Referrer;
-use script_traits::{LoadData, LoadOrigin, NavigationHistoryBehavior};
use servo_url::{MutableOrigin, ServoUrl};
use crate::dom::bindings::codegen::Bindings::LocationBinding::LocationMethods;
diff --git a/components/script/dom/mediasession.rs b/components/script/dom/mediasession.rs
index f54335afb60..2d3b44dec7e 100644
--- a/components/script/dom/mediasession.rs
+++ b/components/script/dom/mediasession.rs
@@ -4,11 +4,11 @@
use std::rc::Rc;
+use constellation_traits::ScriptToConstellationMessage;
use dom_struct::dom_struct;
use embedder_traits::{
MediaMetadata as EmbedderMediaMetadata, MediaSessionActionType, MediaSessionEvent,
};
-use script_traits::ScriptToConstellationMessage;
use super::bindings::trace::HashMapTracedValues;
use crate::conversions::Convert;
diff --git a/components/script/dom/messageport.rs b/components/script/dom/messageport.rs
index f10ba10383e..8addfe0731f 100644
--- a/components/script/dom/messageport.rs
+++ b/components/script/dom/messageport.rs
@@ -8,11 +8,10 @@ use std::num::NonZeroU32;
use std::rc::Rc;
use base::id::{MessagePortId, MessagePortIndex, PipelineNamespaceId};
+use constellation_traits::{MessagePortImpl, PortMessageTask};
use dom_struct::dom_struct;
use js::jsapi::{Heap, JSObject};
use js::rust::{CustomAutoRooter, CustomAutoRooterGuard, HandleValue};
-use script_traits::PortMessageTask;
-use script_traits::transferable::MessagePortImpl;
use crate::dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
use crate::dom::bindings::codegen::Bindings::MessagePortBinding::{
diff --git a/components/script/dom/mouseevent.rs b/components/script/dom/mouseevent.rs
index 5818eb7352f..63752e6eb0a 100644
--- a/components/script/dom/mouseevent.rs
+++ b/components/script/dom/mouseevent.rs
@@ -5,8 +5,8 @@
use std::cell::Cell;
use std::default::Default;
-use constellation_traits::CompositorHitTestResult;
use dom_struct::dom_struct;
+use embedder_traits::CompositorHitTestResult;
use euclid::default::Point2D;
use js::rust::HandleObject;
use servo_config::pref;
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs
index eff078c49c4..9c069a28c50 100644
--- a/components/script/dom/node.rs
+++ b/components/script/dom/node.rs
@@ -16,9 +16,9 @@ use std::{cmp, fmt, iter};
use app_units::Au;
use base::id::{BrowsingContextId, PipelineId};
use bitflags::bitflags;
-use constellation_traits::UntrustedNodeAddress;
use devtools_traits::NodeInfo;
use dom_struct::dom_struct;
+use embedder_traits::UntrustedNodeAddress;
use euclid::default::{Rect, Size2D, Vector2D};
use html5ever::serialize::HtmlSerializer;
use html5ever::{Namespace, Prefix, QualName, namespace_url, ns, serialize as html_serialize};
diff --git a/components/script/dom/rtcdatachannel.rs b/components/script/dom/rtcdatachannel.rs
index d9c5853a6a1..1aad3ef6794 100644
--- a/components/script/dom/rtcdatachannel.rs
+++ b/components/script/dom/rtcdatachannel.rs
@@ -5,13 +5,13 @@
use std::cell::Cell;
use std::ptr;
+use constellation_traits::BlobImpl;
use dom_struct::dom_struct;
use js::conversions::ToJSValConvertible;
use js::jsapi::{JSAutoRealm, JSObject};
use js::jsval::UndefinedValue;
use js::rust::CustomAutoRooterGuard;
use js::typedarray::{ArrayBuffer, ArrayBufferView, CreateWith};
-use script_traits::serializable::BlobImpl;
use servo_media::webrtc::{
DataChannelId, DataChannelInit, DataChannelMessage, DataChannelState, WebRtcError,
};
diff --git a/components/script/dom/serviceworker.rs b/components/script/dom/serviceworker.rs
index 68c995f6ce3..694c54e7455 100644
--- a/components/script/dom/serviceworker.rs
+++ b/components/script/dom/serviceworker.rs
@@ -5,10 +5,10 @@
use std::cell::Cell;
use base::id::ServiceWorkerId;
+use constellation_traits::{DOMMessage, ScriptToConstellationMessage};
use dom_struct::dom_struct;
use js::jsapi::{Heap, JSObject};
use js::rust::{CustomAutoRooter, CustomAutoRooterGuard, HandleValue};
-use script_traits::{DOMMessage, ScriptToConstellationMessage};
use servo_url::ServoUrl;
use crate::dom::abstractworker::SimpleWorkerErrorHandler;
diff --git a/components/script/dom/serviceworkercontainer.rs b/components/script/dom/serviceworkercontainer.rs
index b532714ec1a..b0781941f51 100644
--- a/components/script/dom/serviceworkercontainer.rs
+++ b/components/script/dom/serviceworkercontainer.rs
@@ -5,12 +5,12 @@
use std::default::Default;
use std::rc::Rc;
+use constellation_traits::{
+ Job, JobError, JobResult, JobResultValue, JobType, ScriptToConstellationMessage,
+};
use dom_struct::dom_struct;
use ipc_channel::ipc;
use ipc_channel::router::ROUTER;
-use script_traits::{
- Job, JobError, JobResult, JobResultValue, JobType, ScriptToConstellationMessage,
-};
use crate::dom::bindings::codegen::Bindings::ServiceWorkerContainerBinding::{
RegistrationOptions, ServiceWorkerContainerMethods,
diff --git a/components/script/dom/serviceworkerglobalscope.rs b/components/script/dom/serviceworkerglobalscope.rs
index a158363f9f2..defed40f0ef 100644
--- a/components/script/dom/serviceworkerglobalscope.rs
+++ b/components/script/dom/serviceworkerglobalscope.rs
@@ -8,6 +8,9 @@ use std::thread::{self, JoinHandle};
use std::time::{Duration, Instant};
use base::id::PipelineId;
+use constellation_traits::{
+ ScopeThings, ServiceWorkerMsg, WorkerGlobalScopeInit, WorkerScriptLoadOrigin,
+};
use crossbeam_channel::{Receiver, Sender, after, unbounded};
use devtools_traits::DevtoolScriptControlMsg;
use dom_struct::dom_struct;
@@ -19,7 +22,6 @@ use net_traits::request::{
CredentialsMode, Destination, InsecureRequestsPolicy, ParserMetadata, Referrer, RequestBuilder,
};
use net_traits::{CustomResponseMediator, IpcSend};
-use script_traits::{ScopeThings, ServiceWorkerMsg, WorkerGlobalScopeInit, WorkerScriptLoadOrigin};
use servo_config::pref;
use servo_rand::random;
use servo_url::ServoUrl;
diff --git a/components/script/dom/serviceworkerregistration.rs b/components/script/dom/serviceworkerregistration.rs
index bbd3840e695..fc29a4b7afe 100644
--- a/components/script/dom/serviceworkerregistration.rs
+++ b/components/script/dom/serviceworkerregistration.rs
@@ -5,10 +5,10 @@
use std::cell::Cell;
use base::id::ServiceWorkerRegistrationId;
+use constellation_traits::{ScopeThings, WorkerScriptLoadOrigin};
use devtools_traits::WorkerId;
use dom_struct::dom_struct;
use net_traits::request::Referrer;
-use script_traits::{ScopeThings, WorkerScriptLoadOrigin};
use servo_url::ServoUrl;
use uuid::Uuid;
diff --git a/components/script/dom/servointernals.rs b/components/script/dom/servointernals.rs
index 87c0d246e6f..54516c9a5b0 100644
--- a/components/script/dom/servointernals.rs
+++ b/components/script/dom/servointernals.rs
@@ -4,12 +4,12 @@
use std::rc::Rc;
+use constellation_traits::ScriptToConstellationMessage;
use dom_struct::dom_struct;
use js::rust::HandleObject;
use profile_traits::mem::MemoryReportResult;
use script_bindings::interfaces::ServoInternalsHelpers;
use script_bindings::script_runtime::JSContext;
-use script_traits::ScriptToConstellationMessage;
use crate::dom::bindings::codegen::Bindings::ServoInternalsBinding::ServoInternalsMethods;
use crate::dom::bindings::error::Error;
diff --git a/components/script/dom/storage.rs b/components/script/dom/storage.rs
index 03b59fb6c15..054e4ab5ac3 100644
--- a/components/script/dom/storage.rs
+++ b/components/script/dom/storage.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 constellation_traits::ScriptToConstellationMessage;
use dom_struct::dom_struct;
use ipc_channel::ipc::IpcSender;
use net_traits::IpcSend;
use net_traits::storage_thread::{StorageThreadMsg, StorageType};
use profile_traits::ipc;
-use script_traits::ScriptToConstellationMessage;
use servo_url::ServoUrl;
use crate::dom::bindings::codegen::Bindings::StorageBinding::StorageMethods;
diff --git a/components/script/dom/testbinding.rs b/components/script/dom/testbinding.rs
index e54fea515a6..8c1b9994284 100644
--- a/components/script/dom/testbinding.rs
+++ b/components/script/dom/testbinding.rs
@@ -9,6 +9,7 @@ use std::ptr::{self, NonNull};
use std::rc::Rc;
use std::time::Duration;
+use constellation_traits::BlobImpl;
use dom_struct::dom_struct;
use js::jsapi::{Heap, JS_NewPlainObject, JSObject};
use js::jsval::JSVal;
@@ -16,7 +17,6 @@ use js::rust::{CustomAutoRooterGuard, HandleObject, HandleValue, MutableHandleVa
use js::typedarray::{self, Uint8ClampedArray};
use script_bindings::interfaces::TestBindingHelpers;
use script_bindings::record::Record;
-use script_traits::serializable::BlobImpl;
use servo_config::prefs;
use crate::dom::bindings::buffer_source::create_buffer_source;
diff --git a/components/script/dom/webgpu/gpu.rs b/components/script/dom/webgpu/gpu.rs
index e07224c8248..f02ae386772 100644
--- a/components/script/dom/webgpu/gpu.rs
+++ b/components/script/dom/webgpu/gpu.rs
@@ -4,9 +4,9 @@
use std::rc::Rc;
+use constellation_traits::ScriptToConstellationMessage;
use dom_struct::dom_struct;
use js::jsapi::Heap;
-use script_traits::ScriptToConstellationMessage;
use webgpu_traits::WebGPUAdapterResponse;
use wgpu_types::PowerPreference;
diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs
index 4cfb143a10d..68e59384c60 100644
--- a/components/script/dom/websocket.rs
+++ b/components/script/dom/websocket.rs
@@ -6,6 +6,7 @@ use std::borrow::ToOwned;
use std::cell::Cell;
use std::ptr;
+use constellation_traits::BlobImpl;
use dom_struct::dom_struct;
use ipc_channel::ipc::{self, IpcReceiver, IpcSender};
use ipc_channel::router::ROUTER;
@@ -21,7 +22,6 @@ use net_traits::{
CoreResourceMsg, FetchChannels, MessageData, WebSocketDomAction, WebSocketNetworkEvent,
};
use profile_traits::ipc as ProfiledIpc;
-use script_traits::serializable::BlobImpl;
use servo_url::{ImmutableOrigin, ServoUrl};
use crate::dom::bindings::cell::DomRefCell;
diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs
index fc9c4bf88d2..c73caab123f 100644
--- a/components/script/dom/window.rs
+++ b/components/script/dom/window.rs
@@ -21,7 +21,10 @@ use base64::Engine;
#[cfg(feature = "bluetooth")]
use bluetooth_traits::BluetoothRequest;
use canvas_traits::webgl::WebGLChan;
-use constellation_traits::{ScrollState, WindowSizeType};
+use constellation_traits::{
+ DocumentState, LoadData, LoadOrigin, NavigationHistoryBehavior, ScriptToConstellationChan,
+ ScriptToConstellationMessage, ScrollState, StructuredSerializedData, WindowSizeType,
+};
use crossbeam_channel::{Sender, unbounded};
use cssparser::{Parser, ParserInput, SourceLocation};
use devtools_traits::{ScriptToDevtoolsControlMsg, TimelineMarker, TimelineMarkerType};
@@ -62,10 +65,7 @@ use script_layout_interface::{
FragmentType, Layout, PendingImageState, QueryMsg, Reflow, ReflowGoal, ReflowRequest,
TrustedNodeAddress, combine_id_with_fragment_type,
};
-use script_traits::{
- DocumentState, LoadData, LoadOrigin, NavigationHistoryBehavior, ScriptThreadMessage,
- ScriptToConstellationChan, ScriptToConstellationMessage, StructuredSerializedData,
-};
+use script_traits::ScriptThreadMessage;
use selectors::attr::CaseSensitivity;
use servo_arc::Arc as ServoArc;
use servo_config::{opts, pref};
diff --git a/components/script/dom/windowproxy.rs b/components/script/dom/windowproxy.rs
index f4e429ee731..e3fc81bf7ec 100644
--- a/components/script/dom/windowproxy.rs
+++ b/components/script/dom/windowproxy.rs
@@ -6,6 +6,10 @@ use std::cell::Cell;
use std::ptr;
use base::id::{BrowsingContextId, PipelineId, WebViewId};
+use constellation_traits::{
+ AuxiliaryWebViewCreationRequest, LoadData, LoadOrigin, NavigationHistoryBehavior,
+ ScriptToConstellationMessage,
+};
use dom_struct::dom_struct;
use html5ever::local_name;
use indexmap::map::IndexMap;
@@ -29,10 +33,7 @@ use js::rust::wrappers::{JS_TransplantObject, NewWindowProxy, SetWindowProxy};
use js::rust::{Handle, MutableHandle, MutableHandleValue, get_object_class};
use malloc_size_of::{MallocSizeOf, MallocSizeOfOps};
use net_traits::request::Referrer;
-use script_traits::{
- AuxiliaryWebViewCreationRequest, LoadData, LoadOrigin, NavigationHistoryBehavior,
- NewLayoutInfo, ScriptToConstellationMessage,
-};
+use script_traits::NewLayoutInfo;
use serde::{Deserialize, Serialize};
use servo_url::{ImmutableOrigin, ServoUrl};
use style::attr::parse_integer;
diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs
index 34fc30ce0e5..e07f88f5ec1 100644
--- a/components/script/dom/worker.rs
+++ b/components/script/dom/worker.rs
@@ -6,6 +6,7 @@ use std::cell::Cell;
use std::sync::Arc;
use std::sync::atomic::{AtomicBool, Ordering};
+use constellation_traits::{StructuredSerializedData, WorkerScriptLoadOrigin};
use crossbeam_channel::{Sender, unbounded};
use devtools_traits::{DevtoolsPageInfo, ScriptToDevtoolsControlMsg, WorkerId};
use dom_struct::dom_struct;
@@ -14,7 +15,6 @@ use js::jsapi::{Heap, JSObject};
use js::jsval::UndefinedValue;
use js::rust::{CustomAutoRooter, CustomAutoRooterGuard, HandleObject, HandleValue};
use net_traits::request::Referrer;
-use script_traits::{StructuredSerializedData, WorkerScriptLoadOrigin};
use uuid::Uuid;
use crate::dom::abstractworker::{SimpleWorkerErrorHandler, WorkerScriptMsg};
diff --git a/components/script/dom/workerglobalscope.rs b/components/script/dom/workerglobalscope.rs
index 7009f51e29a..a857b261cd0 100644
--- a/components/script/dom/workerglobalscope.rs
+++ b/components/script/dom/workerglobalscope.rs
@@ -11,6 +11,7 @@ use std::time::Duration;
use base::cross_process_instant::CrossProcessInstant;
use base::id::{PipelineId, PipelineNamespace};
+use constellation_traits::WorkerGlobalScopeInit;
use crossbeam_channel::Receiver;
use devtools_traits::{DevtoolScriptControlMsg, WorkerId};
use dom_struct::dom_struct;
@@ -25,7 +26,6 @@ use net_traits::request::{
RequestBuilder as NetRequestInit,
};
use profile_traits::mem::ProcessReports;
-use script_traits::WorkerGlobalScopeInit;
use servo_url::{MutableOrigin, ServoUrl};
use timers::TimerScheduler;
use uuid::Uuid;
diff --git a/components/script/dom/workletglobalscope.rs b/components/script/dom/workletglobalscope.rs
index 23a3f3a6528..0196d6a83ea 100644
--- a/components/script/dom/workletglobalscope.rs
+++ b/components/script/dom/workletglobalscope.rs
@@ -5,6 +5,7 @@
use std::sync::Arc;
use base::id::PipelineId;
+use constellation_traits::{ScriptToConstellationChan, ScriptToConstellationMessage};
use crossbeam_channel::Sender;
use devtools_traits::ScriptToDevtoolsControlMsg;
use dom_struct::dom_struct;
@@ -14,7 +15,7 @@ use js::rust::Runtime;
use net_traits::ResourceThreads;
use net_traits::image_cache::ImageCache;
use profile_traits::{mem, time};
-use script_traits::{Painter, ScriptToConstellationChan, ScriptToConstellationMessage};
+use script_traits::Painter;
use servo_url::{ImmutableOrigin, MutableOrigin, ServoUrl};
use stylo_atoms::Atom;
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs
index aa634d61ccc..20e25415f98 100644
--- a/components/script/dom/xmlhttprequest.rs
+++ b/components/script/dom/xmlhttprequest.rs
@@ -10,6 +10,7 @@ use std::str::{self, FromStr};
use std::sync::{Arc, Mutex};
use std::time::{Duration, Instant};
+use constellation_traits::BlobImpl;
use dom_struct::dom_struct;
use encoding_rs::{Encoding, UTF_8};
use headers::{ContentLength, ContentType, HeaderMapExt};
@@ -31,7 +32,6 @@ use net_traits::{
ResourceFetchTiming, ResourceTimingType, trim_http_whitespace,
};
use script_traits::DocumentActivity;
-use script_traits::serializable::BlobImpl;
use servo_url::ServoUrl;
use stylo_atoms::Atom;
use url::Position;
diff --git a/components/script/drag_data_store.rs b/components/script/drag_data_store.rs
index f0289f55e45..9eee9f25b63 100644
--- a/components/script/drag_data_store.rs
+++ b/components/script/drag_data_store.rs
@@ -4,9 +4,9 @@
use std::sync::Arc;
+use constellation_traits::BlobImpl;
use indexmap::IndexMap;
use pixels::Image;
-use script_traits::serializable::BlobImpl;
use crate::dom::bindings::error::{Error, Fallible};
use crate::dom::bindings::root::DomRoot;
diff --git a/components/script/iframe_collection.rs b/components/script/iframe_collection.rs
index 01405881fa6..be0fd22e4ac 100644
--- a/components/script/iframe_collection.rs
+++ b/components/script/iframe_collection.rs
@@ -6,11 +6,10 @@ use std::cell::Cell;
use std::default::Default;
use base::id::BrowsingContextId;
-use constellation_traits::WindowSizeType;
+use constellation_traits::{IFrameSizeMsg, WindowSizeType};
use embedder_traits::ViewportDetails;
use fnv::FnvHashMap;
use script_layout_interface::IFrameSizes;
-use script_traits::IFrameSizeMsg;
use crate::dom::bindings::inheritance::Castable;
use crate::dom::bindings::root::{Dom, DomRoot};
diff --git a/components/script/layout_dom/element.rs b/components/script/layout_dom/element.rs
index 85c04039323..ce7ca96f464 100644
--- a/components/script/layout_dom/element.rs
+++ b/components/script/layout_dom/element.rs
@@ -7,7 +7,7 @@ use std::sync::atomic::Ordering;
use std::{fmt, slice};
use atomic_refcell::{AtomicRef, AtomicRefMut};
-use constellation_traits::UntrustedNodeAddress;
+use embedder_traits::UntrustedNodeAddress;
use html5ever::{LocalName, Namespace, local_name, namespace_url, ns};
use js::jsapi::JSObject;
use script_layout_interface::wrapper_traits::{
diff --git a/components/script/links.rs b/components/script/links.rs
index 55c7435cdb9..f7094adbfde 100644
--- a/components/script/links.rs
+++ b/components/script/links.rs
@@ -4,10 +4,10 @@
//! Defines shared hyperlink behaviour for ``, ``, `` and `