aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlformelement.rs
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2015-10-07 14:55:02 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2015-10-21 11:40:34 +0200
commit68014af78e8e3f5de4df0f6cc4d63b99c77478f5 (patch)
treef65b1a66ad8d7ce65042e37cf654da75e1766939 /components/script/dom/htmlformelement.rs
parent13ea3ac413c511872784ccde416956217746553c (diff)
downloadservo-68014af78e8e3f5de4df0f6cc4d63b99c77478f5.tar.gz
servo-68014af78e8e3f5de4df0f6cc4d63b99c77478f5.zip
Clean up the cast calls
Diffstat (limited to 'components/script/dom/htmlformelement.rs')
-rw-r--r--components/script/dom/htmlformelement.rs27
1 files changed, 7 insertions, 20 deletions
diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs
index 0584cd85c59..be4f092da72 100644
--- a/components/script/dom/htmlformelement.rs
+++ b/components/script/dom/htmlformelement.rs
@@ -17,7 +17,6 @@ use dom::bindings::utils::Reflectable;
use dom::document::Document;
use dom::element::Element;
use dom::event::{Event, EventBubbles, EventCancelable};
-use dom::eventtarget::EventTarget;
use dom::htmlbuttonelement::{HTMLButtonElement};
use dom::htmldatalistelement::HTMLDataListElement;
use dom::htmlelement::HTMLElement;
@@ -163,8 +162,7 @@ impl HTMLFormElement {
"submit".to_owned(),
EventBubbles::Bubbles,
EventCancelable::Cancelable);
- let target = self.upcast::<EventTarget>();
- event.r().fire(target);
+ event.fire(self.upcast());
if event.r().DefaultPrevented() {
return;
}
@@ -316,21 +314,17 @@ impl HTMLFormElement {
"reset".to_owned(),
EventBubbles::Bubbles,
EventCancelable::Cancelable);
- let target = self.upcast::<EventTarget>();
- event.r().fire(target);
+ event.fire(self.upcast());
if event.r().DefaultPrevented() {
return;
}
- let node = self.upcast::<Node>();
-
// TODO: This is an incorrect way of getting controls owned
// by the form, but good enough until html5ever lands
- for child in node.traverse_preorder() {
+ for child in self.upcast::<Node>().traverse_preorder() {
match child.r().type_id() {
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLInputElement)) => {
- let input = child.downcast::<HTMLInputElement>().unwrap();
- input.reset()
+ child.downcast::<HTMLInputElement>().unwrap().reset();
}
// TODO HTMLKeygenElement unimplemented
//NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLKeygenElement)) => {
@@ -342,8 +336,7 @@ impl HTMLFormElement {
{}
}
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTextAreaElement)) => {
- let textarea = child.downcast::<HTMLTextAreaElement>().unwrap();
- textarea.reset()
+ child.downcast::<HTMLTextAreaElement>().unwrap().reset();
}
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLOutputElement)) => {
// Unimplemented
@@ -484,13 +477,7 @@ pub trait FormControl: DerivedFrom<Element> + Reflectable {
_ => ()
}
}
- let node = elem.upcast::<Node>();
- for ancestor in node.ancestors() {
- if let Some(ancestor) = ancestor.downcast::<HTMLFormElement>() {
- return Some(Root::from_ref(ancestor))
- }
- }
- None
+ elem.upcast::<Node>().ancestors().filter_map(Root::downcast).next()
}
fn get_form_attribute<InputFn, OwnerFn>(&self,
@@ -509,7 +496,7 @@ pub trait FormControl: DerivedFrom<Element> + Reflectable {
}
fn to_element(&self) -> &Element {
- self.upcast::<Element>()
+ self.upcast()
}
}