diff options
author | Alan Jeffrey <ajeffrey@mozilla.com> | 2017-06-13 10:46:59 -0500 |
---|---|---|
committer | Alan Jeffrey <ajeffrey@mozilla.com> | 2017-06-13 10:46:59 -0500 |
commit | a47e94c8f6b37de9845c824c6a8a488728a1d0c1 (patch) | |
tree | 22b49d54306e8a3b72042ad666964120fbbc34b2 | |
parent | 07f6e114850896eae2fd206351808fb31cceaaf0 (diff) | |
download | servo-a47e94c8f6b37de9845c824c6a8a488728a1d0c1.tar.gz servo-a47e94c8f6b37de9845c824c6a8a488728a1d0c1.zip |
Added Debug implementations.
-rw-r--r-- | components/net_traits/image/base.rs | 12 | ||||
-rw-r--r-- | components/net_traits/image_cache.rs | 4 | ||||
-rw-r--r-- | components/script/script_runtime.rs | 10 | ||||
-rw-r--r-- | components/script/script_thread.rs | 3 | ||||
-rw-r--r-- | components/script/task_source/dom_manipulation.rs | 13 | ||||
-rw-r--r-- | components/script/task_source/user_interaction.rs | 13 | ||||
-rw-r--r-- | components/script_traits/lib.rs | 4 |
7 files changed, 53 insertions, 6 deletions
diff --git a/components/net_traits/image/base.rs b/components/net_traits/image/base.rs index a52ed0e717b..ccdb1130613 100644 --- a/components/net_traits/image/base.rs +++ b/components/net_traits/image/base.rs @@ -4,9 +4,10 @@ use ipc_channel::ipc::IpcSharedMemory; use piston_image::{self, DynamicImage, ImageFormat}; +use std::fmt; use webrender_traits; -#[derive(Clone, Copy, Deserialize, Eq, PartialEq, Serialize, HeapSizeOf)] +#[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize, HeapSizeOf)] pub enum PixelFormat { /// Luminance channel only K8, @@ -29,7 +30,14 @@ pub struct Image { pub id: Option<webrender_traits::ImageKey>, } -#[derive(Clone, Deserialize, Eq, PartialEq, Serialize, HeapSizeOf)] +impl fmt::Debug for Image { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "Image {{ width: {}, height: {}, format: {:?}, ..., id: {:?} }}", + self.width, self.height, self.format, self.id) + } +} + +#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize, HeapSizeOf)] pub struct ImageMetadata { pub width: u32, pub height: u32, diff --git a/components/net_traits/image_cache.rs b/components/net_traits/image_cache.rs index cfc41ea2142..47ebc5c3eeb 100644 --- a/components/net_traits/image_cache.rs +++ b/components/net_traits/image_cache.rs @@ -60,7 +60,7 @@ impl ImageResponder { } /// The returned image. -#[derive(Clone, Deserialize, Serialize, HeapSizeOf)] +#[derive(Clone, Debug, Deserialize, Serialize, HeapSizeOf)] pub enum ImageResponse { /// The requested image was loaded. Loaded(Arc<Image>, ServoUrl), @@ -84,7 +84,7 @@ pub enum ImageState { #[derive(Copy, Clone, PartialEq, Eq, Deserialize, Serialize, HeapSizeOf, Hash, Debug)] pub struct PendingImageId(pub u64); -#[derive(Deserialize, Serialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct PendingImageResponse { pub response: ImageResponse, pub id: PendingImageId, diff --git a/components/script/script_runtime.rs b/components/script/script_runtime.rs index 8c243b18695..efbdb6bdc40 100644 --- a/components/script/script_runtime.rs +++ b/components/script/script_runtime.rs @@ -27,6 +27,7 @@ use script_thread::{Runnable, STACK_ROOTS, trace_thread}; use servo_config::opts; use servo_config::prefs::PREFS; use std::cell::Cell; +use std::fmt; use std::io::{Write, stdout}; use std::marker::PhantomData; use std::os; @@ -45,6 +46,15 @@ pub enum CommonScriptMsg { RunnableMsg(ScriptThreadEventCategory, Box<Runnable + Send>), } +impl fmt::Debug for CommonScriptMsg { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match *self { + CommonScriptMsg::CollectReports(_) => write!(f, "CollectReports(...)"), + CommonScriptMsg::RunnableMsg(category, _) => write!(f, "RunnableMsg({:?}, ...)", category), + } + } +} + /// A cloneable interface for communicating with an event loop. pub trait ScriptChan: JSTraceable { /// Send a message to the associated event loop. diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index 8dabb29c81b..fcb351cebb2 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -232,6 +232,7 @@ pub trait Runnable { fn main_thread_handler(self: Box<Self>, _script_thread: &ScriptThread) { self.handler(); } } +#[derive(Debug)] enum MixedMessage { FromConstellation(ConstellationControlMsg), FromScript(MainThreadScriptMsg), @@ -241,6 +242,7 @@ enum MixedMessage { } /// Messages used to control the script event loop +#[derive(Debug)] pub enum MainThreadScriptMsg { /// Common variants associated with the script messages Common(CommonScriptMsg), @@ -983,6 +985,7 @@ impl ScriptThread { // Process the gathered events. for msg in sequential { + debug!("Processing event {:?}.", msg); let category = self.categorize_msg(&msg); let result = self.profile_event(category, move || { diff --git a/components/script/task_source/dom_manipulation.rs b/components/script/task_source/dom_manipulation.rs index 75fd4021168..12deff1880e 100644 --- a/components/script/task_source/dom_manipulation.rs +++ b/components/script/task_source/dom_manipulation.rs @@ -9,6 +9,7 @@ use dom::eventtarget::EventTarget; use dom::window::Window; use script_thread::{MainThreadScriptMsg, Runnable, RunnableWrapper, ScriptThread}; use servo_atoms::Atom; +use std::fmt; use std::result::Result; use std::sync::mpsc::Sender; use task_source::TaskSource; @@ -16,6 +17,12 @@ use task_source::TaskSource; #[derive(JSTraceable, Clone)] pub struct DOMManipulationTaskSource(pub Sender<MainThreadScriptMsg>); +impl fmt::Debug for DOMManipulationTaskSource { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "DOMManipulationTaskSource(...)") + } +} + impl TaskSource for DOMManipulationTaskSource { fn queue_with_wrapper<T>(&self, msg: Box<T>, @@ -56,6 +63,12 @@ impl DOMManipulationTaskSource { pub struct DOMManipulationTask(pub Box<Runnable + Send>); +impl fmt::Debug for DOMManipulationTask { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "DOMManipulationTask(...)") + } +} + impl DOMManipulationTask { pub fn handle_task(self, script_thread: &ScriptThread) { if !self.0.is_cancelled() { diff --git a/components/script/task_source/user_interaction.rs b/components/script/task_source/user_interaction.rs index c97e1e1895a..2878a347eb4 100644 --- a/components/script/task_source/user_interaction.rs +++ b/components/script/task_source/user_interaction.rs @@ -9,6 +9,7 @@ use dom::eventtarget::EventTarget; use dom::window::Window; use script_thread::{MainThreadScriptMsg, Runnable, RunnableWrapper, ScriptThread}; use servo_atoms::Atom; +use std::fmt; use std::result::Result; use std::sync::mpsc::Sender; use task_source::TaskSource; @@ -16,6 +17,12 @@ use task_source::TaskSource; #[derive(JSTraceable, Clone)] pub struct UserInteractionTaskSource(pub Sender<MainThreadScriptMsg>); +impl fmt::Debug for UserInteractionTaskSource { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "UserInteractionTaskSource(...)") + } +} + impl TaskSource for UserInteractionTaskSource { fn queue_with_wrapper<T>(&self, msg: Box<T>, @@ -47,6 +54,12 @@ impl UserInteractionTaskSource { pub struct UserInteractionTask(pub Box<Runnable + Send>); +impl fmt::Debug for UserInteractionTask { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "UserInteractionTask(...)") + } +} + impl UserInteractionTask { pub fn handle_task(self, script_thread: &ScriptThread) { if !self.0.is_cancelled() { diff --git a/components/script_traits/lib.rs b/components/script_traits/lib.rs index c036eee28d9..20433e4f45c 100644 --- a/components/script_traits/lib.rs +++ b/components/script_traits/lib.rs @@ -451,11 +451,11 @@ pub enum TimerSchedulerMsg { /// Notifies the script thread to fire due timers. /// `TimerSource` must be `FromWindow` when dispatched to `ScriptThread` and /// must be `FromWorker` when dispatched to a `DedicatedGlobalWorkerScope` -#[derive(Deserialize, Serialize)] +#[derive(Debug, Deserialize, Serialize)] pub struct TimerEvent(pub TimerSource, pub TimerEventId); /// Describes the thread that requested the TimerEvent. -#[derive(Copy, Clone, HeapSizeOf, Deserialize, Serialize)] +#[derive(Copy, Clone, Debug, HeapSizeOf, Deserialize, Serialize)] pub enum TimerSource { /// The event was requested from a window (ScriptThread). FromWindow(PipelineId), |