aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/htmlelement.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2014-04-09 20:02:40 +0200
committerMs2ger <ms2ger@gmail.com>2014-04-10 10:27:28 +0200
commitca6cfb5bca2ffbb41dd7735557f11fb5726be6e4 (patch)
treed2f94f87e1e1c5ca84c02ea45d7bf5cf9d3c1080 /src/components/script/dom/htmlelement.rs
parentea2560ef20ec1116b0897e84fb58eb14a8ea4696 (diff)
downloadservo-ca6cfb5bca2ffbb41dd7735557f11fb5726be6e4.tar.gz
servo-ca6cfb5bca2ffbb41dd7735557f11fb5726be6e4.zip
Add support for trait-based virtual methods on Nodes, and use it for before_remove_attr and after_set_attr.
Diffstat (limited to 'src/components/script/dom/htmlelement.rs')
-rw-r--r--src/components/script/dom/htmlelement.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/components/script/dom/htmlelement.rs b/src/components/script/dom/htmlelement.rs
index f8a1cd96a9b..e0a9ccdcc05 100644
--- a/src/components/script/dom/htmlelement.rs
+++ b/src/components/script/dom/htmlelement.rs
@@ -3,6 +3,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::HTMLElementBinding;
+use dom::bindings::codegen::InheritTypes::ElementCast;
use dom::bindings::codegen::InheritTypes::HTMLElementDerived;
use dom::bindings::js::JS;
use dom::bindings::error::{ErrorResult, Fallible};
@@ -10,6 +11,7 @@ use dom::document::Document;
use dom::element::{Element, ElementTypeId, HTMLElementTypeId};
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
use dom::node::{Node, ElementNodeTypeId};
+use dom::virtualmethods::VirtualMethods;
use js::jsapi::JSContext;
use js::jsval::{JSVal, NullValue};
use servo_util::namespace;
@@ -160,3 +162,10 @@ impl HTMLElement {
0
}
}
+
+impl VirtualMethods for JS<HTMLElement> {
+ fn super_type(&self) -> Option<~VirtualMethods:> {
+ let element: JS<Element> = ElementCast::from(self);
+ Some(~element as ~VirtualMethods:)
+ }
+}