mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Generate bindings for Comment and DocumentType.
This commit is contained in:
parent
1eb5eeb630
commit
8070f02e39
12 changed files with 147 additions and 187 deletions
|
@ -3,7 +3,6 @@
|
|||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use dom::bindings::element;
|
||||
use dom::bindings::text;
|
||||
use dom::bindings::utils;
|
||||
use dom::bindings::utils::{CacheableWrapper, WrapperCache, DerivedWrapper};
|
||||
use dom::element::*;
|
||||
|
@ -64,7 +63,7 @@ pub fn init(compartment: @mut Compartment) {
|
|||
}
|
||||
|
||||
macro_rules! generate_element(
|
||||
($name: ident) => ({
|
||||
($name: path) => ({
|
||||
let node: @mut $name = unsafe { cast::transmute(node.raw_object()) };
|
||||
node.wrap_object_shared(cx, ptr::null())
|
||||
})
|
||||
|
@ -130,12 +129,9 @@ pub fn create(cx: *JSContext, node: &mut AbstractNode<ScriptView>) -> *JSObject
|
|||
ElementNodeTypeId(HTMLUListElementTypeId) => generate_element!(HTMLUListElement),
|
||||
ElementNodeTypeId(HTMLUnknownElementTypeId) => generate_element!(HTMLUnknownElement),
|
||||
ElementNodeTypeId(_) => element::create(cx, node).ptr,
|
||||
CommentNodeTypeId |
|
||||
DoctypeNodeTypeId => text::create(cx, node).ptr,
|
||||
TextNodeTypeId => {
|
||||
let node: @mut Text = unsafe { cast::transmute(node.raw_object()) };
|
||||
node.wrap_object_shared(cx, ptr::null())
|
||||
}
|
||||
CommentNodeTypeId => generate_element!(Comment),
|
||||
DoctypeNodeTypeId => generate_element!(DocumentType<ScriptView>),
|
||||
TextNodeTypeId => generate_element!(Text)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue