mirror of
https://github.com/servo/servo.git
synced 2025-06-21 07:38:59 +01:00
Remove node::create.
This commit is contained in:
parent
8c810bf032
commit
ad658ba4ec
2 changed files with 5 additions and 99 deletions
|
@ -3,11 +3,8 @@
|
|||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use dom::bindings::utils::{Reflectable, Reflector, Traceable};
|
||||
use dom::document::{PlainDocumentTypeId, HTMLDocumentTypeId};
|
||||
use dom::element::*;
|
||||
use dom::types::*;
|
||||
use dom::node::{AbstractNode, ElementNodeTypeId, TextNodeTypeId, CommentNodeTypeId};
|
||||
use dom::node::{DoctypeNodeTypeId, DocumentFragmentNodeTypeId, ScriptView, DocumentNodeTypeId};
|
||||
use dom::node::{AbstractNode, ScriptView};
|
||||
|
||||
use std::cast;
|
||||
use std::libc;
|
||||
|
@ -15,93 +12,6 @@ use std::ptr;
|
|||
use js::jsapi::{JSContext, JSObject, JSTracer, JSTRACE_OBJECT, JS_CallTracer};
|
||||
use servo_util::tree::TreeNodeRef;
|
||||
|
||||
macro_rules! generate_element(
|
||||
($name: path) => ({
|
||||
let node: @mut $name = unsafe { cast::transmute(node.raw_object()) };
|
||||
node.wrap_object_shared(cx, ptr::null())
|
||||
})
|
||||
)
|
||||
|
||||
pub fn create(cx: *JSContext, node: &mut AbstractNode<ScriptView>) -> *JSObject {
|
||||
match node.type_id() {
|
||||
ElementNodeTypeId(HTMLElementTypeId) => generate_element!(HTMLElement),
|
||||
ElementNodeTypeId(HTMLAnchorElementTypeId) => generate_element!(HTMLAnchorElement),
|
||||
ElementNodeTypeId(HTMLAppletElementTypeId) => generate_element!(HTMLAppletElement),
|
||||
ElementNodeTypeId(HTMLAreaElementTypeId) => generate_element!(HTMLAreaElement),
|
||||
ElementNodeTypeId(HTMLAudioElementTypeId) => generate_element!(HTMLAudioElement),
|
||||
ElementNodeTypeId(HTMLBaseElementTypeId) => generate_element!(HTMLBaseElement),
|
||||
ElementNodeTypeId(HTMLBodyElementTypeId) => generate_element!(HTMLBodyElement),
|
||||
ElementNodeTypeId(HTMLBRElementTypeId) => generate_element!(HTMLBRElement),
|
||||
ElementNodeTypeId(HTMLButtonElementTypeId) => generate_element!(HTMLButtonElement),
|
||||
ElementNodeTypeId(HTMLCanvasElementTypeId) => generate_element!(HTMLCanvasElement),
|
||||
ElementNodeTypeId(HTMLDataElementTypeId) => generate_element!(HTMLDataElement),
|
||||
ElementNodeTypeId(HTMLDataListElementTypeId) => generate_element!(HTMLDataListElement),
|
||||
ElementNodeTypeId(HTMLDirectoryElementTypeId) => generate_element!(HTMLDirectoryElement),
|
||||
ElementNodeTypeId(HTMLDListElementTypeId) => generate_element!(HTMLDListElement),
|
||||
ElementNodeTypeId(HTMLDivElementTypeId) => generate_element!(HTMLDivElement),
|
||||
ElementNodeTypeId(HTMLEmbedElementTypeId) => generate_element!(HTMLEmbedElement),
|
||||
ElementNodeTypeId(HTMLFieldSetElementTypeId) => generate_element!(HTMLFieldSetElement),
|
||||
ElementNodeTypeId(HTMLFontElementTypeId) => generate_element!(HTMLFontElement),
|
||||
ElementNodeTypeId(HTMLFormElementTypeId) => generate_element!(HTMLFormElement),
|
||||
ElementNodeTypeId(HTMLFrameElementTypeId) => generate_element!(HTMLFrameElement),
|
||||
ElementNodeTypeId(HTMLFrameSetElementTypeId) => generate_element!(HTMLFrameSetElement),
|
||||
ElementNodeTypeId(HTMLHeadElementTypeId) => generate_element!(HTMLHeadElement),
|
||||
ElementNodeTypeId(HTMLHeadingElementTypeId) => generate_element!(HTMLHeadingElement),
|
||||
ElementNodeTypeId(HTMLHRElementTypeId) => generate_element!(HTMLHRElement),
|
||||
ElementNodeTypeId(HTMLHtmlElementTypeId) => generate_element!(HTMLHtmlElement),
|
||||
ElementNodeTypeId(HTMLIframeElementTypeId) => generate_element!(HTMLIFrameElement),
|
||||
ElementNodeTypeId(HTMLImageElementTypeId) => generate_element!(HTMLImageElement),
|
||||
ElementNodeTypeId(HTMLInputElementTypeId) => generate_element!(HTMLInputElement),
|
||||
ElementNodeTypeId(HTMLLabelElementTypeId) => generate_element!(HTMLLabelElement),
|
||||
ElementNodeTypeId(HTMLLegendElementTypeId) => generate_element!(HTMLLegendElement),
|
||||
ElementNodeTypeId(HTMLLIElementTypeId) => generate_element!(HTMLLIElement),
|
||||
ElementNodeTypeId(HTMLLinkElementTypeId) => generate_element!(HTMLLinkElement),
|
||||
ElementNodeTypeId(HTMLMainElementTypeId) => generate_element!(HTMLMainElement),
|
||||
ElementNodeTypeId(HTMLMapElementTypeId) => generate_element!(HTMLMapElement),
|
||||
ElementNodeTypeId(HTMLMediaElementTypeId) => generate_element!(HTMLMediaElement),
|
||||
ElementNodeTypeId(HTMLMetaElementTypeId) => generate_element!(HTMLMetaElement),
|
||||
ElementNodeTypeId(HTMLMeterElementTypeId) => generate_element!(HTMLMeterElement),
|
||||
ElementNodeTypeId(HTMLModElementTypeId) => generate_element!(HTMLModElement),
|
||||
ElementNodeTypeId(HTMLObjectElementTypeId) => generate_element!(HTMLObjectElement),
|
||||
ElementNodeTypeId(HTMLOListElementTypeId) => generate_element!(HTMLOListElement),
|
||||
ElementNodeTypeId(HTMLOptGroupElementTypeId) => generate_element!(HTMLOptGroupElement),
|
||||
ElementNodeTypeId(HTMLOptionElementTypeId) => generate_element!(HTMLOptionElement),
|
||||
ElementNodeTypeId(HTMLOutputElementTypeId) => generate_element!(HTMLOutputElement),
|
||||
ElementNodeTypeId(HTMLParagraphElementTypeId) => generate_element!(HTMLParagraphElement),
|
||||
ElementNodeTypeId(HTMLParamElementTypeId) => generate_element!(HTMLParamElement),
|
||||
ElementNodeTypeId(HTMLPreElementTypeId) => generate_element!(HTMLPreElement),
|
||||
ElementNodeTypeId(HTMLProgressElementTypeId) => generate_element!(HTMLProgressElement),
|
||||
ElementNodeTypeId(HTMLQuoteElementTypeId) => generate_element!(HTMLQuoteElement),
|
||||
ElementNodeTypeId(HTMLScriptElementTypeId) => generate_element!(HTMLScriptElement),
|
||||
ElementNodeTypeId(HTMLSelectElementTypeId) => generate_element!(HTMLSelectElement),
|
||||
ElementNodeTypeId(HTMLSourceElementTypeId) => generate_element!(HTMLSourceElement),
|
||||
ElementNodeTypeId(HTMLSpanElementTypeId) => generate_element!(HTMLSpanElement),
|
||||
ElementNodeTypeId(HTMLStyleElementTypeId) => generate_element!(HTMLStyleElement),
|
||||
ElementNodeTypeId(HTMLTableElementTypeId) => generate_element!(HTMLTableElement),
|
||||
ElementNodeTypeId(HTMLTableCellElementTypeId) => generate_element!(HTMLTableCellElement),
|
||||
ElementNodeTypeId(HTMLTableDataCellElementTypeId) => generate_element!(HTMLTableDataCellElement),
|
||||
ElementNodeTypeId(HTMLTableHeaderCellElementTypeId) => generate_element!(HTMLTableHeaderCellElement),
|
||||
ElementNodeTypeId(HTMLTableCaptionElementTypeId) => generate_element!(HTMLTableCaptionElement),
|
||||
ElementNodeTypeId(HTMLTableColElementTypeId) => generate_element!(HTMLTableColElement),
|
||||
ElementNodeTypeId(HTMLTableRowElementTypeId) => generate_element!(HTMLTableRowElement),
|
||||
ElementNodeTypeId(HTMLTableSectionElementTypeId) => generate_element!(HTMLTableSectionElement),
|
||||
ElementNodeTypeId(HTMLTemplateElementTypeId) => generate_element!(HTMLTemplateElement),
|
||||
ElementNodeTypeId(HTMLTextAreaElementTypeId) => generate_element!(HTMLTextAreaElement),
|
||||
ElementNodeTypeId(HTMLTimeElementTypeId) => generate_element!(HTMLTimeElement),
|
||||
ElementNodeTypeId(HTMLTitleElementTypeId) => generate_element!(HTMLTitleElement),
|
||||
ElementNodeTypeId(HTMLTrackElementTypeId) => generate_element!(HTMLTrackElement),
|
||||
ElementNodeTypeId(HTMLUListElementTypeId) => generate_element!(HTMLUListElement),
|
||||
ElementNodeTypeId(HTMLVideoElementTypeId) => generate_element!(HTMLVideoElement),
|
||||
ElementNodeTypeId(HTMLUnknownElementTypeId) => generate_element!(HTMLUnknownElement),
|
||||
CommentNodeTypeId => generate_element!(Comment),
|
||||
DoctypeNodeTypeId => generate_element!(DocumentType),
|
||||
DocumentFragmentNodeTypeId => generate_element!(DocumentFragment),
|
||||
DocumentNodeTypeId(PlainDocumentTypeId) => generate_element!(Document),
|
||||
DocumentNodeTypeId(HTMLDocumentTypeId) => generate_element!(HTMLDocument),
|
||||
TextNodeTypeId => generate_element!(Text),
|
||||
}
|
||||
}
|
||||
|
||||
impl Reflectable for AbstractNode<ScriptView> {
|
||||
fn reflector<'a>(&'a self) -> &'a Reflector {
|
||||
self.node().reflector()
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
use dom::bindings::codegen::PrototypeList;
|
||||
use dom::bindings::codegen::PrototypeList::MAX_PROTO_CHAIN_LENGTH;
|
||||
use dom::bindings::node;
|
||||
use dom::window;
|
||||
use dom::node::{AbstractNode, ScriptView};
|
||||
|
||||
|
@ -754,14 +753,11 @@ pub trait DerivedWrapper {
|
|||
|
||||
impl DerivedWrapper for AbstractNode<ScriptView> {
|
||||
#[fixed_stack_segment]
|
||||
fn wrap(&mut self, cx: *JSContext, _scope: *JSObject, vp: *mut JSVal) -> i32 {
|
||||
fn wrap(&mut self, _cx: *JSContext, _scope: *JSObject, vp: *mut JSVal) -> i32 {
|
||||
let obj = self.reflector().get_jsobject();
|
||||
if obj.is_not_null() {
|
||||
unsafe { *vp = RUST_OBJECT_TO_JSVAL(obj) };
|
||||
return 1;
|
||||
}
|
||||
unsafe { *vp = RUST_OBJECT_TO_JSVAL(node::create(cx, self)) };
|
||||
return 1;
|
||||
assert!(obj.is_not_null());
|
||||
unsafe { *vp = RUST_OBJECT_TO_JSVAL(obj) };
|
||||
return true as i32;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue