mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
auto merge of #4925 : ruud-v-a/servo/devtools-traits, r=jdm
This resolves #4921.
This commit is contained in:
commit
40eff84ae1
9 changed files with 40 additions and 40 deletions
|
@ -6,8 +6,7 @@ use pipeline::{Pipeline, CompositionPipeline};
|
|||
|
||||
use compositor_task::CompositorProxy;
|
||||
use compositor_task::Msg as CompositorMsg;
|
||||
use devtools_traits;
|
||||
use devtools_traits::DevtoolsControlChan;
|
||||
use devtools_traits::{DevtoolsControlChan, DevtoolsControlMsg};
|
||||
use geom::rect::{Rect, TypedRect};
|
||||
use geom::scale_factor::ScaleFactor;
|
||||
use gfx::font_cache_task::FontCacheTask;
|
||||
|
@ -521,7 +520,7 @@ impl<LTF: LayoutTaskFactory, STF: ScriptTaskFactory> Constellation<LTF, STF> {
|
|||
self.image_cache_task.exit();
|
||||
self.resource_task.send(resource_task::ControlMsg::Exit).unwrap();
|
||||
self.devtools_chan.as_ref().map(|chan| {
|
||||
chan.send(devtools_traits::ServerExitMsg).unwrap();
|
||||
chan.send(DevtoolsControlMsg::ServerExitMsg).unwrap();
|
||||
});
|
||||
self.storage_task.send(StorageTaskMsg::Exit).unwrap();
|
||||
self.font_cache_task.exit();
|
||||
|
|
|
@ -9,8 +9,9 @@
|
|||
use actor::{Actor, ActorRegistry};
|
||||
use protocol::JsonPacketStream;
|
||||
|
||||
use devtools_traits::{EvaluateJS, NullValue, VoidValue, NumberValue, StringValue, BooleanValue};
|
||||
use devtools_traits::{ActorValue, DevtoolScriptControlMsg};
|
||||
use devtools_traits::EvaluateJSReply::{NullValue, VoidValue, NumberValue};
|
||||
use devtools_traits::EvaluateJSReply::{StringValue, BooleanValue, ActorValue};
|
||||
use devtools_traits::DevtoolScriptControlMsg;
|
||||
use msg::constellation_msg::PipelineId;
|
||||
|
||||
use collections::BTreeMap;
|
||||
|
@ -221,7 +222,8 @@ impl Actor for ConsoleActor {
|
|||
"evaluateJS" => {
|
||||
let input = msg.get(&"text".to_string()).unwrap().as_string().unwrap().to_string();
|
||||
let (chan, port) = channel();
|
||||
self.script_chan.send(EvaluateJS(self.pipeline, input.clone(), chan)).unwrap();
|
||||
self.script_chan.send(DevtoolScriptControlMsg::EvaluateJS(
|
||||
self.pipeline, input.clone(), chan)).unwrap();
|
||||
|
||||
//TODO: extract conversion into protocol module or some other useful place
|
||||
let result = match try!(port.recv().map_err(|_| ())) {
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
|
||||
/// Liberally derived from the [Firefox JS implementation](http://mxr.mozilla.org/mozilla-central/source/toolkit/devtools/server/actors/inspector.js).
|
||||
|
||||
use devtools_traits::{GetRootNode, GetDocumentElement, GetChildren, DevtoolScriptControlMsg};
|
||||
use devtools_traits::{GetLayout, NodeInfo, ModifyAttribute};
|
||||
use devtools_traits::{DevtoolScriptControlMsg, NodeInfo};
|
||||
use devtools_traits::DevtoolScriptControlMsg::{GetRootNode, GetDocumentElement, GetChildren};
|
||||
use devtools_traits::DevtoolScriptControlMsg::{GetLayout, ModifyAttribute};
|
||||
|
||||
use actor::{Actor, ActorRegistry};
|
||||
use protocol::JsonPacketStream;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
use actor::{Actor, ActorRegistry};
|
||||
use actors::console::ConsoleActor;
|
||||
use devtools_traits::WantsLiveNotifications;
|
||||
use devtools_traits::DevtoolScriptControlMsg::WantsLiveNotifications;
|
||||
use protocol::JsonPacketStream;
|
||||
|
||||
use serialize::json;
|
||||
|
@ -100,7 +100,8 @@ impl Actor for TabActor {
|
|||
let console_actor = registry.find::<ConsoleActor>(self.console.as_slice());
|
||||
console_actor.streams.borrow_mut().push(stream.clone());
|
||||
stream.write_json_packet(&msg);
|
||||
console_actor.script_chan.send(WantsLiveNotifications(console_actor.pipeline, true)).unwrap();
|
||||
console_actor.script_chan.send(
|
||||
WantsLiveNotifications(console_actor.pipeline, true)).unwrap();
|
||||
true
|
||||
}
|
||||
|
||||
|
@ -114,7 +115,8 @@ impl Actor for TabActor {
|
|||
let console_actor = registry.find::<ConsoleActor>(self.console.as_slice());
|
||||
console_actor.streams.borrow_mut().pop();
|
||||
stream.write_json_packet(&msg);
|
||||
console_actor.script_chan.send(WantsLiveNotifications(console_actor.pipeline, false)).unwrap();
|
||||
console_actor.script_chan.send(
|
||||
WantsLiveNotifications(console_actor.pipeline, false)).unwrap();
|
||||
true
|
||||
}
|
||||
|
||||
|
|
|
@ -35,8 +35,8 @@ use actors::root::RootActor;
|
|||
use actors::tab::TabActor;
|
||||
use protocol::JsonPacketStream;
|
||||
|
||||
use devtools_traits::{ServerExitMsg, DevtoolsControlMsg, NewGlobal, DevtoolScriptControlMsg};
|
||||
use devtools_traits::{DevtoolsPageInfo, SendConsoleMessage, ConsoleMessage};
|
||||
use devtools_traits::{ConsoleMessage, DevtoolsControlMsg};
|
||||
use devtools_traits::{DevtoolsPageInfo, DevtoolScriptControlMsg};
|
||||
use msg::constellation_msg::PipelineId;
|
||||
use util::task::spawn_named;
|
||||
|
||||
|
@ -231,11 +231,11 @@ fn run_server(receiver: Receiver<DevtoolsControlMsg>, port: u16) {
|
|||
match acceptor.accept() {
|
||||
Err(ref e) if e.kind == TimedOut => {
|
||||
match receiver.try_recv() {
|
||||
Ok(ServerExitMsg) | Err(Disconnected) => break,
|
||||
Ok(NewGlobal(id, sender, pageinfo)) =>
|
||||
Ok(DevtoolsControlMsg::ServerExitMsg) | Err(Disconnected) => break,
|
||||
Ok(DevtoolsControlMsg::NewGlobal(id, sender, pageinfo)) =>
|
||||
handle_new_global(actors.clone(), id,sender, &mut actor_pipelines,
|
||||
pageinfo),
|
||||
Ok(SendConsoleMessage(id, console_message)) =>
|
||||
Ok(DevtoolsControlMsg::SendConsoleMessage(id, console_message)) =>
|
||||
handle_console_message(actors.clone(), id, console_message,
|
||||
&actor_pipelines),
|
||||
Err(Empty) => acceptor.set_timeout(Some(POLL_TIMEOUT)),
|
||||
|
|
|
@ -20,10 +20,6 @@ extern crate "serialize" as rustc_serialize;
|
|||
extern crate url;
|
||||
extern crate util;
|
||||
|
||||
pub use self::DevtoolsControlMsg::*;
|
||||
pub use self::DevtoolScriptControlMsg::*;
|
||||
pub use self::EvaluateJSReply::*;
|
||||
|
||||
use rustc_serialize::{Decodable, Decoder};
|
||||
use msg::constellation_msg::PipelineId;
|
||||
use util::str::DOMString;
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
* 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;
|
||||
use devtools_traits::{EvaluateJSReply, NodeInfo, Modification};
|
||||
use dom::bindings::conversions::FromJSValConvertible;
|
||||
use dom::bindings::conversions::StringificationBehavior;
|
||||
|
@ -31,16 +30,16 @@ pub fn handle_evaluate_js(page: &Rc<Page>, pipeline: PipelineId, eval: String, r
|
|||
let rval = window.r().evaluate_js_on_global_with_result(eval.as_slice());
|
||||
|
||||
reply.send(if rval.is_undefined() {
|
||||
devtools_traits::VoidValue
|
||||
EvaluateJSReply::VoidValue
|
||||
} else if rval.is_boolean() {
|
||||
devtools_traits::BooleanValue(rval.to_boolean())
|
||||
EvaluateJSReply::BooleanValue(rval.to_boolean())
|
||||
} else if rval.is_double() {
|
||||
devtools_traits::NumberValue(FromJSValConvertible::from_jsval(cx, rval, ()).unwrap())
|
||||
EvaluateJSReply::NumberValue(FromJSValConvertible::from_jsval(cx, rval, ()).unwrap())
|
||||
} else if rval.is_string() {
|
||||
//FIXME: use jsstring_to_str when jsval grows to_jsstring
|
||||
devtools_traits::StringValue(FromJSValConvertible::from_jsval(cx, rval, StringificationBehavior::Default).unwrap())
|
||||
EvaluateJSReply::StringValue(FromJSValConvertible::from_jsval(cx, rval, StringificationBehavior::Default).unwrap())
|
||||
} else if rval.is_null() {
|
||||
devtools_traits::NullValue
|
||||
EvaluateJSReply::NullValue
|
||||
} else {
|
||||
//FIXME: jsvals don't have an is_int32/is_number yet
|
||||
assert!(rval.is_object());
|
||||
|
|
|
@ -7,7 +7,7 @@ use dom::bindings::codegen::Bindings::ConsoleBinding::ConsoleMethods;
|
|||
use dom::bindings::global::{GlobalRef, GlobalField};
|
||||
use dom::bindings::js::{JSRef, Temporary};
|
||||
use dom::bindings::utils::{Reflector, reflect_dom_object};
|
||||
use devtools_traits::{SendConsoleMessage, ConsoleMessage};
|
||||
use devtools_traits::{DevtoolsControlMsg, ConsoleMessage};
|
||||
use util::str::DOMString;
|
||||
|
||||
#[dom_struct]
|
||||
|
@ -68,7 +68,8 @@ fn propagate_console_msg(console: &JSRef<Console>, console_message: ConsoleMessa
|
|||
GlobalRef::Window(window_ref) => {
|
||||
let pipelineId = window_ref.page().id;
|
||||
console.global.root().r().as_window().page().devtools_chan.as_ref().map(|chan| {
|
||||
chan.send(SendConsoleMessage(pipelineId, console_message.clone())).unwrap();
|
||||
chan.send(DevtoolsControlMsg::SendConsoleMessage(
|
||||
pipelineId, console_message.clone())).unwrap();
|
||||
});
|
||||
},
|
||||
|
||||
|
|
|
@ -41,9 +41,8 @@ use page::{Page, IterablePage, Frame};
|
|||
use timers::TimerId;
|
||||
use devtools;
|
||||
|
||||
use devtools_traits::{DevtoolsControlChan, DevtoolsControlPort, NewGlobal, GetRootNode, DevtoolsPageInfo};
|
||||
use devtools_traits::{DevtoolScriptControlMsg, EvaluateJS, GetDocumentElement};
|
||||
use devtools_traits::{GetChildren, GetLayout, ModifyAttribute, WantsLiveNotifications};
|
||||
use devtools_traits::{DevtoolsControlChan, DevtoolsControlPort, DevtoolsPageInfo};
|
||||
use devtools_traits::{DevtoolsControlMsg, DevtoolScriptControlMsg};
|
||||
use script_traits::CompositorEvent;
|
||||
use script_traits::CompositorEvent::{ResizeEvent, ReflowEvent, ClickEvent};
|
||||
use script_traits::CompositorEvent::{MouseDownEvent, MouseUpEvent};
|
||||
|
@ -633,19 +632,19 @@ impl ScriptTask {
|
|||
|
||||
fn handle_msg_from_devtools(&self, msg: DevtoolScriptControlMsg) {
|
||||
match msg {
|
||||
EvaluateJS(id, s, reply) =>
|
||||
DevtoolScriptControlMsg::EvaluateJS(id, s, reply) =>
|
||||
devtools::handle_evaluate_js(&*self.page.borrow(), id, s, reply),
|
||||
GetRootNode(id, reply) =>
|
||||
DevtoolScriptControlMsg::GetRootNode(id, reply) =>
|
||||
devtools::handle_get_root_node(&*self.page.borrow(), id, reply),
|
||||
GetDocumentElement(id, reply) =>
|
||||
DevtoolScriptControlMsg::GetDocumentElement(id, reply) =>
|
||||
devtools::handle_get_document_element(&*self.page.borrow(), id, reply),
|
||||
GetChildren(id, node_id, reply) =>
|
||||
DevtoolScriptControlMsg::GetChildren(id, node_id, reply) =>
|
||||
devtools::handle_get_children(&*self.page.borrow(), id, node_id, reply),
|
||||
GetLayout(id, node_id, reply) =>
|
||||
DevtoolScriptControlMsg::GetLayout(id, node_id, reply) =>
|
||||
devtools::handle_get_layout(&*self.page.borrow(), id, node_id, reply),
|
||||
ModifyAttribute(id, node_id, modifications) =>
|
||||
DevtoolScriptControlMsg::ModifyAttribute(id, node_id, modifications) =>
|
||||
devtools::handle_modify_attribute(&*self.page.borrow(), id, node_id, modifications),
|
||||
WantsLiveNotifications(pipeline_id, to_send) =>
|
||||
DevtoolScriptControlMsg::WantsLiveNotifications(pipeline_id, to_send) =>
|
||||
devtools::handle_wants_live_notifications(&*self.page.borrow(), pipeline_id, to_send),
|
||||
}
|
||||
}
|
||||
|
@ -947,8 +946,9 @@ impl ScriptTask {
|
|||
title: document.r().Title(),
|
||||
url: final_url
|
||||
};
|
||||
chan.send(NewGlobal(pipeline_id, self.devtools_sender.clone(),
|
||||
page_info)).unwrap();
|
||||
chan.send(DevtoolsControlMsg::NewGlobal(pipeline_id,
|
||||
self.devtools_sender.clone(),
|
||||
page_info)).unwrap();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue