mirror of
https://github.com/servo/servo.git
synced 2025-07-30 10:40:27 +01:00
Add script execution support via WebDriver
This commit is contained in:
parent
1b08211a5e
commit
c2fc6e311a
19 changed files with 223 additions and 18 deletions
36
components/webdriver_traits/lib.rs
Normal file
36
components/webdriver_traits/lib.rs
Normal file
|
@ -0,0 +1,36 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* 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/. */
|
||||
|
||||
#![crate_name = "webdriver_traits"]
|
||||
#![crate_type = "rlib"]
|
||||
|
||||
extern crate "rustc-serialize" as rustc_serialize;
|
||||
use rustc_serialize::json::{Json, ToJson};
|
||||
|
||||
use std::sync::mpsc::Sender;
|
||||
|
||||
pub enum WebDriverScriptCommand {
|
||||
EvaluateJS(String, Sender<Result<EvaluateJSReply, ()>>)
|
||||
}
|
||||
|
||||
pub enum EvaluateJSReply {
|
||||
VoidValue,
|
||||
NullValue,
|
||||
BooleanValue(bool),
|
||||
NumberValue(f64),
|
||||
StringValue(String),
|
||||
// TODO: ObjectValue and WebElementValue
|
||||
}
|
||||
|
||||
impl ToJson for EvaluateJSReply {
|
||||
fn to_json(&self) -> Json {
|
||||
match self {
|
||||
&EvaluateJSReply::VoidValue => Json::Null,
|
||||
&EvaluateJSReply::NullValue => Json::Null,
|
||||
&EvaluateJSReply::BooleanValue(ref x) => x.to_json(),
|
||||
&EvaluateJSReply::NumberValue(ref x) => x.to_json(),
|
||||
&EvaluateJSReply::StringValue(ref x) => x.to_json()
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue