aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/document.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/script/dom/document.rs')
-rw-r--r--src/components/script/dom/document.rs33
1 files changed, 16 insertions, 17 deletions
diff --git a/src/components/script/dom/document.rs b/src/components/script/dom/document.rs
index d858f470fee..d911611eba3 100644
--- a/src/components/script/dom/document.rs
+++ b/src/components/script/dom/document.rs
@@ -182,7 +182,7 @@ impl<'a> DocumentHelpers for JSRef<'a, Document> {
}
impl Document {
- pub fn reflect_document(document: ~Document,
+ pub fn reflect_document(document: ~Document,
window: &JSRef<Window>,
wrap_fn: extern "Rust" fn(*JSContext, &JSRef<Window>, ~Document) -> JS<Document>)
-> Temporary<Document> {
@@ -256,20 +256,22 @@ impl<'a> PrivateDocumentHelpers for JSRef<'a, Document> {
fn createNodeList(&self, callback: |node: &JSRef<Node>| -> bool) -> Temporary<NodeList> {
let window = self.window.root();
- let mut nodes = vec!();
match self.GetDocumentElement().root() {
- None => {},
+ None => {
+ NodeList::new_simple_list(&*window, vec!())
+ },
Some(root) => {
+ let mut nodes = vec!();
let root: &JSRef<Node> = NodeCast::from_ref(&*root);
for child in root.traverse_preorder() {
if callback(&child) {
nodes.push(child);
}
}
+ NodeList::new_simple_list(&*window, nodes)
}
}
- NodeList::new_simple_list(&*window, nodes)
}
fn get_html_element(&self) -> Option<Temporary<HTMLHtmlElement>> {
@@ -551,7 +553,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
for child in title_elem.children() {
if child.is_text() {
let text: &JSRef<Text> = TextCast::to_ref(&child).unwrap();
- title.push_str(text.get().characterdata.data.as_slice());
+ title.push_str(text.deref().characterdata.data.as_slice());
}
}
});
@@ -563,15 +565,14 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
// http://www.whatwg.org/specs/web-apps/current-work/#document.title
fn SetTitle(&self, title: DOMString) -> ErrorResult {
-
self.GetDocumentElement().root().map(|root| {
let root: &JSRef<Node> = NodeCast::from_ref(&*root);
let mut head_node = root.traverse_preorder().find(|child| {
- child.get().type_id == ElementNodeTypeId(HTMLHeadElementTypeId)
+ child.type_id() == ElementNodeTypeId(HTMLHeadElementTypeId)
});
head_node.as_mut().map(|head| {
let mut title_node = head.children().find(|child| {
- child.get().type_id == ElementNodeTypeId(HTMLTitleElementTypeId)
+ child.type_id() == ElementNodeTypeId(HTMLTitleElementTypeId)
});
match title_node {
@@ -630,7 +631,6 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
// http://www.whatwg.org/specs/web-apps/current-work/#dom-document-body
fn SetBody(&self, new_body: Option<JSRef<HTMLElement>>) -> ErrorResult {
-
// Step 1.
match new_body {
Some(ref htmlelem) => {
@@ -674,7 +674,6 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
// http://www.whatwg.org/specs/web-apps/current-work/#dom-document-getelementsbyname
fn GetElementsByName(&self, name: DOMString) -> Temporary<NodeList> {
-
self.createNodeList(|node| {
if !node.is_element() {
return false;
@@ -694,7 +693,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
struct ImagesFilter;
impl CollectionFilter for ImagesFilter {
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
- elem.get().local_name == ~"img"
+ elem.deref().local_name == ~"img"
}
}
let filter = ~ImagesFilter;
@@ -708,7 +707,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
struct EmbedsFilter;
impl CollectionFilter for EmbedsFilter {
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
- elem.get().local_name == ~"embed"
+ elem.deref().local_name == ~"embed"
}
}
let filter = ~EmbedsFilter;
@@ -727,7 +726,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
struct LinksFilter;
impl CollectionFilter for LinksFilter {
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
- (elem.get().local_name == ~"a" || elem.get().local_name == ~"area") &&
+ (elem.deref().local_name == ~"a" || elem.deref().local_name == ~"area") &&
elem.get_attribute(Null, "href").is_some()
}
}
@@ -742,7 +741,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
struct FormsFilter;
impl CollectionFilter for FormsFilter {
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
- elem.get().local_name == ~"form"
+ elem.deref().local_name == ~"form"
}
}
let filter = ~FormsFilter;
@@ -756,7 +755,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
struct ScriptsFilter;
impl CollectionFilter for ScriptsFilter {
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
- elem.get().local_name == ~"script"
+ elem.deref().local_name == ~"script"
}
}
let filter = ~ScriptsFilter;
@@ -770,7 +769,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
struct AnchorsFilter;
impl CollectionFilter for AnchorsFilter {
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
- elem.get().local_name == ~"a" && elem.get_attribute(Null, "name").is_some()
+ elem.deref().local_name == ~"a" && elem.get_attribute(Null, "name").is_some()
}
}
let filter = ~AnchorsFilter;
@@ -784,7 +783,7 @@ impl<'a> DocumentMethods for JSRef<'a, Document> {
struct AppletsFilter;
impl CollectionFilter for AppletsFilter {
fn filter(&self, elem: &JSRef<Element>, _root: &JSRef<Node>) -> bool {
- elem.get().local_name == ~"applet"
+ elem.deref().local_name == ~"applet"
}
}
let filter = ~AppletsFilter;