mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Implement VirtualMethods for HTMLBaseElement.
This commit is contained in:
parent
23b81326cc
commit
92e64e607c
2 changed files with 12 additions and 0 deletions
|
@ -4,12 +4,14 @@
|
||||||
|
|
||||||
use dom::bindings::codegen::Bindings::HTMLBaseElementBinding;
|
use dom::bindings::codegen::Bindings::HTMLBaseElementBinding;
|
||||||
use dom::bindings::codegen::InheritTypes::HTMLBaseElementDerived;
|
use dom::bindings::codegen::InheritTypes::HTMLBaseElementDerived;
|
||||||
|
use dom::bindings::codegen::InheritTypes::HTMLElementCast;
|
||||||
use dom::bindings::js::Root;
|
use dom::bindings::js::Root;
|
||||||
use dom::document::Document;
|
use dom::document::Document;
|
||||||
use dom::eventtarget::{EventTarget, EventTargetTypeId};
|
use dom::eventtarget::{EventTarget, EventTargetTypeId};
|
||||||
use dom::element::ElementTypeId;
|
use dom::element::ElementTypeId;
|
||||||
use dom::htmlelement::{HTMLElement, HTMLElementTypeId};
|
use dom::htmlelement::{HTMLElement, HTMLElementTypeId};
|
||||||
use dom::node::{Node, NodeTypeId};
|
use dom::node::{Node, NodeTypeId};
|
||||||
|
use dom::virtualmethods::VirtualMethods;
|
||||||
use util::str::DOMString;
|
use util::str::DOMString;
|
||||||
|
|
||||||
#[dom_struct]
|
#[dom_struct]
|
||||||
|
@ -41,3 +43,8 @@ impl HTMLBaseElement {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<'a> VirtualMethods for &'a HTMLBaseElement {
|
||||||
|
fn super_type<'b>(&'b self) -> Option<&'b VirtualMethods> {
|
||||||
|
Some(HTMLElementCast::from_borrowed_ref(self) as &VirtualMethods)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ use dom::bindings::codegen::InheritTypes::ElementCast;
|
||||||
use dom::bindings::codegen::InheritTypes::HTMLAnchorElementCast;
|
use dom::bindings::codegen::InheritTypes::HTMLAnchorElementCast;
|
||||||
use dom::bindings::codegen::InheritTypes::HTMLAreaElementCast;
|
use dom::bindings::codegen::InheritTypes::HTMLAreaElementCast;
|
||||||
use dom::bindings::codegen::InheritTypes::HTMLAppletElementCast;
|
use dom::bindings::codegen::InheritTypes::HTMLAppletElementCast;
|
||||||
|
use dom::bindings::codegen::InheritTypes::HTMLBaseElementCast;
|
||||||
use dom::bindings::codegen::InheritTypes::HTMLBodyElementCast;
|
use dom::bindings::codegen::InheritTypes::HTMLBodyElementCast;
|
||||||
use dom::bindings::codegen::InheritTypes::HTMLButtonElementCast;
|
use dom::bindings::codegen::InheritTypes::HTMLButtonElementCast;
|
||||||
use dom::bindings::codegen::InheritTypes::HTMLCanvasElementCast;
|
use dom::bindings::codegen::InheritTypes::HTMLCanvasElementCast;
|
||||||
|
@ -138,6 +139,10 @@ pub fn vtable_for<'a>(node: &'a &'a Node) -> &'a (VirtualMethods + 'a) {
|
||||||
let element = HTMLAreaElementCast::to_borrowed_ref(node).unwrap();
|
let element = HTMLAreaElementCast::to_borrowed_ref(node).unwrap();
|
||||||
element as &'a (VirtualMethods + 'a)
|
element as &'a (VirtualMethods + 'a)
|
||||||
}
|
}
|
||||||
|
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLBaseElement)) => {
|
||||||
|
let element = HTMLBaseElementCast::to_borrowed_ref(node).unwrap();
|
||||||
|
element as &'a (VirtualMethods + 'a)
|
||||||
|
}
|
||||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLBodyElement)) => {
|
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLBodyElement)) => {
|
||||||
let element = HTMLBodyElementCast::to_borrowed_ref(node).unwrap();
|
let element = HTMLBodyElementCast::to_borrowed_ref(node).unwrap();
|
||||||
element as &'a (VirtualMethods + 'a)
|
element as &'a (VirtualMethods + 'a)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue