mirror of
https://github.com/servo/servo.git
synced 2025-06-24 09:04:33 +01:00
Merge BindingObject and Reflectable.
This commit is contained in:
parent
f585d218cb
commit
321e0373fa
23 changed files with 62 additions and 200 deletions
|
@ -3,7 +3,7 @@
|
||||||
* 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::DOMParserBinding;
|
use dom::bindings::codegen::DOMParserBinding;
|
||||||
use dom::bindings::utils::{BindingObject, Reflectable, Reflector};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::domparser::DOMParser;
|
use dom::domparser::DOMParser;
|
||||||
|
|
||||||
use js::jsapi::{JSContext, JSObject};
|
use js::jsapi::{JSContext, JSObject};
|
||||||
|
@ -20,9 +20,7 @@ impl Reflectable for DOMParser {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
DOMParserBinding::Wrap(cx, scope, self)
|
DOMParserBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for DOMParser {
|
|
||||||
fn GetParentObject(&self, _cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, _cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
Some(self.owner as @mut Reflectable)
|
Some(self.owner as @mut Reflectable)
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
use dom::types::*;
|
use dom::types::*;
|
||||||
use dom::bindings::codegen::*;
|
use dom::bindings::codegen::*;
|
||||||
use dom::bindings::utils::{BindingObject, Reflector, Reflectable, Traceable};
|
use dom::bindings::utils::{Reflectable, Reflector, Traceable};
|
||||||
|
|
||||||
use js::jsapi::{JSContext, JSObject, JSTracer};
|
use js::jsapi::{JSContext, JSObject, JSTracer};
|
||||||
|
|
||||||
|
@ -53,45 +53,7 @@ macro_rules! generate_cacheable_wrapper_base(
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
$wrap(cx, scope, self)
|
$wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
// generate_binding_object
|
|
||||||
macro_rules! generate_binding_object(
|
|
||||||
($name: path) => (
|
|
||||||
generate_binding_base!($name, element)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
macro_rules! generate_binding_object_htmlelement(
|
|
||||||
($name: path) => (
|
|
||||||
generate_binding_base!($name, htmlelement)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
macro_rules! generate_binding_object_htmlmediaelement(
|
|
||||||
($name: path) => (
|
|
||||||
generate_binding_base!($name, htmlmediaelement)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
macro_rules! generate_binding_object_htmltablecellelement(
|
|
||||||
($name: path) => (
|
|
||||||
generate_binding_base!($name, htmltablecellelement)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
macro_rules! generate_binding_object_node(
|
|
||||||
($name: path) => (
|
|
||||||
generate_binding_base!($name, node)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
macro_rules! generate_binding_base(
|
|
||||||
($name: path, $parent: ident) => (
|
|
||||||
impl BindingObject for $name {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
self.$parent.GetParentObject(cx)
|
self.$parent.GetParentObject(cx)
|
||||||
}
|
}
|
||||||
|
@ -143,295 +105,221 @@ macro_rules! generate_traceable_base(
|
||||||
|
|
||||||
|
|
||||||
generate_cacheable_wrapper!(Comment, CommentBinding::Wrap)
|
generate_cacheable_wrapper!(Comment, CommentBinding::Wrap)
|
||||||
generate_binding_object!(Comment)
|
|
||||||
generate_traceable!(Comment)
|
generate_traceable!(Comment)
|
||||||
|
|
||||||
generate_cacheable_wrapper_node!(DocumentFragment, DocumentFragmentBinding::Wrap)
|
generate_cacheable_wrapper_node!(DocumentFragment, DocumentFragmentBinding::Wrap)
|
||||||
generate_binding_object_node!(DocumentFragment)
|
|
||||||
generate_traceable_node!(DocumentFragment)
|
generate_traceable_node!(DocumentFragment)
|
||||||
|
|
||||||
generate_cacheable_wrapper_node!(DocumentType, DocumentTypeBinding::Wrap)
|
generate_cacheable_wrapper_node!(DocumentType, DocumentTypeBinding::Wrap)
|
||||||
generate_binding_object_node!(DocumentType)
|
|
||||||
generate_traceable_node!(DocumentType)
|
generate_traceable_node!(DocumentType)
|
||||||
|
|
||||||
generate_cacheable_wrapper!(Text, TextBinding::Wrap)
|
generate_cacheable_wrapper!(Text, TextBinding::Wrap)
|
||||||
generate_binding_object!(Text)
|
|
||||||
generate_traceable!(Text)
|
generate_traceable!(Text)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLHeadElement, HTMLHeadElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLHeadElement, HTMLHeadElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLHeadElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLHeadElement)
|
generate_traceable_htmlelement!(HTMLHeadElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLAnchorElement, HTMLAnchorElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLAnchorElement, HTMLAnchorElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLAnchorElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLAnchorElement)
|
generate_traceable_htmlelement!(HTMLAnchorElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLAppletElement, HTMLAppletElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLAppletElement, HTMLAppletElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLAppletElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLAppletElement)
|
generate_traceable_htmlelement!(HTMLAppletElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLAreaElement, HTMLAreaElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLAreaElement, HTMLAreaElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLAreaElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLAreaElement)
|
generate_traceable_htmlelement!(HTMLAreaElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlmediaelement!(HTMLAudioElement, HTMLAudioElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlmediaelement!(HTMLAudioElement, HTMLAudioElementBinding::Wrap)
|
||||||
generate_binding_object_htmlmediaelement!(HTMLAudioElement)
|
|
||||||
generate_traceable_htmlmediaelement!(HTMLAudioElement)
|
generate_traceable_htmlmediaelement!(HTMLAudioElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLBaseElement, HTMLBaseElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLBaseElement, HTMLBaseElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLBaseElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLBaseElement)
|
generate_traceable_htmlelement!(HTMLBaseElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLBodyElement, HTMLBodyElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLBodyElement, HTMLBodyElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLBodyElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLBodyElement)
|
generate_traceable_htmlelement!(HTMLBodyElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLButtonElement, HTMLButtonElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLButtonElement, HTMLButtonElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLButtonElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLButtonElement)
|
generate_traceable_htmlelement!(HTMLButtonElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLCanvasElement, HTMLCanvasElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLCanvasElement, HTMLCanvasElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLCanvasElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLCanvasElement)
|
generate_traceable_htmlelement!(HTMLCanvasElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLDataListElement, HTMLDataListElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLDataListElement, HTMLDataListElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLDataListElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLDataListElement)
|
generate_traceable_htmlelement!(HTMLDataListElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLDListElement, HTMLDListElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLDListElement, HTMLDListElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLDListElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLDListElement)
|
generate_traceable_htmlelement!(HTMLDListElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLFormElement, HTMLFormElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLFormElement, HTMLFormElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLFormElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLFormElement)
|
generate_traceable_htmlelement!(HTMLFormElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLFrameElement, HTMLFrameElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLFrameElement, HTMLFrameElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLFrameElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLFrameElement)
|
generate_traceable_htmlelement!(HTMLFrameElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLFrameSetElement, HTMLFrameSetElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLFrameSetElement, HTMLFrameSetElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLFrameSetElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLFrameSetElement)
|
generate_traceable_htmlelement!(HTMLFrameSetElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLBRElement, HTMLBRElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLBRElement, HTMLBRElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLBRElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLBRElement)
|
generate_traceable_htmlelement!(HTMLBRElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLHRElement, HTMLHRElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLHRElement, HTMLHRElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLHRElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLHRElement)
|
generate_traceable_htmlelement!(HTMLHRElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLHtmlElement, HTMLHtmlElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLHtmlElement, HTMLHtmlElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLHtmlElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLHtmlElement)
|
generate_traceable_htmlelement!(HTMLHtmlElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLDataElement, HTMLDataElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLDataElement, HTMLDataElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLDataElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLDataElement)
|
generate_traceable_htmlelement!(HTMLDataElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLDirectoryElement, HTMLDirectoryElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLDirectoryElement, HTMLDirectoryElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLDirectoryElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLDirectoryElement)
|
generate_traceable_htmlelement!(HTMLDirectoryElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLDivElement, HTMLDivElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLDivElement, HTMLDivElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLDivElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLDivElement)
|
generate_traceable_htmlelement!(HTMLDivElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLEmbedElement, HTMLEmbedElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLEmbedElement, HTMLEmbedElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLEmbedElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLEmbedElement)
|
generate_traceable_htmlelement!(HTMLEmbedElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLFieldSetElement, HTMLFieldSetElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLFieldSetElement, HTMLFieldSetElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLFieldSetElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLFieldSetElement)
|
generate_traceable_htmlelement!(HTMLFieldSetElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLFontElement, HTMLFontElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLFontElement, HTMLFontElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLFontElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLFontElement)
|
generate_traceable_htmlelement!(HTMLFontElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLHeadingElement, HTMLHeadingElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLHeadingElement, HTMLHeadingElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLHeadingElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLHeadingElement)
|
generate_traceable_htmlelement!(HTMLHeadingElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLIFrameElement, HTMLIFrameElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLIFrameElement, HTMLIFrameElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLIFrameElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLIFrameElement)
|
generate_traceable_htmlelement!(HTMLIFrameElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLImageElement, HTMLImageElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLImageElement, HTMLImageElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLImageElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLImageElement)
|
generate_traceable_htmlelement!(HTMLImageElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLInputElement, HTMLInputElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLInputElement, HTMLInputElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLInputElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLInputElement)
|
generate_traceable_htmlelement!(HTMLInputElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLLabelElement, HTMLLabelElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLLabelElement, HTMLLabelElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLLabelElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLLabelElement)
|
generate_traceable_htmlelement!(HTMLLabelElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLLegendElement, HTMLLegendElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLLegendElement, HTMLLegendElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLLegendElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLLegendElement)
|
generate_traceable_htmlelement!(HTMLLegendElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLLIElement, HTMLLIElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLLIElement, HTMLLIElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLLIElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLLIElement)
|
generate_traceable_htmlelement!(HTMLLIElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLLinkElement, HTMLLinkElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLLinkElement, HTMLLinkElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLLinkElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLLinkElement)
|
generate_traceable_htmlelement!(HTMLLinkElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLMapElement, HTMLMapElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLMapElement, HTMLMapElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLMapElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLMapElement)
|
generate_traceable_htmlelement!(HTMLMapElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLMediaElement, HTMLMediaElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLMediaElement, HTMLMediaElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLMediaElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLMediaElement)
|
generate_traceable_htmlelement!(HTMLMediaElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLMetaElement, HTMLMetaElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLMetaElement, HTMLMetaElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLMetaElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLMetaElement)
|
generate_traceable_htmlelement!(HTMLMetaElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLMeterElement, HTMLMeterElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLMeterElement, HTMLMeterElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLMeterElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLMeterElement)
|
generate_traceable_htmlelement!(HTMLMeterElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLModElement, HTMLModElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLModElement, HTMLModElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLModElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLModElement)
|
generate_traceable_htmlelement!(HTMLModElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLObjectElement, HTMLObjectElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLObjectElement, HTMLObjectElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLObjectElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLObjectElement)
|
generate_traceable_htmlelement!(HTMLObjectElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLOListElement, HTMLOListElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLOListElement, HTMLOListElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLOListElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLOListElement)
|
generate_traceable_htmlelement!(HTMLOListElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLOptGroupElement, HTMLOptGroupElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLOptGroupElement, HTMLOptGroupElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLOptGroupElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLOptGroupElement)
|
generate_traceable_htmlelement!(HTMLOptGroupElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLOptionElement, HTMLOptionElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLOptionElement, HTMLOptionElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLOptionElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLOptionElement)
|
generate_traceable_htmlelement!(HTMLOptionElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLOutputElement, HTMLOutputElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLOutputElement, HTMLOutputElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLOutputElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLOutputElement)
|
generate_traceable_htmlelement!(HTMLOutputElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLParagraphElement, HTMLParagraphElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLParagraphElement, HTMLParagraphElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLParagraphElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLParagraphElement)
|
generate_traceable_htmlelement!(HTMLParagraphElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLParamElement, HTMLParamElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLParamElement, HTMLParamElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLParamElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLParamElement)
|
generate_traceable_htmlelement!(HTMLParamElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLPreElement, HTMLPreElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLPreElement, HTMLPreElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLPreElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLPreElement)
|
generate_traceable_htmlelement!(HTMLPreElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLProgressElement, HTMLProgressElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLProgressElement, HTMLProgressElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLProgressElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLProgressElement)
|
generate_traceable_htmlelement!(HTMLProgressElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLQuoteElement, HTMLQuoteElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLQuoteElement, HTMLQuoteElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLQuoteElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLQuoteElement)
|
generate_traceable_htmlelement!(HTMLQuoteElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLScriptElement, HTMLScriptElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLScriptElement, HTMLScriptElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLScriptElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLScriptElement)
|
generate_traceable_htmlelement!(HTMLScriptElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLSelectElement, HTMLSelectElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLSelectElement, HTMLSelectElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLSelectElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLSelectElement)
|
generate_traceable_htmlelement!(HTMLSelectElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLSourceElement, HTMLSourceElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLSourceElement, HTMLSourceElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLSourceElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLSourceElement)
|
generate_traceable_htmlelement!(HTMLSourceElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLSpanElement, HTMLSpanElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLSpanElement, HTMLSpanElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLSpanElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLSpanElement)
|
generate_traceable_htmlelement!(HTMLSpanElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLStyleElement, HTMLStyleElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLStyleElement, HTMLStyleElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLStyleElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLStyleElement)
|
generate_traceable_htmlelement!(HTMLStyleElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLTableElement, HTMLTableElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLTableElement, HTMLTableElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLTableElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLTableElement)
|
generate_traceable_htmlelement!(HTMLTableElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLTableCaptionElement, HTMLTableCaptionElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLTableCaptionElement, HTMLTableCaptionElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLTableCaptionElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLTableCaptionElement)
|
generate_traceable_htmlelement!(HTMLTableCaptionElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLTableCellElement, HTMLTableCellElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLTableCellElement, HTMLTableCellElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLTableCellElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLTableCellElement)
|
generate_traceable_htmlelement!(HTMLTableCellElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmltablecellelement!(HTMLTableDataCellElement, HTMLTableDataCellElementBinding::Wrap)
|
generate_cacheable_wrapper_htmltablecellelement!(HTMLTableDataCellElement, HTMLTableDataCellElementBinding::Wrap)
|
||||||
generate_binding_object_htmltablecellelement!(HTMLTableDataCellElement)
|
|
||||||
generate_traceable_htmltablecellelement!(HTMLTableDataCellElement)
|
generate_traceable_htmltablecellelement!(HTMLTableDataCellElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmltablecellelement!(HTMLTableHeaderCellElement, HTMLTableHeaderCellElementBinding::Wrap)
|
generate_cacheable_wrapper_htmltablecellelement!(HTMLTableHeaderCellElement, HTMLTableHeaderCellElementBinding::Wrap)
|
||||||
generate_binding_object_htmltablecellelement!(HTMLTableHeaderCellElement)
|
|
||||||
generate_traceable_htmltablecellelement!(HTMLTableHeaderCellElement)
|
generate_traceable_htmltablecellelement!(HTMLTableHeaderCellElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLTableColElement, HTMLTableColElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLTableColElement, HTMLTableColElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLTableColElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLTableColElement)
|
generate_traceable_htmlelement!(HTMLTableColElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLTableRowElement, HTMLTableRowElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLTableRowElement, HTMLTableRowElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLTableRowElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLTableRowElement)
|
generate_traceable_htmlelement!(HTMLTableRowElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLTableSectionElement, HTMLTableSectionElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLTableSectionElement, HTMLTableSectionElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLTableSectionElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLTableSectionElement)
|
generate_traceable_htmlelement!(HTMLTableSectionElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLTemplateElement, HTMLTemplateElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLTemplateElement, HTMLTemplateElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLTemplateElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLTemplateElement)
|
generate_traceable_htmlelement!(HTMLTemplateElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLTextAreaElement, HTMLTextAreaElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLTextAreaElement, HTMLTextAreaElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLTextAreaElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLTextAreaElement)
|
generate_traceable_htmlelement!(HTMLTextAreaElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLTitleElement, HTMLTitleElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLTitleElement, HTMLTitleElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLTitleElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLTitleElement)
|
generate_traceable_htmlelement!(HTMLTitleElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLTimeElement, HTMLTimeElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLTimeElement, HTMLTimeElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLTimeElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLTimeElement)
|
generate_traceable_htmlelement!(HTMLTimeElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLTrackElement, HTMLTrackElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLTrackElement, HTMLTrackElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLTrackElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLTrackElement)
|
generate_traceable_htmlelement!(HTMLTrackElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLUListElement, HTMLUListElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLUListElement, HTMLUListElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLUListElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLUListElement)
|
generate_traceable_htmlelement!(HTMLUListElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlelement!(HTMLUnknownElement, HTMLUnknownElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlelement!(HTMLUnknownElement, HTMLUnknownElementBinding::Wrap)
|
||||||
generate_binding_object_htmlelement!(HTMLUnknownElement)
|
|
||||||
generate_traceable_htmlelement!(HTMLUnknownElement)
|
generate_traceable_htmlelement!(HTMLUnknownElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper_htmlmediaelement!(HTMLVideoElement, HTMLVideoElementBinding::Wrap)
|
generate_cacheable_wrapper_htmlmediaelement!(HTMLVideoElement, HTMLVideoElementBinding::Wrap)
|
||||||
generate_binding_object_htmlmediaelement!(HTMLVideoElement)
|
|
||||||
generate_traceable_htmlmediaelement!(HTMLVideoElement)
|
generate_traceable_htmlmediaelement!(HTMLVideoElement)
|
||||||
|
|
||||||
generate_cacheable_wrapper!(HTMLElement, HTMLElementBinding::Wrap)
|
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)
|
||||||
|
|
|
@ -114,6 +114,12 @@ impl Reflectable for AbstractNode<ScriptView> {
|
||||||
fn wrap_object_shared(@mut self, _cx: *JSContext, _scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, _cx: *JSContext, _scope: *JSObject) -> *JSObject {
|
||||||
fail!(~"need to implement wrapping");
|
fail!(~"need to implement wrapping");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
|
do self.with_mut_base |base| {
|
||||||
|
base.GetParentObject(cx)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Traceable for Node<ScriptView> {
|
impl Traceable for Node<ScriptView> {
|
||||||
|
|
|
@ -541,6 +541,7 @@ pub trait Reflectable {
|
||||||
fn reflector<'a>(&'a self) -> &'a Reflector;
|
fn reflector<'a>(&'a self) -> &'a Reflector;
|
||||||
fn mut_reflector<'a>(&'a mut self) -> &'a mut Reflector;
|
fn mut_reflector<'a>(&'a mut self) -> &'a mut Reflector;
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject;
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject;
|
||||||
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable>;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct Reflector {
|
pub struct Reflector {
|
||||||
|
@ -607,10 +608,6 @@ pub fn WrapNativeParent(cx: *JSContext, scope: *JSObject, mut p: Option<@mut Ref
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait BindingObject {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable>;
|
|
||||||
}
|
|
||||||
|
|
||||||
#[fixed_stack_segment]
|
#[fixed_stack_segment]
|
||||||
pub fn GetPropertyOnPrototype(cx: *JSContext, proxy: *JSObject, id: jsid, found: *mut bool,
|
pub fn GetPropertyOnPrototype(cx: *JSContext, proxy: *JSObject, id: jsid, found: *mut bool,
|
||||||
vp: *JSVal) -> bool {
|
vp: *JSVal) -> bool {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* 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::utils::{Reflector, BindingObject, Reflectable};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::bindings::codegen::BlobBinding;
|
use dom::bindings::codegen::BlobBinding;
|
||||||
use script_task::{page_from_context};
|
use script_task::{page_from_context};
|
||||||
|
|
||||||
|
@ -32,9 +32,7 @@ impl Reflectable for Blob {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
BlobBinding::Wrap(cx, scope, self)
|
BlobBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for Blob {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
let page = page_from_context(cx);
|
let page = page_from_context(cx);
|
||||||
unsafe {
|
unsafe {
|
||||||
|
|
|
@ -70,4 +70,8 @@ impl Reflectable for CharacterData {
|
||||||
fn wrap_object_shared(@mut self, _cx: *JSContext, _scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, _cx: *JSContext, _scope: *JSObject) -> *JSObject {
|
||||||
fail!(~"need to implement wrapping");
|
fail!(~"need to implement wrapping");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
|
self.node.GetParentObject(cx)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* 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::utils::{Reflectable, Reflector, BindingObject};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::bindings::codegen::ClientRectBinding;
|
use dom::bindings::codegen::ClientRectBinding;
|
||||||
use script_task::page_from_context;
|
use script_task::page_from_context;
|
||||||
|
|
||||||
|
@ -70,9 +70,7 @@ impl Reflectable for ClientRect {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
ClientRectBinding::Wrap(cx, scope, self)
|
ClientRectBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for ClientRect {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
let page = page_from_context(cx);
|
let page = page_from_context(cx);
|
||||||
unsafe {
|
unsafe {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
* 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::ClientRectListBinding;
|
use dom::bindings::codegen::ClientRectListBinding;
|
||||||
use dom::bindings::utils::{Reflector, Reflectable, BindingObject};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::clientrect::ClientRect;
|
use dom::clientrect::ClientRect;
|
||||||
use script_task::page_from_context;
|
use script_task::page_from_context;
|
||||||
|
|
||||||
|
@ -58,9 +58,7 @@ impl Reflectable for ClientRectList {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
ClientRectListBinding::Wrap(cx, scope, self)
|
ClientRectListBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for ClientRectList {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
let page = page_from_context(cx);
|
let page = page_from_context(cx);
|
||||||
unsafe {
|
unsafe {
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
|
|
||||||
use dom::comment::Comment;
|
use dom::comment::Comment;
|
||||||
use dom::bindings::codegen::DocumentBinding;
|
use dom::bindings::codegen::DocumentBinding;
|
||||||
use dom::bindings::utils::{DOMString, Reflector, ErrorResult, Fallible};
|
use dom::bindings::utils::{DOMString, ErrorResult, Fallible};
|
||||||
use dom::bindings::utils::{BindingObject, Reflectable, DerivedWrapper};
|
use dom::bindings::utils::{Reflectable, Reflector, DerivedWrapper};
|
||||||
use dom::bindings::utils::{is_valid_element_name, InvalidCharacter, Traceable, null_str_as_empty, null_str_as_word_null};
|
use dom::bindings::utils::{is_valid_element_name, InvalidCharacter, Traceable, null_str_as_empty, null_str_as_word_null};
|
||||||
use dom::documentfragment::DocumentFragment;
|
use dom::documentfragment::DocumentFragment;
|
||||||
use dom::element::{Element};
|
use dom::element::{Element};
|
||||||
|
@ -176,9 +176,7 @@ impl Reflectable for AbstractDocument {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for AbstractDocument {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
do self.with_mut_base |doc| {
|
do self.with_mut_base |doc| {
|
||||||
doc.GetParentObject(cx)
|
doc.GetParentObject(cx)
|
||||||
|
@ -207,9 +205,7 @@ impl Reflectable for Document {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
DocumentBinding::Wrap(cx, scope, self)
|
DocumentBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for Document {
|
|
||||||
fn GetParentObject(&self, _cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, _cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
Some(self.window as @mut Reflectable)
|
Some(self.window as @mut Reflectable)
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,6 +42,10 @@ impl Reflectable for Element {
|
||||||
fn wrap_object_shared(@mut self, _cx: *JSContext, _scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, _cx: *JSContext, _scope: *JSObject) -> *JSObject {
|
||||||
fail!("no wrapping")
|
fail!("no wrapping")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
|
self.node.GetParentObject(cx)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[deriving(Eq)]
|
#[deriving(Eq)]
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
use dom::eventtarget::EventTarget;
|
use dom::eventtarget::EventTarget;
|
||||||
use dom::window::Window;
|
use dom::window::Window;
|
||||||
use dom::bindings::codegen::EventBinding;
|
use dom::bindings::codegen::EventBinding;
|
||||||
use dom::bindings::utils::{Reflectable, BindingObject};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::bindings::utils::{DOMString, ErrorResult, Fallible, Reflector};
|
use dom::bindings::utils::{DOMString, ErrorResult, Fallible};
|
||||||
|
|
||||||
use geom::point::Point2D;
|
use geom::point::Point2D;
|
||||||
use js::jsapi::{JSObject, JSContext};
|
use js::jsapi::{JSObject, JSContext};
|
||||||
|
@ -121,9 +121,7 @@ impl Reflectable for Event {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
EventBinding::Wrap(cx, scope, self)
|
EventBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for Event {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
let page = page_from_context(cx);
|
let page = page_from_context(cx);
|
||||||
unsafe {
|
unsafe {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
* 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::EventTargetBinding;
|
use dom::bindings::codegen::EventTargetBinding;
|
||||||
use dom::bindings::utils::{Reflectable, Reflector, BindingObject};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use script_task::page_from_context;
|
use script_task::page_from_context;
|
||||||
|
|
||||||
use js::jsapi::{JSObject, JSContext};
|
use js::jsapi::{JSObject, JSContext};
|
||||||
|
@ -36,9 +36,7 @@ impl Reflectable for EventTarget {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
EventTargetBinding::Wrap(cx, scope, self)
|
EventTargetBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for EventTarget {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
let page = page_from_context(cx);
|
let page = page_from_context(cx);
|
||||||
// TODO(tkuehn): This only handles top-level pages. Needs to handle subframes.
|
// TODO(tkuehn): This only handles top-level pages. Needs to handle subframes.
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
* 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::utils::{Reflectable, BindingObject};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::bindings::utils::{Reflector, DOMString, null_str_as_empty};
|
use dom::bindings::utils::{DOMString, null_str_as_empty};
|
||||||
use dom::bindings::codegen::FormDataBinding;
|
use dom::bindings::codegen::FormDataBinding;
|
||||||
use dom::blob::Blob;
|
use dom::blob::Blob;
|
||||||
use script_task::{page_from_context};
|
use script_task::{page_from_context};
|
||||||
|
@ -59,9 +59,7 @@ impl Reflectable for FormData {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
FormDataBinding::Wrap(cx, scope, self)
|
FormDataBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for FormData {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
let page = page_from_context(cx);
|
let page = page_from_context(cx);
|
||||||
unsafe {
|
unsafe {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
* 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::HTMLCollectionBinding;
|
use dom::bindings::codegen::HTMLCollectionBinding;
|
||||||
use dom::bindings::utils::{Reflectable, BindingObject, Reflector};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::bindings::utils::{DOMString, Fallible};
|
use dom::bindings::utils::{DOMString, Fallible};
|
||||||
use dom::node::{AbstractNode, ScriptView};
|
use dom::node::{AbstractNode, ScriptView};
|
||||||
use script_task::page_from_context;
|
use script_task::page_from_context;
|
||||||
|
@ -57,16 +57,6 @@ impl HTMLCollection {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl BindingObject for HTMLCollection {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
|
||||||
let page = page_from_context(cx);
|
|
||||||
// TODO(tkuehn): This only handles the top-level frame. Need to grab subframes.
|
|
||||||
unsafe {
|
|
||||||
Some((*page).frame.get_ref().window as @mut Reflectable)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Reflectable for HTMLCollection {
|
impl Reflectable for HTMLCollection {
|
||||||
fn reflector<'a>(&'a self) -> &'a Reflector {
|
fn reflector<'a>(&'a self) -> &'a Reflector {
|
||||||
&self.reflector_
|
&self.reflector_
|
||||||
|
@ -79,4 +69,12 @@ impl Reflectable for HTMLCollection {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
HTMLCollectionBinding::Wrap(cx, scope, self)
|
HTMLCollectionBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
|
let page = page_from_context(cx);
|
||||||
|
// TODO(tkuehn): This only handles the top-level frame. Need to grab subframes.
|
||||||
|
unsafe {
|
||||||
|
Some((*page).frame.get_ref().window as @mut Reflectable)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
use dom::bindings::codegen::HTMLDocumentBinding;
|
use dom::bindings::codegen::HTMLDocumentBinding;
|
||||||
use dom::bindings::utils::{DOMString, ErrorResult, Fallible, Traceable};
|
use dom::bindings::utils::{DOMString, ErrorResult, Fallible, Traceable};
|
||||||
use dom::bindings::utils::{Reflectable, BindingObject, Reflector};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::document::{AbstractDocument, Document, ReflectableDocument, HTML};
|
use dom::document::{AbstractDocument, Document, ReflectableDocument, HTML};
|
||||||
use dom::element::HTMLHeadElementTypeId;
|
use dom::element::HTMLHeadElementTypeId;
|
||||||
use dom::htmlcollection::HTMLCollection;
|
use dom::htmlcollection::HTMLCollection;
|
||||||
|
@ -196,9 +196,7 @@ impl Reflectable for HTMLDocument {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
HTMLDocumentBinding::Wrap(cx, scope, self)
|
HTMLDocumentBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for HTMLDocument {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
self.parent.GetParentObject(cx)
|
self.parent.GetParentObject(cx)
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
use dom::bindings::codegen::MouseEventBinding;
|
use dom::bindings::codegen::MouseEventBinding;
|
||||||
use dom::bindings::utils::{ErrorResult, Fallible, DOMString};
|
use dom::bindings::utils::{ErrorResult, Fallible, DOMString};
|
||||||
use dom::bindings::utils::{Reflectable, Reflector, BindingObject};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::eventtarget::EventTarget;
|
use dom::eventtarget::EventTarget;
|
||||||
use dom::uievent::UIEvent;
|
use dom::uievent::UIEvent;
|
||||||
use dom::window::Window;
|
use dom::window::Window;
|
||||||
|
@ -153,9 +153,7 @@ impl Reflectable for MouseEvent {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
MouseEventBinding::Wrap(cx, scope, self)
|
MouseEventBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for MouseEvent {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
self.parent.GetParentObject(cx)
|
self.parent.GetParentObject(cx)
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* 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::utils::{Reflector, BindingObject, Reflectable};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::bindings::utils::{DOMString, Fallible};
|
use dom::bindings::utils::{DOMString, Fallible};
|
||||||
use dom::bindings::codegen::NavigatorBinding;
|
use dom::bindings::codegen::NavigatorBinding;
|
||||||
use script_task::{page_from_context};
|
use script_task::{page_from_context};
|
||||||
|
@ -97,9 +97,7 @@ impl Reflectable for Navigator {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
NavigatorBinding::Wrap(cx, scope, self)
|
NavigatorBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for Navigator {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
let page = page_from_context(cx);
|
let page = page_from_context(cx);
|
||||||
unsafe {
|
unsafe {
|
||||||
|
|
|
@ -5,8 +5,9 @@
|
||||||
//! The core DOM types. Defines the basic DOM hierarchy as well as all the HTML elements.
|
//! The core DOM types. Defines the basic DOM hierarchy as well as all the HTML elements.
|
||||||
|
|
||||||
use dom::bindings::node;
|
use dom::bindings::node;
|
||||||
use dom::bindings::utils::{Reflector, DOMString, ErrorResult, Fallible, NotFound, HierarchyRequest};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::bindings::utils::{BindingObject, Reflectable, null_str_as_empty};
|
use dom::bindings::utils::{DOMString, null_str_as_empty};
|
||||||
|
use dom::bindings::utils::{ErrorResult, Fallible, NotFound, HierarchyRequest};
|
||||||
use dom::characterdata::CharacterData;
|
use dom::characterdata::CharacterData;
|
||||||
use dom::document::AbstractDocument;
|
use dom::document::AbstractDocument;
|
||||||
use dom::documenttype::DocumentType;
|
use dom::documenttype::DocumentType;
|
||||||
|
@ -901,9 +902,7 @@ impl Reflectable for Node<ScriptView> {
|
||||||
fn wrap_object_shared(@mut self, _cx: *JSContext, _scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, _cx: *JSContext, _scope: *JSObject) -> *JSObject {
|
||||||
fail!(~"need to implement wrapping");
|
fail!(~"need to implement wrapping");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for Node<ScriptView> {
|
|
||||||
fn GetParentObject(&self, _cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, _cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
match self.parent_node {
|
match self.parent_node {
|
||||||
Some(node) => Some(unsafe {node.as_cacheable_wrapper()}),
|
Some(node) => Some(unsafe {node.as_cacheable_wrapper()}),
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
* 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::NodeListBinding;
|
use dom::bindings::codegen::NodeListBinding;
|
||||||
use dom::bindings::utils::{Reflectable, BindingObject, Reflector};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::node::{AbstractNode, ScriptView};
|
use dom::node::{AbstractNode, ScriptView};
|
||||||
use script_task::page_from_context;
|
use script_task::page_from_context;
|
||||||
|
|
||||||
|
@ -66,15 +66,6 @@ impl NodeList {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl BindingObject for NodeList {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
|
||||||
let page = page_from_context(cx);
|
|
||||||
unsafe {
|
|
||||||
Some((*page).frame.get_ref().window as @mut Reflectable)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Reflectable for NodeList {
|
impl Reflectable for NodeList {
|
||||||
fn reflector<'a>(&'a self) -> &'a Reflector {
|
fn reflector<'a>(&'a self) -> &'a Reflector {
|
||||||
&self.reflector_
|
&self.reflector_
|
||||||
|
@ -87,4 +78,11 @@ impl Reflectable for NodeList {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
NodeListBinding::Wrap(cx, scope, self)
|
NodeListBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
|
let page = page_from_context(cx);
|
||||||
|
unsafe {
|
||||||
|
Some((*page).frame.get_ref().window as @mut Reflectable)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
use dom::bindings::codegen::UIEventBinding;
|
use dom::bindings::codegen::UIEventBinding;
|
||||||
use dom::bindings::utils::{DOMString, Fallible};
|
use dom::bindings::utils::{DOMString, Fallible};
|
||||||
use dom::bindings::utils::{Reflectable, Reflector, BindingObject};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::node::{AbstractNode, ScriptView};
|
use dom::node::{AbstractNode, ScriptView};
|
||||||
use dom::event::Event;
|
use dom::event::Event;
|
||||||
use dom::window::Window;
|
use dom::window::Window;
|
||||||
|
@ -126,9 +126,7 @@ impl Reflectable for UIEvent {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
UIEventBinding::Wrap(cx, scope, self)
|
UIEventBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for UIEvent {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
self.parent.GetParentObject(cx)
|
self.parent.GetParentObject(cx)
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* 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::utils::{Reflector, BindingObject, Reflectable};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::bindings::codegen::ValidityStateBinding;
|
use dom::bindings::codegen::ValidityStateBinding;
|
||||||
use js::jsapi::{JSContext, JSObject};
|
use js::jsapi::{JSContext, JSObject};
|
||||||
|
|
||||||
|
@ -70,9 +70,7 @@ impl Reflectable for ValidityState {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
ValidityStateBinding::Wrap(cx, scope, self)
|
ValidityStateBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for ValidityState {
|
|
||||||
fn GetParentObject(&self, _cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, _cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
* 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::WindowBinding;
|
use dom::bindings::codegen::WindowBinding;
|
||||||
use dom::bindings::utils::{Reflector, DOMString, Traceable};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use dom::bindings::utils::{Reflectable, BindingObject, null_str_as_empty};
|
use dom::bindings::utils::{DOMString, null_str_as_empty, Traceable};
|
||||||
use dom::document::AbstractDocument;
|
use dom::document::AbstractDocument;
|
||||||
use dom::node::{AbstractNode, ScriptView};
|
use dom::node::{AbstractNode, ScriptView};
|
||||||
use dom::navigator::Navigator;
|
use dom::navigator::Navigator;
|
||||||
|
@ -152,9 +152,7 @@ impl Reflectable for Window {
|
||||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||||
WindowBinding::Wrap(cx, scope, self)
|
WindowBinding::Wrap(cx, scope, self)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl BindingObject for Window {
|
|
||||||
fn GetParentObject(&self, _cx: *JSContext) -> Option<@mut Reflectable> {
|
fn GetParentObject(&self, _cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* 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::utils::{Reflectable, Reflector, BindingObject};
|
use dom::bindings::utils::{Reflectable, Reflector};
|
||||||
use script_task::page_from_context;
|
use script_task::page_from_context;
|
||||||
|
|
||||||
use js::jsapi::{JSContext, JSObject};
|
use js::jsapi::{JSContext, JSObject};
|
||||||
|
@ -23,15 +23,6 @@ impl WindowProxy {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl BindingObject for WindowProxy {
|
|
||||||
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
|
||||||
let page = page_from_context(cx);
|
|
||||||
unsafe {
|
|
||||||
Some((*page).frame.get_ref().window as @mut Reflectable)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Reflectable for WindowProxy {
|
impl Reflectable for WindowProxy {
|
||||||
fn reflector<'a>(&'a self) -> &'a Reflector {
|
fn reflector<'a>(&'a self) -> &'a Reflector {
|
||||||
&self.reflector_
|
&self.reflector_
|
||||||
|
@ -44,4 +35,11 @@ impl Reflectable for WindowProxy {
|
||||||
fn wrap_object_shared(@mut self, _cx: *JSContext, _scope: *JSObject) -> *JSObject {
|
fn wrap_object_shared(@mut self, _cx: *JSContext, _scope: *JSObject) -> *JSObject {
|
||||||
fail!("not yet implemented")
|
fail!("not yet implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn GetParentObject(&self, cx: *JSContext) -> Option<@mut Reflectable> {
|
||||||
|
let page = page_from_context(cx);
|
||||||
|
unsafe {
|
||||||
|
Some((*page).frame.get_ref().window as @mut Reflectable)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue