mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Add HTMLElementTypeId enum (fixes #3625)
This commit is contained in:
parent
de3cff0e08
commit
f85b9e37cc
76 changed files with 445 additions and 415 deletions
|
@ -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,
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue