mirror of
https://github.com/servo/servo.git
synced 2025-08-26 23:58:20 +01:00
embedder: Remove Int
variant from WebDriverJSValue
(#38748)
According to [spec](https://w3c.github.io/webdriver/#dfn-json-deserialize), we should only care about [Number](https://262.ecma-international.org/5.1/#sec-4.3.19) that is f64. This change also closes the gap between `JSValue` and `WebDriverJSValue` and potentially merge into one in the future. Testing: No regression. However, we have lots of TIMEOUT due to https://github.com/servo/servo/pull/38622. Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
This commit is contained in:
parent
e19fade481
commit
ce9425f3e8
4 changed files with 1 additions and 11 deletions
|
@ -369,14 +369,7 @@ unsafe fn jsval_to_webdriver_inner(
|
||||||
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_int32() {
|
} else if val.get().is_number() {
|
||||||
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,
|
||||||
|
|
|
@ -1009,7 +1009,6 @@ impl From<&WebDriverJSValue> for JSValue {
|
||||||
WebDriverJSValue::Undefined => Self::Undefined,
|
WebDriverJSValue::Undefined => Self::Undefined,
|
||||||
WebDriverJSValue::Null => Self::Null,
|
WebDriverJSValue::Null => Self::Null,
|
||||||
WebDriverJSValue::Boolean(value) => Self::Boolean(*value),
|
WebDriverJSValue::Boolean(value) => Self::Boolean(*value),
|
||||||
WebDriverJSValue::Int(value) => Self::Number(*value as f64),
|
|
||||||
WebDriverJSValue::Number(value) => Self::Number(*value),
|
WebDriverJSValue::Number(value) => Self::Number(*value),
|
||||||
WebDriverJSValue::String(value) => Self::String(value.clone()),
|
WebDriverJSValue::String(value) => Self::String(value.clone()),
|
||||||
WebDriverJSValue::Element(web_element) => Self::Element(web_element.0.clone()),
|
WebDriverJSValue::Element(web_element) => Self::Element(web_element.0.clone()),
|
||||||
|
|
|
@ -259,7 +259,6 @@ 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),
|
||||||
|
|
|
@ -305,7 +305,6 @@ 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