diff options
Diffstat (limited to 'components/script/dom/htmlelement.rs')
-rw-r--r-- | components/script/dom/htmlelement.rs | 82 |
1 files changed, 77 insertions, 5 deletions
diff --git a/components/script/dom/htmlelement.rs b/components/script/dom/htmlelement.rs index 46572ed76e0..aa37631eae9 100644 --- a/components/script/dom/htmlelement.rs +++ b/components/script/dom/htmlelement.rs @@ -40,17 +40,16 @@ pub struct HTMLElement { impl HTMLElementDerived for EventTarget { fn is_htmlelement(&self) -> bool { match *self.type_id() { - EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::Element)) => false, - EventTargetTypeId::Node(NodeTypeId::Element(_)) => true, + EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement(_))) => true, _ => false } } } impl HTMLElement { - pub fn new_inherited(type_id: ElementTypeId, tag_name: DOMString, prefix: Option<DOMString>, document: JSRef<Document>) -> HTMLElement { + pub fn new_inherited(type_id: HTMLElementTypeId, tag_name: DOMString, prefix: Option<DOMString>, document: JSRef<Document>) -> HTMLElement { HTMLElement { - element: Element::new_inherited(type_id, tag_name, ns!(HTML), prefix, document), + element: Element::new_inherited(ElementTypeId::HTMLElement(type_id), tag_name, ns!(HTML), prefix, document), style_decl: Default::default(), dataset: Default::default(), } @@ -58,7 +57,7 @@ impl HTMLElement { #[allow(unrooted_must_root)] pub fn new(localName: DOMString, prefix: Option<DOMString>, document: JSRef<Document>) -> Temporary<HTMLElement> { - let element = HTMLElement::new_inherited(ElementTypeId::HTMLElement, localName, prefix, document); + let element = HTMLElement::new_inherited(HTMLElementTypeId::HTMLElement, localName, prefix, document); Node::reflect_node(box element, document, HTMLElementBinding::Wrap) } } @@ -203,3 +202,76 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLElement> { } } +#[deriving(PartialEq, Show)] +#[jstraceable] +pub enum HTMLElementTypeId { + HTMLElement, + + HTMLAnchorElement, + HTMLAppletElement, + HTMLAreaElement, + HTMLAudioElement, + HTMLBaseElement, + HTMLBRElement, + HTMLBodyElement, + HTMLButtonElement, + HTMLCanvasElement, + HTMLDataElement, + HTMLDataListElement, + HTMLDirectoryElement, + HTMLDListElement, + HTMLDivElement, + HTMLEmbedElement, + HTMLFieldSetElement, + HTMLFontElement, + HTMLFormElement, + HTMLFrameElement, + HTMLFrameSetElement, + HTMLHRElement, + HTMLHeadElement, + HTMLHeadingElement, + HTMLHtmlElement, + HTMLIFrameElement, + HTMLImageElement, + HTMLInputElement, + HTMLLabelElement, + HTMLLegendElement, + HTMLLinkElement, + HTMLLIElement, + HTMLMapElement, + HTMLMediaElement, + HTMLMetaElement, + HTMLMeterElement, + HTMLModElement, + HTMLObjectElement, + HTMLOListElement, + HTMLOptGroupElement, + HTMLOptionElement, + HTMLOutputElement, + HTMLParagraphElement, + HTMLParamElement, + HTMLPreElement, + HTMLProgressElement, + HTMLQuoteElement, + HTMLScriptElement, + HTMLSelectElement, + HTMLSourceElement, + HTMLSpanElement, + HTMLStyleElement, + HTMLTableElement, + HTMLTableCaptionElement, + HTMLTableDataCellElement, + HTMLTableHeaderCellElement, + HTMLTableColElement, + HTMLTableRowElement, + HTMLTableSectionElement, + HTMLTemplateElement, + HTMLTextAreaElement, + HTMLTimeElement, + HTMLTitleElement, + HTMLTrackElement, + HTMLUListElement, + HTMLVideoElement, + HTMLUnknownElement, +} + |