diff options
author | Youngmin Yoo <youngmin.yoo@samsung.com> | 2014-02-10 11:26:39 +0900 |
---|---|---|
committer | Youngmin Yoo <youngmin.yoo@samsung.com> | 2014-02-20 17:31:16 +0900 |
commit | 13f9a66632644ea91711ce1ab5cfa92ffee88484 (patch) | |
tree | 6d3f5bc6d3f615c169998aae55b489ec8b3f06dd /src/components/script/dom/node.rs | |
parent | ec4c31c214724b60a41a700c4eb0cb8333e26d60 (diff) | |
download | servo-13f9a66632644ea91711ce1ab5cfa92ffee88484.tar.gz servo-13f9a66632644ea91711ce1ab5cfa92ffee88484.zip |
Impl Basic support for object element
Diffstat (limited to 'src/components/script/dom/node.rs')
-rw-r--r-- | src/components/script/dom/node.rs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/components/script/dom/node.rs b/src/components/script/dom/node.rs index 87e2bddaa37..3f0649fbdac 100644 --- a/src/components/script/dom/node.rs +++ b/src/components/script/dom/node.rs @@ -10,11 +10,12 @@ use dom::bindings::utils; use dom::characterdata::CharacterData; use dom::document::{AbstractDocument, DocumentTypeId}; use dom::documenttype::DocumentType; -use dom::element::{Element, ElementTypeId, HTMLImageElementTypeId, HTMLIframeElementTypeId}; +use dom::element::{Element, ElementTypeId, HTMLImageElementTypeId, HTMLIframeElementTypeId, HTMLObjectElementTypeId}; use dom::element::{HTMLAnchorElementTypeId, HTMLStyleElementTypeId}; use dom::eventtarget::{AbstractEventTarget, EventTarget, NodeTypeId}; use dom::htmliframeelement::HTMLIFrameElement; use dom::htmlimageelement::HTMLImageElement; +use dom::htmlobjectelement::HTMLObjectElement; use dom::nodelist::{NodeList}; use dom::text::Text; use dom::processinginstruction::ProcessingInstruction; @@ -488,6 +489,18 @@ impl<'a> AbstractNode { self.type_id() == ElementNodeTypeId(HTMLIframeElementTypeId) } + #[inline] + pub fn is_object_element(self) -> bool { + self.type_id() == ElementNodeTypeId(HTMLObjectElementTypeId) + } + + pub fn with_mut_object_element<R>(self, f: |&mut HTMLObjectElement| -> R) -> R { + if !self.is_object_element() { + fail!(~"node is not an image element"); + } + self.transmute_mut(f) + } + pub fn with_mut_iframe_element<R>(self, f: |&mut HTMLIFrameElement| -> R) -> R { if !self.is_iframe_element() { fail!(~"node is not an iframe element"); |