aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/virtualmethods.rs
diff options
context:
space:
mode:
authorbors-servo <release+servo@mozilla.com>2014-04-14 17:01:11 -0400
committerbors-servo <release+servo@mozilla.com>2014-04-14 17:01:11 -0400
commit6720b8110a6dd88abee9e02faf49c399bed7e02f (patch)
tree0a1f20ae77ae9b42fe9e8206eeb855158ce0ba15 /src/components/script/dom/virtualmethods.rs
parent18b5453e09e1f67653888a81578325bab7472717 (diff)
parent28a013cfc57e406eabf54ea8f02c37aa55d5494b (diff)
downloadservo-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.rs16
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: