Auto-generate some binding codes for HTMLElement, Element, CharacterData.

This commit is contained in:
Tetsuharu OHZEKI 2013-10-16 00:26:20 +09:00
parent 776ab67905
commit f5e2b2ec67
4 changed files with 9 additions and 38 deletions

View file

@ -492,6 +492,12 @@ generate_cacheable_wrapper_htmlmediaelement!(HTMLVideoElement, HTMLVideoElementB
generate_binding_object_htmlmediaelement!(HTMLVideoElement) generate_binding_object_htmlmediaelement!(HTMLVideoElement)
generate_traceable_htmlmediaelement!(HTMLVideoElement) generate_traceable_htmlmediaelement!(HTMLVideoElement)
generate_cacheable_wrapper!(HTMLElement, HTMLElementBinding::Wrap)
generate_binding_object!(HTMLElement)
generate_traceable!(HTMLElement) generate_traceable!(HTMLElement)
generate_binding_object_node!(Element)
generate_traceable_node!(Element) generate_traceable_node!(Element)
generate_binding_object_node!(CharacterData)
generate_traceable_node!(CharacterData) generate_traceable_node!(CharacterData)

View file

@ -5,7 +5,7 @@
//! DOM bindings for `CharacterData`. //! DOM bindings for `CharacterData`.
use dom::bindings::utils::{DOMString, ErrorResult, Fallible}; use dom::bindings::utils::{DOMString, ErrorResult, Fallible};
use dom::bindings::utils::{BindingObject, Reflectable, Reflector}; use dom::bindings::utils::{Reflectable, Reflector};
use dom::document::AbstractDocument; use dom::document::AbstractDocument;
use dom::node::{Node, NodeTypeId, ScriptView}; use dom::node::{Node, NodeTypeId, ScriptView};
use js::jsapi::{JSObject, JSContext}; use js::jsapi::{JSObject, JSContext};
@ -71,9 +71,3 @@ impl Reflectable for CharacterData {
fail!(~"need to implement wrapping"); fail!(~"need to implement wrapping");
} }
} }
impl BindingObject for CharacterData {
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
self.node.GetParentObject(cx)
}
}

View file

@ -4,7 +4,7 @@
//! Element nodes. //! Element nodes.
use dom::bindings::utils::{BindingObject, Reflectable, DOMString, ErrorResult, Fallible, Reflector}; use dom::bindings::utils::{Reflectable, DOMString, ErrorResult, Fallible, Reflector};
use dom::bindings::utils::{null_str_as_empty, null_str_as_empty_ref}; use dom::bindings::utils::{null_str_as_empty, null_str_as_empty_ref};
use dom::htmlcollection::HTMLCollection; use dom::htmlcollection::HTMLCollection;
use dom::clientrect::ClientRect; use dom::clientrect::ClientRect;
@ -43,12 +43,6 @@ impl Reflectable for Element {
} }
} }
impl BindingObject for Element {
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
self.node.GetParentObject(cx)
}
}
#[deriving(Eq)] #[deriving(Eq)]
pub enum ElementTypeId { pub enum ElementTypeId {
HTMLElementTypeId, HTMLElementTypeId,

View file

@ -2,13 +2,11 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::HTMLElementBinding;
use dom::bindings::utils::{DOMString, ErrorResult, Fallible}; use dom::bindings::utils::{DOMString, ErrorResult, Fallible};
use dom::bindings::utils::{Reflectable, BindingObject, Reflector};
use dom::document::AbstractDocument; use dom::document::AbstractDocument;
use dom::element::{Element, ElementTypeId}; use dom::element::{Element, ElementTypeId};
use dom::node::{AbstractNode, ScriptView}; use dom::node::{AbstractNode, ScriptView};
use js::jsapi::{JSObject, JSContext, JSVal}; use js::jsapi::{JSContext, JSVal};
use js::JSVAL_NULL; use js::JSVAL_NULL;
pub struct HTMLElement { pub struct HTMLElement {
@ -148,24 +146,3 @@ impl HTMLElement {
0 0
} }
} }
impl Reflectable for HTMLElement {
fn reflector<'a>(&'a self) -> &'a Reflector {
self.element.reflector()
}
fn mut_reflector<'a>(&'a mut self) -> &'a mut Reflector {
self.element.mut_reflector()
}
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
let mut unused = false;
HTMLElementBinding::Wrap(cx, scope, self, &mut unused)
}
}
impl BindingObject for HTMLElement {
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
self.element.GetParentObject(cx)
}
}