auto merge of #4495 : MeghaGupta/servo/typeid, r=Ms2ger

This commit is contained in:
bors-servo 2015-01-04 12:12:48 -07:00
commit 2e17cae5d0
76 changed files with 481 additions and 423 deletions

View file

@ -10,10 +10,11 @@ use dom::bindings::codegen::InheritTypes::{HTMLFieldSetElementDerived, NodeCast}
use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLLegendElementDerived};
use dom::bindings::js::{JSRef, Temporary};
use dom::document::Document;
use dom::element::{AttributeHandlers, Element, ElementHelpers, ElementTypeId};
use dom::element::{AttributeHandlers, Element, ElementHelpers};
use dom::eventtarget::{EventTarget, EventTargetTypeId};
use dom::htmlcollection::{HTMLCollection, CollectionFilter};
use dom::htmlelement::HTMLElement;
use dom::element::ElementTypeId;
use dom::htmlelement::{HTMLElement, HTMLElementTypeId};
use dom::node::{DisabledStateHelpers, Node, NodeHelpers, NodeTypeId, window_from_node};
use dom::validitystate::ValidityState;
use dom::virtualmethods::VirtualMethods;
@ -28,14 +29,14 @@ pub struct HTMLFieldSetElement {
impl HTMLFieldSetElementDerived for EventTarget {
fn is_htmlfieldsetelement(&self) -> bool {
*self.type_id() == EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLFieldSetElement))
*self.type_id() == EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLFieldSetElement)))
}
}
impl HTMLFieldSetElement {
fn new_inherited(localName: DOMString, prefix: Option<DOMString>, document: JSRef<Document>) -> HTMLFieldSetElement {
HTMLFieldSetElement {
htmlelement: HTMLElement::new_inherited(ElementTypeId::HTMLFieldSetElement, localName, prefix, document)
htmlelement: HTMLElement::new_inherited(HTMLElementTypeId::HTMLFieldSetElement, localName, prefix, document)
}
}
@ -99,10 +100,10 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLFieldSetElement> {
}).collect();
for descendant in filtered.iter().flat_map(|child| child.traverse_preorder()) {
match descendant.type_id() {
NodeTypeId::Element(ElementTypeId::HTMLButtonElement) |
NodeTypeId::Element(ElementTypeId::HTMLInputElement) |
NodeTypeId::Element(ElementTypeId::HTMLSelectElement) |
NodeTypeId::Element(ElementTypeId::HTMLTextAreaElement) => {
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLButtonElement)) |
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLInputElement)) |
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLSelectElement)) |
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTextAreaElement)) => {
descendant.set_disabled_state(true);
descendant.set_enabled_state(false);
},
@ -131,10 +132,10 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLFieldSetElement> {
}).collect();
for descendant in filtered.iter().flat_map(|child| child.traverse_preorder()) {
match descendant.type_id() {
NodeTypeId::Element(ElementTypeId::HTMLButtonElement) |
NodeTypeId::Element(ElementTypeId::HTMLInputElement) |
NodeTypeId::Element(ElementTypeId::HTMLSelectElement) |
NodeTypeId::Element(ElementTypeId::HTMLTextAreaElement) => {
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLButtonElement)) |
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLInputElement)) |
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLSelectElement)) |
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTextAreaElement)) => {
descendant.check_disabled_attribute();
descendant.check_ancestors_disabled_state_for_form_control();
},