aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2015-10-17 15:20:51 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2015-10-19 09:37:02 +0200
commit6849510526fce9b836509d24ddd9858560698cad (patch)
tree2590de902394220b7f8f0a47c586852a483a24fb /components/script
parent5889a75b10591172a866464cd6f349761b0741b7 (diff)
downloadservo-6849510526fce9b836509d24ddd9858560698cad.tar.gz
servo-6849510526fce9b836509d24ddd9858560698cad.zip
Do not root NamedNodeMap::owner
Diffstat (limited to 'components/script')
-rw-r--r--components/script/dom/namednodemap.rs35
1 files changed, 8 insertions, 27 deletions
diff --git a/components/script/dom/namednodemap.rs b/components/script/dom/namednodemap.rs
index 078ddcc0d84..6070c0bb0c2 100644
--- a/components/script/dom/namednodemap.rs
+++ b/components/script/dom/namednodemap.rs
@@ -37,57 +37,38 @@ impl NamedNodeMap {
impl NamedNodeMapMethods for NamedNodeMap {
// https://dom.spec.whatwg.org/#dom-namednodemap-length
fn Length(&self) -> u32 {
- let owner = self.owner.root();
- // FIXME(https://github.com/rust-lang/rust/issues/23338)
- let owner = owner.r();
- let attrs = owner.attrs();
- attrs.len() as u32
+ self.owner.attrs().len() as u32
}
// https://dom.spec.whatwg.org/#dom-namednodemap-item
fn Item(&self, index: u32) -> Option<Root<Attr>> {
- let owner = self.owner.root();
- // FIXME(https://github.com/rust-lang/rust/issues/23338)
- let owner = owner.r();
- let attrs = owner.attrs();
- attrs.get(index as usize).map(|t| t.root())
+ self.owner.attrs().get(index as usize).map(JS::root)
}
// https://dom.spec.whatwg.org/#dom-namednodemap-getnameditem
fn GetNamedItem(&self, name: DOMString) -> Option<Root<Attr>> {
- let owner = self.owner.root();
- // FIXME(https://github.com/rust-lang/rust/issues/23338)
- let owner = owner.r();
- owner.get_attribute_by_name(name)
+ self.owner.get_attribute_by_name(name)
}
// https://dom.spec.whatwg.org/#dom-namednodemap-getnameditemns
fn GetNamedItemNS(&self, namespace: Option<DOMString>, local_name: DOMString)
-> Option<Root<Attr>> {
- let owner = self.owner.root();
- // FIXME(https://github.com/rust-lang/rust/issues/23338)
- let owner = owner.r();
let ns = namespace_from_domstring(namespace);
- owner.get_attribute(&ns, &Atom::from_slice(&local_name))
+ self.owner.get_attribute(&ns, &Atom::from_slice(&local_name))
}
// https://dom.spec.whatwg.org/#dom-namednodemap-removenameditem
fn RemoveNamedItem(&self, name: DOMString) -> Fallible<Root<Attr>> {
- let owner = self.owner.root();
- // FIXME(https://github.com/rust-lang/rust/issues/23338)
- let owner = owner.r();
- let name = owner.parsed_name(name);
- owner.remove_attribute_by_name(&name).ok_or(Error::NotFound)
+ let name = self.owner.parsed_name(name);
+ self.owner.remove_attribute_by_name(&name).ok_or(Error::NotFound)
}
// https://dom.spec.whatwg.org/#dom-namednodemap-removenameditemns
fn RemoveNamedItemNS(&self, namespace: Option<DOMString>, local_name: DOMString)
-> Fallible<Root<Attr>> {
- let owner = self.owner.root();
- // FIXME(https://github.com/rust-lang/rust/issues/23338)
- let owner = owner.r();
let ns = namespace_from_domstring(namespace);
- owner.remove_attribute(&ns, &Atom::from_slice(&local_name)).ok_or(Error::NotFound)
+ self.owner.remove_attribute(&ns, &Atom::from_slice(&local_name))
+ .ok_or(Error::NotFound)
}
// https://dom.spec.whatwg.org/#dom-namednodemap-item