aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/htmlcollection.rs
diff options
context:
space:
mode:
authorSankha Narayan Guria <sankha93@gmail.com>2014-02-27 03:31:05 +0530
committerSankha Narayan Guria <sankha93@gmail.com>2014-02-27 03:31:05 +0530
commit1e9fec9172364346937f375e315e1ce745662611 (patch)
treea55173568e6dd6a8b4cb4dfcc42ed81204d49874 /src/components/script/dom/htmlcollection.rs
parent47e6e6ec8f2dfbd56e50f9f2ec2762b85087d948 (diff)
parentda16e54243e256dee927f720ce6b9903b62ec14e (diff)
downloadservo-1e9fec9172364346937f375e315e1ce745662611.tar.gz
servo-1e9fec9172364346937f375e315e1ce745662611.zip
Merge master into this branch
Diffstat (limited to 'src/components/script/dom/htmlcollection.rs')
-rw-r--r--src/components/script/dom/htmlcollection.rs22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/components/script/dom/htmlcollection.rs b/src/components/script/dom/htmlcollection.rs
index 32cdd52280c..f14ecd05db7 100644
--- a/src/components/script/dom/htmlcollection.rs
+++ b/src/components/script/dom/htmlcollection.rs
@@ -3,9 +3,10 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::HTMLCollectionBinding;
+use dom::bindings::js::JS;
use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object};
use dom::bindings::utils::Fallible;
-use dom::node::AbstractNode;
+use dom::element::Element;
use dom::window::Window;
use servo_util::str::DOMString;
@@ -13,14 +14,15 @@ use js::jsapi::{JSObject, JSContext};
use std::ptr;
+#[deriving(Encodable)]
pub struct HTMLCollection {
- elements: ~[AbstractNode],
+ elements: ~[JS<Element>],
reflector_: Reflector,
- window: @mut Window,
+ window: JS<Window>,
}
impl HTMLCollection {
- pub fn new_inherited(window: @mut Window, elements: ~[AbstractNode]) -> HTMLCollection {
+ pub fn new_inherited(window: JS<Window>, elements: ~[JS<Element>]) -> HTMLCollection {
HTMLCollection {
elements: elements,
reflector_: Reflector::new(),
@@ -28,18 +30,18 @@ impl HTMLCollection {
}
}
- pub fn new(window: @mut Window, elements: ~[AbstractNode]) -> @mut HTMLCollection {
- reflect_dom_object(@mut HTMLCollection::new_inherited(window, elements),
- window, HTMLCollectionBinding::Wrap)
+ pub fn new(window: &JS<Window>, elements: ~[JS<Element>]) -> JS<HTMLCollection> {
+ reflect_dom_object(~HTMLCollection::new_inherited(window.clone(), elements),
+ window.get(), HTMLCollectionBinding::Wrap)
}
pub fn Length(&self) -> u32 {
self.elements.len() as u32
}
- pub fn Item(&self, index: u32) -> Option<AbstractNode> {
+ pub fn Item(&self, index: u32) -> Option<JS<Element>> {
if index < self.Length() {
- Some(self.elements[index])
+ Some(self.elements[index].clone())
} else {
None
}
@@ -49,7 +51,7 @@ impl HTMLCollection {
Ok(ptr::null())
}
- pub fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option<AbstractNode> {
+ pub fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option<JS<Element>> {
*found = true;
self.Item(index)
}