aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Jeffrey <ajeffrey@mozilla.com>2017-06-13 10:46:59 -0500
committerAlan Jeffrey <ajeffrey@mozilla.com>2017-06-13 10:46:59 -0500
commita47e94c8f6b37de9845c824c6a8a488728a1d0c1 (patch)
tree22b49d54306e8a3b72042ad666964120fbbc34b2
parent07f6e114850896eae2fd206351808fb31cceaaf0 (diff)
downloadservo-a47e94c8f6b37de9845c824c6a8a488728a1d0c1.tar.gz
servo-a47e94c8f6b37de9845c824c6a8a488728a1d0c1.zip
Added Debug implementations.
-rw-r--r--components/net_traits/image/base.rs12
-rw-r--r--components/net_traits/image_cache.rs4
-rw-r--r--components/script/script_runtime.rs10
-rw-r--r--components/script/script_thread.rs3
-rw-r--r--components/script/task_source/dom_manipulation.rs13
-rw-r--r--components/script/task_source/user_interaction.rs13
-rw-r--r--components/script_traits/lib.rs4
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),