aboutsummaryrefslogtreecommitdiffstats
path: root/components/msg/webdriver_msg.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2015-07-10 11:16:27 -0700
committerPatrick Walton <pcwalton@mimiga.net>2015-07-18 12:43:08 -0700
commitb6485a9eafacc29661aa9d0e3cdcd477eefdb66f (patch)
treef35644c31699e771b6b2f646831264e6ae6c2087 /components/msg/webdriver_msg.rs
parenta0cf597946446c427c54da363fe989ff68db4270 (diff)
downloadservo-b6485a9eafacc29661aa9d0e3cdcd477eefdb66f.tar.gz
servo-b6485a9eafacc29661aa9d0e3cdcd477eefdb66f.zip
compositing: Make the constellation messages serializable.
Diffstat (limited to 'components/msg/webdriver_msg.rs')
-rw-r--r--components/msg/webdriver_msg.rs27
1 files changed, 16 insertions, 11 deletions
diff --git a/components/msg/webdriver_msg.rs b/components/msg/webdriver_msg.rs
index bc57f58fa28..0c2d8860a96 100644
--- a/components/msg/webdriver_msg.rs
+++ b/components/msg/webdriver_msg.rs
@@ -2,23 +2,25 @@
* 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 rustc_serialize::json::{Json, ToJson};
use constellation_msg::{PipelineId, SubpageId};
-use std::sync::mpsc::Sender;
+use ipc_channel::ipc::IpcSender;
+use rustc_serialize::json::{Json, ToJson};
+#[derive(Deserialize, Serialize)]
pub enum WebDriverScriptCommand {
- ExecuteScript(String, Sender<WebDriverJSResult>),
- ExecuteAsyncScript(String, Sender<WebDriverJSResult>),
- FindElementCSS(String, Sender<Result<Option<String>, ()>>),
- FindElementsCSS(String, Sender<Result<Vec<String>, ()>>),
- GetActiveElement(Sender<Option<String>>),
- GetElementTagName(String, Sender<Result<String, ()>>),
- GetElementText(String, Sender<Result<String, ()>>),
- GetFrameId(WebDriverFrameId, Sender<Result<Option<(PipelineId, SubpageId)>, ()>>),
- GetTitle(Sender<String>)
+ ExecuteScript(String, IpcSender<WebDriverJSResult>),
+ ExecuteAsyncScript(String, IpcSender<WebDriverJSResult>),
+ FindElementCSS(String, IpcSender<Result<Option<String>, ()>>),
+ FindElementsCSS(String, IpcSender<Result<Vec<String>, ()>>),
+ GetActiveElement(IpcSender<Option<String>>),
+ GetElementTagName(String, IpcSender<Result<String, ()>>),
+ GetElementText(String, IpcSender<Result<String, ()>>),
+ GetFrameId(WebDriverFrameId, IpcSender<Result<Option<(PipelineId, SubpageId)>, ()>>),
+ GetTitle(IpcSender<String>)
}
+#[derive(Deserialize, Serialize)]
pub enum WebDriverJSValue {
Undefined,
Null,
@@ -28,6 +30,7 @@ pub enum WebDriverJSValue {
// TODO: Object and WebElement
}
+#[derive(Deserialize, Serialize)]
pub enum WebDriverJSError {
Timeout,
UnknownType
@@ -35,6 +38,7 @@ pub enum WebDriverJSError {
pub type WebDriverJSResult = Result<WebDriverJSValue, WebDriverJSError>;
+#[derive(Deserialize, Serialize)]
pub enum WebDriverFrameId {
Short(u16),
Element(String),
@@ -53,6 +57,7 @@ impl ToJson for WebDriverJSValue {
}
}
+#[derive(Deserialize, Serialize)]
pub enum LoadStatus {
LoadComplete,
LoadTimeout