mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Move non-gfx things out of gfx_traits
and create a base
crate (#32296)
For a long time, `gfx_traits` has held a lot of things unrelated to graphics and also unrelated to the `gfx` crate (which is mostly about fonts). This is a cleanup which does a few things: 1. Move non `gfx` crate things out of `gfx_traits`. This is important in order to prevent dependency cycles with a different integration between layout, script, and fonts. 2. Rename the `msg` crate to `base`. It didn't really contain anything to do with messages and instead mostly holds ids, which are used across many different crates in Servo. This new crate will hold the *rare* data types that are widely used. Details: - All BackgroundHangMonitor-related things from base to a new `background_hang_monitor_api` crate. - Moved `TraversalDirection` to `script_traits` - Moved `Epoch`-related things from `gfx_traits` to `base`. - Moved `PrintTree` to base. This should be widely useful in Servo. - Moved `WebrenderApi` from `base` to `webrender_traits` and renamed it to `WebRenderFontApi`.
This commit is contained in:
parent
1017533297
commit
3398fc017b
163 changed files with 709 additions and 632 deletions
|
@ -11,6 +11,8 @@ name = "script_traits"
|
|||
path = "lib.rs"
|
||||
|
||||
[dependencies]
|
||||
background_hang_monitor_api = { workspace = true }
|
||||
base = { workspace = true }
|
||||
bitflags = { workspace = true }
|
||||
bluetooth_traits = { workspace = true }
|
||||
canvas_traits = { workspace = true }
|
||||
|
@ -29,7 +31,6 @@ log = { workspace = true }
|
|||
malloc_size_of = { workspace = true }
|
||||
malloc_size_of_derive = { workspace = true }
|
||||
media = { path = "../../media" }
|
||||
msg = { workspace = true }
|
||||
net_traits = { workspace = true }
|
||||
pixels = { path = "../../pixels" }
|
||||
profile_traits = { workspace = true }
|
||||
|
|
|
@ -20,6 +20,12 @@ use std::collections::{HashMap, VecDeque};
|
|||
use std::fmt;
|
||||
use std::sync::Arc;
|
||||
|
||||
use background_hang_monitor_api::BackgroundHangMonitorRegister;
|
||||
use base::id::{
|
||||
BlobId, BrowsingContextId, HistoryStateId, MessagePortId, PipelineId, PipelineNamespaceId,
|
||||
TopLevelBrowsingContextId,
|
||||
};
|
||||
use base::Epoch;
|
||||
use bitflags::bitflags;
|
||||
use bluetooth_traits::BluetoothRequest;
|
||||
use canvas_traits::webgl::WebGLPipeline;
|
||||
|
@ -29,7 +35,6 @@ use devtools_traits::{DevtoolScriptControlMsg, ScriptToDevtoolsControlMsg, Worke
|
|||
use embedder_traits::{CompositorEventVariant, Cursor};
|
||||
use euclid::default::Point2D;
|
||||
use euclid::{Length, Rect, Scale, Size2D, UnknownUnit, Vector2D};
|
||||
use gfx_traits::Epoch;
|
||||
use http::{HeaderMap, Method};
|
||||
use ipc_channel::ipc::{self, IpcReceiver, IpcSender};
|
||||
use ipc_channel::Error as IpcError;
|
||||
|
@ -40,10 +45,6 @@ use log::warn;
|
|||
use malloc_size_of::malloc_size_of_is_0;
|
||||
use malloc_size_of_derive::MallocSizeOf;
|
||||
use media::WindowGLContext;
|
||||
use msg::constellation_msg::{
|
||||
BackgroundHangMonitorRegister, BlobId, BrowsingContextId, HistoryStateId, MessagePortId,
|
||||
PipelineId, PipelineNamespaceId, TopLevelBrowsingContextId,
|
||||
};
|
||||
use net_traits::image::base::Image;
|
||||
use net_traits::image_cache::ImageCache;
|
||||
use net_traits::request::{Referrer, RequestBody};
|
||||
|
@ -66,7 +67,7 @@ use crate::compositor::CompositorDisplayListInfo;
|
|||
pub use crate::script_msg::{
|
||||
DOMMessage, EventResult, HistoryEntryReplacement, IFrameSizeMsg, Job, JobError, JobResult,
|
||||
JobResultValue, JobType, LayoutMsg, LogEntry, SWManagerMsg, SWManagerSenders, ScopeThings,
|
||||
ScriptMsg, ServiceWorkerMsg,
|
||||
ScriptMsg, ServiceWorkerMsg, TraversalDirection,
|
||||
};
|
||||
use crate::serializable::{BlobData, BlobImpl};
|
||||
use crate::transferable::MessagePortImpl;
|
||||
|
|
|
@ -5,18 +5,18 @@
|
|||
use std::collections::{HashMap, VecDeque};
|
||||
use std::fmt;
|
||||
|
||||
use base::id::{
|
||||
BroadcastChannelRouterId, BrowsingContextId, HistoryStateId, MessagePortId,
|
||||
MessagePortRouterId, PipelineId, ServiceWorkerId, ServiceWorkerRegistrationId,
|
||||
TopLevelBrowsingContextId,
|
||||
};
|
||||
use base::Epoch;
|
||||
use canvas_traits::canvas::{CanvasId, CanvasMsg};
|
||||
use devtools_traits::{ScriptToDevtoolsControlMsg, WorkerId};
|
||||
use embedder_traits::{EmbedderMsg, MediaSessionEvent};
|
||||
use euclid::default::Size2D as UntypedSize2D;
|
||||
use euclid::Size2D;
|
||||
use gfx_traits::Epoch;
|
||||
use ipc_channel::ipc::{IpcReceiver, IpcSender};
|
||||
use msg::constellation_msg::{
|
||||
BroadcastChannelRouterId, BrowsingContextId, HistoryStateId, MessagePortId,
|
||||
MessagePortRouterId, PipelineId, ServiceWorkerId, ServiceWorkerRegistrationId,
|
||||
TopLevelBrowsingContextId, TraversalDirection,
|
||||
};
|
||||
use net_traits::request::RequestBuilder;
|
||||
use net_traits::storage_thread::StorageType;
|
||||
use net_traits::CoreResourceMsg;
|
||||
|
@ -492,3 +492,12 @@ pub enum SWManagerMsg {
|
|||
/// <https://github.com/servo/servo/issues/24660>
|
||||
PostMessageToClient,
|
||||
}
|
||||
|
||||
/// The direction of a history traversal
|
||||
#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)]
|
||||
pub enum TraversalDirection {
|
||||
/// Travel forward the given number of documents.
|
||||
Forward(usize),
|
||||
/// Travel backward the given number of documents.
|
||||
Back(usize),
|
||||
}
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
use std::cell::RefCell;
|
||||
use std::path::PathBuf;
|
||||
|
||||
use base::id::BlobId;
|
||||
use malloc_size_of_derive::MallocSizeOf;
|
||||
use msg::constellation_msg::BlobId;
|
||||
use net_traits::filemanager_thread::RelativePos;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use uuid::Uuid;
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
|
||||
use std::collections::VecDeque;
|
||||
|
||||
use base::id::MessagePortId;
|
||||
use malloc_size_of_derive::MallocSizeOf;
|
||||
use msg::constellation_msg::MessagePortId;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::PortMessageTask;
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
|
||||
use std::collections::HashMap;
|
||||
|
||||
use base::id::BrowsingContextId;
|
||||
use cookie::Cookie;
|
||||
use euclid::default::Rect;
|
||||
use hyper_serde::Serde;
|
||||
use ipc_channel::ipc::IpcSender;
|
||||
use msg::constellation_msg::BrowsingContextId;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use servo_url::ServoUrl;
|
||||
use webdriver::common::{WebElement, WebFrame, WebWindow};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue