Cleanup the implementation of HTMLTableElement::GetCaption.

This commit is contained in:
Ms2ger 2014-10-31 10:25:44 +01:00
parent 7de9ed5fc7
commit bd547dee5e

View file

@ -9,7 +9,6 @@ use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::js::{JSRef, Temporary}; use dom::bindings::js::{JSRef, Temporary};
use dom::bindings::utils::{Reflectable, Reflector}; use dom::bindings::utils::{Reflectable, Reflector};
use dom::document::Document; use dom::document::Document;
use dom::element::HTMLTableCaptionElementTypeId;
use dom::element::HTMLTableElementTypeId; use dom::element::HTMLTableElementTypeId;
use dom::eventtarget::{EventTarget, NodeTargetTypeId}; use dom::eventtarget::{EventTarget, NodeTargetTypeId};
use dom::htmlelement::HTMLElement; use dom::htmlelement::HTMLElement;
@ -52,11 +51,10 @@ impl<'a> HTMLTableElementMethods for JSRef<'a, HTMLTableElement> {
// http://www.whatwg.org/html/#dom-table-caption // http://www.whatwg.org/html/#dom-table-caption
fn GetCaption(self) -> Option<Temporary<HTMLTableCaptionElement>> { fn GetCaption(self) -> Option<Temporary<HTMLTableCaptionElement>> {
let node: JSRef<Node> = NodeCast::from_ref(self); let node: JSRef<Node> = NodeCast::from_ref(self);
node.children().find(|child| { node.children()
child.type_id() == ElementNodeTypeId(HTMLTableCaptionElementTypeId) .filter_map::<JSRef<HTMLTableCaptionElement>>(HTMLTableCaptionElementCast::to_ref)
}).map(|node| { .next()
Temporary::from_rooted(HTMLTableCaptionElementCast::to_ref(node).unwrap()) .map(Temporary::from_rooted)
})
} }
// http://www.whatwg.org/html/#dom-table-caption // http://www.whatwg.org/html/#dom-table-caption