diff options
author | bors-servo <release+servo@mozilla.com> | 2013-10-24 14:27:52 -0700 |
---|---|---|
committer | bors-servo <release+servo@mozilla.com> | 2013-10-24 14:27:52 -0700 |
commit | bce52855069bd8225aa495d73a7be9ee22a13d6a (patch) | |
tree | a7fe18065cc1e5e4ff63290f4aa78f5df6db392d | |
parent | 13644ccab1942c053c3fd5e4a19bb75d9ebe8739 (diff) | |
parent | 4c69d748bda8ce4a8a464b7e1108e365b6dd748e (diff) | |
download | servo-bce52855069bd8225aa495d73a7be9ee22a13d6a.tar.gz servo-bce52855069bd8225aa495d73a7be9ee22a13d6a.zip |
auto merge of #1127 : Ms2ger/servo/DOMParser, r=metajack
-rw-r--r-- | src/components/script/dom/bindings/domparser.rs | 27 | ||||
-rw-r--r-- | src/components/script/dom/domparser.rs | 36 | ||||
-rw-r--r-- | src/components/script/script.rc | 1 |
3 files changed, 27 insertions, 37 deletions
diff --git a/src/components/script/dom/bindings/domparser.rs b/src/components/script/dom/bindings/domparser.rs deleted file mode 100644 index 0d2af282e01..00000000000 --- a/src/components/script/dom/bindings/domparser.rs +++ /dev/null @@ -1,27 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * 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/. */ - -use dom::bindings::codegen::DOMParserBinding; -use dom::bindings::utils::{Reflectable, Reflector}; -use dom::domparser::DOMParser; - -use js::jsapi::{JSContext, JSObject}; - -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 { - DOMParserBinding::Wrap(cx, scope, self) - } - - fn GetParentObject(&self, _cx: *JSContext) -> Option<@mut Reflectable> { - Some(self.owner as @mut Reflectable) - } -} diff --git a/src/components/script/dom/domparser.rs b/src/components/script/dom/domparser.rs index a29cdfb32ff..ea9666c7c1d 100644 --- a/src/components/script/dom/domparser.rs +++ b/src/components/script/dom/domparser.rs @@ -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) + } +} diff --git a/src/components/script/script.rc b/src/components/script/script.rc index acd023c6175..cf376f08fcd 100644 --- a/src/components/script/script.rc +++ b/src/components/script/script.rc @@ -30,7 +30,6 @@ pub mod dom { pub mod utils; pub mod conversions; pub mod proxyhandler; - pub mod domparser; pub mod codegen { pub use self::BindingDeclarations::*; pub mod InterfaceTypes; |