diff options
author | bors-servo <release+servo@mozilla.com> | 2014-04-14 17:01:11 -0400 |
---|---|---|
committer | bors-servo <release+servo@mozilla.com> | 2014-04-14 17:01:11 -0400 |
commit | 6720b8110a6dd88abee9e02faf49c399bed7e02f (patch) | |
tree | 0a1f20ae77ae9b42fe9e8206eeb855158ce0ba15 /src/components/script/dom/virtualmethods.rs | |
parent | 18b5453e09e1f67653888a81578325bab7472717 (diff) | |
parent | 28a013cfc57e406eabf54ea8f02c37aa55d5494b (diff) | |
download | servo-6720b8110a6dd88abee9e02faf49c399bed7e02f.tar.gz servo-6720b8110a6dd88abee9e02faf49c399bed7e02f.zip |
auto merge of #2106 : mbrubeck/servo/1959-vtable-followup, r=jdm
Follow-up from #1984. r? @jdm
Diffstat (limited to 'src/components/script/dom/virtualmethods.rs')
-rw-r--r-- | src/components/script/dom/virtualmethods.rs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/components/script/dom/virtualmethods.rs b/src/components/script/dom/virtualmethods.rs index 866ace84e02..85ae37cb032 100644 --- a/src/components/script/dom/virtualmethods.rs +++ b/src/components/script/dom/virtualmethods.rs @@ -7,14 +7,16 @@ use dom::bindings::codegen::InheritTypes::HTMLElementCast; use dom::bindings::codegen::InheritTypes::HTMLIFrameElementCast; use dom::bindings::codegen::InheritTypes::HTMLImageElementCast; use dom::bindings::codegen::InheritTypes::HTMLObjectElementCast; +use dom::bindings::codegen::InheritTypes::HTMLStyleElementCast; use dom::bindings::js::JS; use dom::element::Element; use dom::element::{ElementTypeId, HTMLImageElementTypeId}; -use dom::element::{HTMLIFrameElementTypeId, HTMLObjectElementTypeId}; +use dom::element::{HTMLIFrameElementTypeId, HTMLObjectElementTypeId, HTMLStyleElementTypeId}; use dom::htmlelement::HTMLElement; use dom::htmliframeelement::HTMLIFrameElement; use dom::htmlimageelement::HTMLImageElement; use dom::htmlobjectelement::HTMLObjectElement; +use dom::htmlstyleelement::HTMLStyleElement; use dom::node::{Node, ElementNodeTypeId}; use servo_util::str::DOMString; @@ -58,6 +60,14 @@ pub trait VirtualMethods { _ => (), } } + + /// Called on the parent when a node is added to its child list. + fn child_inserted(&mut self, child: &JS<Node>) { + match self.super_type() { + Some(ref mut s) => s.child_inserted(child), + _ => (), + } + } } /// Obtain a VirtualMethods instance for a given Node-derived object. Any @@ -78,6 +88,10 @@ pub fn vtable_for<'a>(node: &JS<Node>) -> ~VirtualMethods: { let element: JS<HTMLObjectElement> = HTMLObjectElementCast::to(node).unwrap(); ~element as ~VirtualMethods: } + ElementNodeTypeId(HTMLStyleElementTypeId) => { + let element: JS<HTMLStyleElement> = HTMLStyleElementCast::to(node).unwrap(); + ~element as ~VirtualMethods: + } ElementNodeTypeId(ElementTypeId) => { let element: JS<Element> = ElementCast::to(node).unwrap(); ~element as ~VirtualMethods: |