mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
webdriver: Serialize JS int values as i32. (#34997)
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
This commit is contained in:
parent
2da57602ac
commit
5140ce81f0
3 changed files with 10 additions and 1 deletions
|
@ -171,7 +171,14 @@ pub(crate) unsafe fn jsval_to_webdriver(
|
|||
Ok(WebDriverJSValue::Null)
|
||||
} else if val.get().is_boolean() {
|
||||
Ok(WebDriverJSValue::Boolean(val.get().to_boolean()))
|
||||
} else if val.get().is_double() || val.get().is_int32() {
|
||||
} else if val.get().is_int32() {
|
||||
Ok(WebDriverJSValue::Int(
|
||||
match FromJSValConvertible::from_jsval(cx, val, ConversionBehavior::Default).unwrap() {
|
||||
ConversionResult::Success(c) => c,
|
||||
_ => unreachable!(),
|
||||
},
|
||||
))
|
||||
} else if val.get().is_double() {
|
||||
Ok(WebDriverJSValue::Number(
|
||||
match FromJSValConvertible::from_jsval(cx, val, ()).unwrap() {
|
||||
ConversionResult::Success(c) => c,
|
||||
|
|
|
@ -102,6 +102,7 @@ pub enum WebDriverJSValue {
|
|||
Undefined,
|
||||
Null,
|
||||
Boolean(bool),
|
||||
Int(i32),
|
||||
Number(f64),
|
||||
String(String),
|
||||
Element(WebElement),
|
||||
|
|
|
@ -262,6 +262,7 @@ impl Serialize for SendableWebDriverJSValue {
|
|||
WebDriverJSValue::Undefined => serializer.serialize_unit(),
|
||||
WebDriverJSValue::Null => serializer.serialize_unit(),
|
||||
WebDriverJSValue::Boolean(x) => serializer.serialize_bool(x),
|
||||
WebDriverJSValue::Int(x) => serializer.serialize_i32(x),
|
||||
WebDriverJSValue::Number(x) => serializer.serialize_f64(x),
|
||||
WebDriverJSValue::String(ref x) => serializer.serialize_str(x),
|
||||
WebDriverJSValue::Element(ref x) => x.serialize(serializer),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue