aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/utils.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/bindings/utils.rs')
-rw-r--r--components/script/dom/bindings/utils.rs24
1 files changed, 12 insertions, 12 deletions
diff --git a/components/script/dom/bindings/utils.rs b/components/script/dom/bindings/utils.rs
index eb1da6617e1..8b6f25d1f80 100644
--- a/components/script/dom/bindings/utils.rs
+++ b/components/script/dom/bindings/utils.rs
@@ -237,19 +237,19 @@ pub unsafe fn find_enum_value<'a, T>(
v: HandleValue,
pairs: &'a [(&'static str, T)],
) -> Result<(Option<&'a T>, DOMString), ()> {
- let jsstr = ToString(cx, v);
- if jsstr.is_null() {
- return Err(());
+ match ptr::NonNull::new(ToString(cx, v)) {
+ Some(jsstr) => {
+ let search = jsstring_to_str(cx, jsstr);
+ Ok((
+ pairs
+ .iter()
+ .find(|&&(key, _)| search == *key)
+ .map(|(_, ev)| ev),
+ search,
+ ))
+ },
+ None => Err(()),
}
-
- let search = jsstring_to_str(cx, jsstr);
- Ok((
- pairs
- .iter()
- .find(|&&(key, _)| search == *key)
- .map(|(_, ev)| ev),
- search,
- ))
}
/// Returns wether `obj` is a platform object using dynamic unwrap