mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Cleanup DOMParser binding.
This commit is contained in:
parent
13644ccab1
commit
4c69d748bd
3 changed files with 27 additions and 37 deletions
|
@ -4,28 +4,29 @@
|
|||
|
||||
use dom::bindings::codegen::DOMParserBinding;
|
||||
use dom::bindings::codegen::DOMParserBinding::SupportedTypeValues::{Text_html, Text_xml};
|
||||
use dom::bindings::utils::{DOMString, Fallible, Reflector, Reflectable, FailureUnknown};
|
||||
use dom::bindings::utils::{DOMString, Fallible, Reflector, Reflectable, FailureUnknown, reflect_dom_object};
|
||||
use dom::document::{AbstractDocument, Document, XML};
|
||||
use dom::htmldocument::HTMLDocument;
|
||||
use dom::window::Window;
|
||||
|
||||
use js::jsapi::{JSContext, JSObject};
|
||||
|
||||
pub struct DOMParser {
|
||||
owner: @mut Window, //XXXjdm Document instead?
|
||||
reflector_: Reflector
|
||||
}
|
||||
|
||||
impl DOMParser {
|
||||
pub fn new(owner: @mut Window) -> @mut DOMParser {
|
||||
let parser = @mut DOMParser {
|
||||
pub fn new_inherited(owner: @mut Window) -> DOMParser {
|
||||
DOMParser {
|
||||
owner: owner,
|
||||
reflector_: Reflector::new()
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// TODO(tkuehn): This just handles the top-level page. Need to handle subframes.
|
||||
let cx = owner.get_cx();
|
||||
let scope = owner.reflector().get_jsobject();
|
||||
parser.wrap_object_shared(cx, scope);
|
||||
parser
|
||||
pub fn new(owner: @mut Window) -> @mut DOMParser {
|
||||
reflect_dom_object(@mut DOMParser::new_inherited(owner), owner,
|
||||
DOMParserBinding::Wrap)
|
||||
}
|
||||
|
||||
pub fn Constructor(owner: @mut Window) -> Fallible<@mut DOMParser> {
|
||||
|
@ -51,3 +52,20 @@ impl DOMParser {
|
|||
}
|
||||
}
|
||||
|
||||
impl Reflectable for DOMParser {
|
||||
fn reflector<'a>(&'a self) -> &'a Reflector {
|
||||
&self.reflector_
|
||||
}
|
||||
|
||||
fn mut_reflector<'a>(&'a mut self) -> &'a mut Reflector {
|
||||
&mut self.reflector_
|
||||
}
|
||||
|
||||
fn wrap_object_shared(@mut self, _cx: *JSContext, _scope: *JSObject) -> *JSObject {
|
||||
unreachable!();
|
||||
}
|
||||
|
||||
fn GetParentObject(&self, _cx: *JSContext) -> Option<@mut Reflectable> {
|
||||
Some(self.owner as @mut Reflectable)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue