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)
|
Ok(WebDriverJSValue::Null)
|
||||||
} else if val.get().is_boolean() {
|
} else if val.get().is_boolean() {
|
||||||
Ok(WebDriverJSValue::Boolean(val.get().to_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(
|
Ok(WebDriverJSValue::Number(
|
||||||
match FromJSValConvertible::from_jsval(cx, val, ()).unwrap() {
|
match FromJSValConvertible::from_jsval(cx, val, ()).unwrap() {
|
||||||
ConversionResult::Success(c) => c,
|
ConversionResult::Success(c) => c,
|
||||||
|
|
|
@ -102,6 +102,7 @@ pub enum WebDriverJSValue {
|
||||||
Undefined,
|
Undefined,
|
||||||
Null,
|
Null,
|
||||||
Boolean(bool),
|
Boolean(bool),
|
||||||
|
Int(i32),
|
||||||
Number(f64),
|
Number(f64),
|
||||||
String(String),
|
String(String),
|
||||||
Element(WebElement),
|
Element(WebElement),
|
||||||
|
|
|
@ -262,6 +262,7 @@ impl Serialize for SendableWebDriverJSValue {
|
||||||
WebDriverJSValue::Undefined => serializer.serialize_unit(),
|
WebDriverJSValue::Undefined => serializer.serialize_unit(),
|
||||||
WebDriverJSValue::Null => serializer.serialize_unit(),
|
WebDriverJSValue::Null => serializer.serialize_unit(),
|
||||||
WebDriverJSValue::Boolean(x) => serializer.serialize_bool(x),
|
WebDriverJSValue::Boolean(x) => serializer.serialize_bool(x),
|
||||||
|
WebDriverJSValue::Int(x) => serializer.serialize_i32(x),
|
||||||
WebDriverJSValue::Number(x) => serializer.serialize_f64(x),
|
WebDriverJSValue::Number(x) => serializer.serialize_f64(x),
|
||||||
WebDriverJSValue::String(ref x) => serializer.serialize_str(x),
|
WebDriverJSValue::String(ref x) => serializer.serialize_str(x),
|
||||||
WebDriverJSValue::Element(ref x) => x.serialize(serializer),
|
WebDriverJSValue::Element(ref x) => x.serialize(serializer),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue