Generate bindings for HTMLDivElement, and pass abstract type to methods that need access to the opaque wrappers.

This commit is contained in:
Josh Matthews 2013-08-06 16:08:38 -04:00
parent 08ed6d318e
commit 65a33f60e5
10 changed files with 161 additions and 131 deletions

View file

@ -7,7 +7,8 @@ use dom::bindings::text;
use dom::bindings::utils;
use dom::bindings::utils::{CacheableWrapper, WrapperCache, DerivedWrapper};
use dom::element::{HTMLHeadElementTypeId, HTMLHtmlElementTypeId, HTMLAnchorElementTypeId};
use dom::element::{HTMLHeadElement, HTMLHtmlElement};
use dom::element::{HTMLDivElementTypeId};
use dom::element::{HTMLHeadElement, HTMLHtmlElement, HTMLDivElement};
use dom::htmlanchorelement::HTMLAnchorElement;
use dom::node::{AbstractNode, Node, ElementNodeTypeId, TextNodeTypeId, CommentNodeTypeId};
use dom::node::{DoctypeNodeTypeId, ScriptView, Text};
@ -75,6 +76,7 @@ macro_rules! generate_element(
pub fn create(cx: *JSContext, node: &mut AbstractNode<ScriptView>) -> *JSObject {
match node.type_id() {
ElementNodeTypeId(HTMLAnchorElementTypeId) => generate_element!(HTMLAnchorElement),
ElementNodeTypeId(HTMLDivElementTypeId) => generate_element!(HTMLDivElement),
ElementNodeTypeId(HTMLHeadElementTypeId) => generate_element!(HTMLHeadElement),
ElementNodeTypeId(HTMLHtmlElementTypeId) => generate_element!(HTMLHtmlElement),
ElementNodeTypeId(_) => element::create(cx, node).ptr,