From e1dae2f59b41d9816be367f765ff3afb9abf7f06 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Sat, 20 Dec 2014 13:42:38 +0100 Subject: [PATCH] Use the try macro in unwrap_jsmanaged. --- components/script/dom/bindings/utils.rs | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/components/script/dom/bindings/utils.rs b/components/script/dom/bindings/utils.rs index f598068fa53..4f12d1dbc7d 100644 --- a/components/script/dom/bindings/utils.rs +++ b/components/script/dom/bindings/utils.rs @@ -127,7 +127,7 @@ pub fn unwrap_jsmanaged(mut obj: *mut JSObject, proto_id: PrototypeList::ID, proto_depth: uint) -> Result, ()> { unsafe { - let dom_class = get_dom_class(obj).or_else(|_| { + let dom_class = try!(get_dom_class(obj).or_else(|_| { if IsWrapper(obj) == 1 { debug!("found wrapper"); obj = UnwrapObject(obj, /* stopAtOuter = */ 0, ptr::null_mut()); @@ -143,17 +143,15 @@ pub fn unwrap_jsmanaged(mut obj: *mut JSObject, debug!("not a dom wrapper"); Err(()) } - }); + })); - dom_class.and_then(|dom_class| { - if dom_class.interface_chain[proto_depth] == proto_id { - debug!("good prototype"); - Ok(JS::from_raw(unwrap(obj))) - } else { - debug!("bad prototype"); - Err(()) - } - }) + if dom_class.interface_chain[proto_depth] == proto_id { + debug!("good prototype"); + Ok(JS::from_raw(unwrap(obj))) + } else { + debug!("bad prototype"); + Err(()) + } } }