diff options
author | Megha Gupta <meghabloomgirl@gmail.com> | 2014-12-30 19:49:02 +0530 |
---|---|---|
committer | Megha Gupta <meghabloomgirl@gmail.com> | 2015-01-02 23:10:32 +0530 |
commit | 50310968536c615f1331f3dc8b2b1352230816ee (patch) | |
tree | 787e4fb21cd92bcc35b961c61f6fcd67745a4ab3 /components/script/dom | |
parent | f85b9e37cc121544bd4c2ebe434e717eb3a3d953 (diff) | |
download | servo-50310968536c615f1331f3dc8b2b1352230816ee.tar.gz servo-50310968536c615f1331f3dc8b2b1352230816ee.zip |
Fix inheritance enums for htmlmediaelement and htmltablecellelement
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/htmlaudioelement.rs | 9 | ||||
-rw-r--r-- | components/script/dom/htmlelement.rs | 9 | ||||
-rw-r--r-- | components/script/dom/htmlmediaelement.rs | 14 | ||||
-rw-r--r-- | components/script/dom/htmltablecellelement.rs | 14 | ||||
-rw-r--r-- | components/script/dom/htmltabledatacellelement.rs | 10 | ||||
-rw-r--r-- | components/script/dom/htmltableheadercellelement.rs | 10 | ||||
-rw-r--r-- | components/script/dom/htmlvideoelement.rs | 11 | ||||
-rw-r--r-- | components/script/dom/virtualmethods.rs | 10 |
8 files changed, 58 insertions, 29 deletions
diff --git a/components/script/dom/htmlaudioelement.rs b/components/script/dom/htmlaudioelement.rs index 4d40834c999..36419faf54e 100644 --- a/components/script/dom/htmlaudioelement.rs +++ b/components/script/dom/htmlaudioelement.rs @@ -8,8 +8,8 @@ use dom::bindings::js::{JSRef, Temporary}; use dom::document::Document; use dom::element::ElementTypeId; use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlmediaelement::HTMLMediaElement; use dom::htmlelement::HTMLElementTypeId; +use dom::htmlmediaelement::{HTMLMediaElement, HTMLMediaElementTypeId}; use dom::node::{Node, NodeTypeId}; use servo_util::str::DOMString; @@ -20,14 +20,17 @@ pub struct HTMLAudioElement { impl HTMLAudioElementDerived for EventTarget { fn is_htmlaudioelement(&self) -> bool { - *self.type_id() == EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLAudioElement))) + *self.type_id() == EventTargetTypeId::Node(NodeTypeId::Element( + ElementTypeId::HTMLElement( + HTMLElementTypeId::HTMLMediaElement( + HTMLMediaElementTypeId::HTMLAudioElement)))) } } impl HTMLAudioElement { fn new_inherited(localName: DOMString, prefix: Option<DOMString>, document: JSRef<Document>) -> HTMLAudioElement { HTMLAudioElement { - htmlmediaelement: HTMLMediaElement::new_inherited(HTMLElementTypeId::HTMLAudioElement, localName, prefix, document) + htmlmediaelement: HTMLMediaElement::new_inherited(HTMLMediaElementTypeId::HTMLAudioElement, localName, prefix, document) } } diff --git a/components/script/dom/htmlelement.rs b/components/script/dom/htmlelement.rs index aa37631eae9..016c14db7e3 100644 --- a/components/script/dom/htmlelement.rs +++ b/components/script/dom/htmlelement.rs @@ -21,6 +21,8 @@ use dom::document::Document; use dom::domstringmap::DOMStringMap; use dom::element::{Element, ElementTypeId, ActivationElementHelpers, AttributeHandlers}; use dom::eventtarget::{EventTarget, EventTargetHelpers, EventTargetTypeId}; +use dom::htmlmediaelement::HTMLMediaElementTypeId; +use dom::htmltablecellelement::HTMLTableCellElementTypeId; use dom::node::{Node, NodeTypeId, window_from_node}; use dom::virtualmethods::VirtualMethods; @@ -210,7 +212,6 @@ pub enum HTMLElementTypeId { HTMLAnchorElement, HTMLAppletElement, HTMLAreaElement, - HTMLAudioElement, HTMLBaseElement, HTMLBRElement, HTMLBodyElement, @@ -239,7 +240,7 @@ pub enum HTMLElementTypeId { HTMLLinkElement, HTMLLIElement, HTMLMapElement, - HTMLMediaElement, + HTMLMediaElement(HTMLMediaElementTypeId), HTMLMetaElement, HTMLMeterElement, HTMLModElement, @@ -260,8 +261,7 @@ pub enum HTMLElementTypeId { HTMLStyleElement, HTMLTableElement, HTMLTableCaptionElement, - HTMLTableDataCellElement, - HTMLTableHeaderCellElement, + HTMLTableCellElement(HTMLTableCellElementTypeId), HTMLTableColElement, HTMLTableRowElement, HTMLTableSectionElement, @@ -271,7 +271,6 @@ pub enum HTMLElementTypeId { HTMLTitleElement, HTMLTrackElement, HTMLUListElement, - HTMLVideoElement, HTMLUnknownElement, } diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index 3a73d03387c..9346436eeb7 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -19,17 +19,16 @@ pub struct HTMLMediaElement { impl HTMLMediaElementDerived for EventTarget { fn is_htmlmediaelement(&self) -> bool { match *self.type_id() { - EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLVideoElement))) | - EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLAudioElement))) => true, + EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLMediaElement(_)))) => true, _ => false } } } impl HTMLMediaElement { - pub fn new_inherited(type_id: HTMLElementTypeId, tag_name: DOMString, prefix: Option<DOMString>, document: JSRef<Document>) -> HTMLMediaElement { + pub fn new_inherited(type_id: HTMLMediaElementTypeId, tag_name: DOMString, prefix: Option<DOMString>, document: JSRef<Document>) -> HTMLMediaElement { HTMLMediaElement { - htmlelement: HTMLElement::new_inherited(type_id, tag_name, prefix, document) + htmlelement: HTMLElement::new_inherited(HTMLElementTypeId::HTMLMediaElement(type_id), tag_name, prefix, document) } } @@ -39,3 +38,10 @@ impl HTMLMediaElement { } } +#[deriving(PartialEq, Show)] +#[jstraceable] +pub enum HTMLMediaElementTypeId { + HTMLAudioElement, + HTMLVideoElement, +} + diff --git a/components/script/dom/htmltablecellelement.rs b/components/script/dom/htmltablecellelement.rs index f50acfb0585..15f19561bb6 100644 --- a/components/script/dom/htmltablecellelement.rs +++ b/components/script/dom/htmltablecellelement.rs @@ -16,6 +16,13 @@ use cssparser::RGBA; use servo_util::str::{mod, DOMString, LengthOrPercentageOrAuto}; use std::cell::Cell; +#[deriving(PartialEq, Show)] +#[jstraceable] +pub enum HTMLTableCellElementTypeId { + HTMLTableDataCellElement, + HTMLTableHeaderCellElement, +} + #[dom_struct] pub struct HTMLTableCellElement { htmlelement: HTMLElement, @@ -27,21 +34,20 @@ pub struct HTMLTableCellElement { impl HTMLTableCellElementDerived for EventTarget { fn is_htmltablecellelement(&self) -> bool { match *self.type_id() { - EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableDataCellElement))) | - EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableHeaderCellElement))) => true, + EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableCellElement(_)))) => true, _ => false } } } impl HTMLTableCellElement { - pub fn new_inherited(type_id: HTMLElementTypeId, + pub fn new_inherited(type_id: HTMLTableCellElementTypeId, tag_name: DOMString, prefix: Option<DOMString>, document: JSRef<Document>) -> HTMLTableCellElement { HTMLTableCellElement { - htmlelement: HTMLElement::new_inherited(type_id, tag_name, prefix, document), + htmlelement: HTMLElement::new_inherited(HTMLElementTypeId::HTMLTableCellElement(type_id), tag_name, prefix, document), background_color: Cell::new(None), colspan: Cell::new(None), width: Cell::new(LengthOrPercentageOrAuto::Auto), diff --git a/components/script/dom/htmltabledatacellelement.rs b/components/script/dom/htmltabledatacellelement.rs index 6d032535b6e..0551745a37d 100644 --- a/components/script/dom/htmltabledatacellelement.rs +++ b/components/script/dom/htmltabledatacellelement.rs @@ -9,7 +9,7 @@ use dom::document::Document; use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::element::ElementTypeId; use dom::htmlelement::HTMLElementTypeId; -use dom::htmltablecellelement::HTMLTableCellElement; +use dom::htmltablecellelement::{HTMLTableCellElement, HTMLTableCellElementTypeId}; use dom::node::{Node, NodeTypeId}; use servo_util::str::DOMString; @@ -20,14 +20,18 @@ pub struct HTMLTableDataCellElement { impl HTMLTableDataCellElementDerived for EventTarget { fn is_htmltabledatacellelement(&self) -> bool { - *self.type_id() == EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableDataCellElement))) + *self.type_id() == EventTargetTypeId::Node(NodeTypeId::Element( + ElementTypeId::HTMLElement( + HTMLElementTypeId::HTMLTableCellElement( + HTMLTableCellElementTypeId::HTMLTableDataCellElement)))) } } impl HTMLTableDataCellElement { fn new_inherited(localName: DOMString, prefix: Option<DOMString>, document: JSRef<Document>) -> HTMLTableDataCellElement { HTMLTableDataCellElement { - htmltablecellelement: HTMLTableCellElement::new_inherited(HTMLElementTypeId::HTMLTableDataCellElement, localName, prefix, document) + htmltablecellelement: HTMLTableCellElement::new_inherited(HTMLTableCellElementTypeId::HTMLTableDataCellElement, + localName, prefix, document) } } diff --git a/components/script/dom/htmltableheadercellelement.rs b/components/script/dom/htmltableheadercellelement.rs index 9c0cfed926f..41a2a129512 100644 --- a/components/script/dom/htmltableheadercellelement.rs +++ b/components/script/dom/htmltableheadercellelement.rs @@ -9,7 +9,7 @@ use dom::document::Document; use dom::element::ElementTypeId; use dom::htmlelement::HTMLElementTypeId; use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmltablecellelement::HTMLTableCellElement; +use dom::htmltablecellelement::{HTMLTableCellElement, HTMLTableCellElementTypeId}; use dom::node::{Node, NodeTypeId}; use servo_util::str::DOMString; @@ -20,14 +20,18 @@ pub struct HTMLTableHeaderCellElement { impl HTMLTableHeaderCellElementDerived for EventTarget { fn is_htmltableheadercellelement(&self) -> bool { - *self.type_id() == EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableHeaderCellElement))) + *self.type_id() == EventTargetTypeId::Node(NodeTypeId::Element( + ElementTypeId::HTMLElement( + HTMLElementTypeId::HTMLTableCellElement( + HTMLTableCellElementTypeId::HTMLTableHeaderCellElement)))) } } impl HTMLTableHeaderCellElement { fn new_inherited(localName: DOMString, prefix: Option<DOMString>, document: JSRef<Document>) -> HTMLTableHeaderCellElement { HTMLTableHeaderCellElement { - htmltablecellelement: HTMLTableCellElement::new_inherited(HTMLElementTypeId::HTMLTableHeaderCellElement, localName, prefix, document) + htmltablecellelement: HTMLTableCellElement::new_inherited(HTMLTableCellElementTypeId::HTMLTableHeaderCellElement, + localName, prefix, document) } } diff --git a/components/script/dom/htmlvideoelement.rs b/components/script/dom/htmlvideoelement.rs index 31af50bc491..5bda0fdbf08 100644 --- a/components/script/dom/htmlvideoelement.rs +++ b/components/script/dom/htmlvideoelement.rs @@ -6,10 +6,10 @@ use dom::bindings::codegen::Bindings::HTMLVideoElementBinding; use dom::bindings::codegen::InheritTypes::HTMLVideoElementDerived; use dom::bindings::js::{JSRef, Temporary}; use dom::document::Document; -use dom::htmlelement::HTMLElementTypeId; use dom::element::ElementTypeId; use dom::eventtarget::{EventTarget, EventTargetTypeId}; -use dom::htmlmediaelement::HTMLMediaElement; +use dom::htmlelement::HTMLElementTypeId; +use dom::htmlmediaelement::{HTMLMediaElement, HTMLMediaElementTypeId}; use dom::node::{Node, NodeTypeId}; use servo_util::str::DOMString; @@ -20,14 +20,17 @@ pub struct HTMLVideoElement { impl HTMLVideoElementDerived for EventTarget { fn is_htmlvideoelement(&self) -> bool { - *self.type_id() == EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLVideoElement))) + *self.type_id() == EventTargetTypeId::Node(NodeTypeId::Element( + ElementTypeId::HTMLElement( + HTMLElementTypeId::HTMLMediaElement( + HTMLMediaElementTypeId::HTMLVideoElement)))) } } impl HTMLVideoElement { fn new_inherited(localName: DOMString, prefix: Option<DOMString>, document: JSRef<Document>) -> HTMLVideoElement { HTMLVideoElement { - htmlmediaelement: HTMLMediaElement::new_inherited(HTMLElementTypeId::HTMLVideoElement, localName, prefix, document) + htmlmediaelement: HTMLMediaElement::new_inherited(HTMLMediaElementTypeId::HTMLVideoElement, localName, prefix, document) } } diff --git a/components/script/dom/virtualmethods.rs b/components/script/dom/virtualmethods.rs index 068e530bee6..05f9d4750d6 100644 --- a/components/script/dom/virtualmethods.rs +++ b/components/script/dom/virtualmethods.rs @@ -50,7 +50,7 @@ use dom::htmlscriptelement::HTMLScriptElement; use dom::htmlselectelement::HTMLSelectElement; use dom::htmlstyleelement::HTMLStyleElement; use dom::htmltableelement::HTMLTableElement; -use dom::htmltablecellelement::HTMLTableCellElement; +use dom::htmltablecellelement::{HTMLTableCellElement, HTMLTableCellElementTypeId}; use dom::htmltablerowelement::HTMLTableRowElement; use dom::htmltablesectionelement::HTMLTableSectionElement; use dom::htmltextareaelement::HTMLTextAreaElement; @@ -216,8 +216,12 @@ pub fn vtable_for<'a>(node: &'a JSRef<'a, Node>) -> &'a VirtualMethods + 'a { HTMLTableElementCast::to_borrowed_ref(node).unwrap(); element as &'a VirtualMethods + 'a } - NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableDataCellElement)) | - NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableHeaderCellElement)) => { + NodeTypeId::Element(ElementTypeId::HTMLElement( + HTMLElementTypeId::HTMLTableCellElement( + HTMLTableCellElementTypeId::HTMLTableDataCellElement))) | + NodeTypeId::Element(ElementTypeId::HTMLElement( + HTMLElementTypeId::HTMLTableCellElement( + HTMLTableCellElementTypeId::HTMLTableHeaderCellElement))) => { let element: &'a JSRef<'a, HTMLTableCellElement> = HTMLTableCellElementCast::to_borrowed_ref(node).unwrap(); element as &'a VirtualMethods + 'a |