diff options
author | Guro Bokum <jiojiajiu@gmail.com> | 2015-03-28 23:27:54 +0700 |
---|---|---|
committer | Guro Bokum <jiojiajiu@gmail.com> | 2015-04-13 21:08:07 +0700 |
commit | 97714ec5eddc3d86d45f3e4afdf34ad6170d50f7 (patch) | |
tree | 0cea51ffe48c257d3bbf3cd7f7e48665e4b8bb12 /components/script/devtools.rs | |
parent | 1e45d025b381390f346e8f24db615cb698033844 (diff) | |
download | servo-97714ec5eddc3d86d45f3e4afdf34ad6170d50f7.tar.gz servo-97714ec5eddc3d86d45f3e4afdf34ad6170d50f7.zip |
Firefox timeline integration #4957
Diffstat (limited to 'components/script/devtools.rs')
-rw-r--r-- | components/script/devtools.rs | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/components/script/devtools.rs b/components/script/devtools.rs index 8b9bb84e830..271cc39ab35 100644 --- a/components/script/devtools.rs +++ b/components/script/devtools.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 http://mozilla.org/MPL/2.0/. */ -use devtools_traits::{EvaluateJSReply, NodeInfo, Modification}; +use devtools_traits::{EvaluateJSReply, NodeInfo, Modification, TimelineMarker, TimelineMarkerType}; use dom::bindings::conversions::FromJSValConvertible; use dom::bindings::conversions::StringificationBehavior; use dom::bindings::js::{JSRef, Temporary, OptionalRootable}; @@ -16,7 +16,7 @@ use dom::element::Element; use dom::document::DocumentHelpers; use page::Page; use msg::constellation_msg::PipelineId; -use script_task::get_page; +use script_task::{get_page, ScriptTask}; use std::sync::mpsc::Sender; use std::rc::Rc; @@ -114,3 +114,36 @@ pub fn handle_wants_live_notifications(page: &Rc<Page>, pipeline_id: PipelineId, let window = page.window().root(); window.r().set_devtools_wants_updates(send_notifications); } + +pub fn handle_set_timeline_markers(page: &Rc<Page>, + script_task: &ScriptTask, + marker_types: Vec<TimelineMarkerType>, + reply: Sender<TimelineMarker>) { + for marker_type in &marker_types { + match *marker_type { + TimelineMarkerType::Reflow => { + let window = page.window().root(); + window.r().set_devtools_timeline_marker(TimelineMarkerType::Reflow, reply.clone()); + } + TimelineMarkerType::DOMEvent => { + script_task.set_devtools_timeline_marker(TimelineMarkerType::DOMEvent, reply.clone()); + } + } + } +} + +pub fn handle_drop_timeline_markers(page: &Rc<Page>, + script_task: &ScriptTask, + marker_types: Vec<TimelineMarkerType>) { + let window = page.window().root(); + for marker_type in &marker_types { + match *marker_type { + TimelineMarkerType::Reflow => { + window.r().drop_devtools_timeline_markers(); + } + TimelineMarkerType::DOMEvent => { + script_task.drop_devtools_timeline_markers(); + } + } + } +} |