diff options
author | Patrick Walton <pcwalton@mimiga.net> | 2015-07-10 11:16:27 -0700 |
---|---|---|
committer | Patrick Walton <pcwalton@mimiga.net> | 2015-07-18 12:43:08 -0700 |
commit | b6485a9eafacc29661aa9d0e3cdcd477eefdb66f (patch) | |
tree | f35644c31699e771b6b2f646831264e6ae6c2087 /components/msg/webdriver_msg.rs | |
parent | a0cf597946446c427c54da363fe989ff68db4270 (diff) | |
download | servo-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.rs | 27 |
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 |