Fix remaining MutHeap methods not to expose JS<T>.

This commit is contained in:
Eli Friedman 2015-10-14 18:15:44 -07:00
parent 57584e74c6
commit 5bdf6bb1d3
7 changed files with 42 additions and 41 deletions

View file

@ -36,7 +36,7 @@ impl NodeIterator {
NodeIterator {
reflector_: Reflector::new(),
root_node: JS::from_ref(root_node),
reference_node: MutHeap::new(JS::from_ref(root_node)),
reference_node: MutHeap::new(root_node),
pointer_before_reference_node: Cell::new(true),
what_to_show: what_to_show,
filter: filter
@ -87,7 +87,7 @@ impl NodeIteratorMethods for NodeIterator {
// https://dom.spec.whatwg.org/#dom-nodeiterator-referencenode
fn ReferenceNode(&self) -> Root<Node> {
self.reference_node.get().root()
self.reference_node.get()
}
// https://dom.spec.whatwg.org/#dom-nodeiterator-pointerbeforereferencenode
@ -99,7 +99,7 @@ impl NodeIteratorMethods for NodeIterator {
fn NextNode(&self) -> Fallible<Option<Root<Node>>> {
// https://dom.spec.whatwg.org/#concept-NodeIterator-traverse
// Step 1.
let node = self.reference_node.get().root();
let node = self.reference_node.get();
// Step 2.
let mut before_node = self.pointer_before_reference_node.get();
@ -114,7 +114,7 @@ impl NodeIteratorMethods for NodeIterator {
// Step 3-3.
if result == NodeFilterConstants::FILTER_ACCEPT {
// Step 4.
self.reference_node.set(JS::from_ref(node.r()));
self.reference_node.set(node.r());
self.pointer_before_reference_node.set(before_node);
return Ok(Some(node));
@ -129,7 +129,7 @@ impl NodeIteratorMethods for NodeIterator {
// Step 3-3.
if result == NodeFilterConstants::FILTER_ACCEPT {
// Step 4.
self.reference_node.set(JS::from_ref(following_node.r()));
self.reference_node.set(following_node.r());
self.pointer_before_reference_node.set(before_node);
return Ok(Some(following_node));
@ -143,7 +143,7 @@ impl NodeIteratorMethods for NodeIterator {
fn PreviousNode(&self) -> Fallible<Option<Root<Node>>> {
// https://dom.spec.whatwg.org/#concept-NodeIterator-traverse
// Step 1.
let node = self.reference_node.get().root();
let node = self.reference_node.get();
// Step 2.
let mut before_node = self.pointer_before_reference_node.get();
@ -158,7 +158,7 @@ impl NodeIteratorMethods for NodeIterator {
// Step 3-3.
if result == NodeFilterConstants::FILTER_ACCEPT {
// Step 4.
self.reference_node.set(JS::from_ref(node.r()));
self.reference_node.set(node.r());
self.pointer_before_reference_node.set(before_node);
return Ok(Some(node));
@ -174,7 +174,7 @@ impl NodeIteratorMethods for NodeIterator {
// Step 3-3.
if result == NodeFilterConstants::FILTER_ACCEPT {
// Step 4.
self.reference_node.set(JS::from_ref(preceding_node.r()));
self.reference_node.set(preceding_node.r());
self.pointer_before_reference_node.set(before_node);
return Ok(Some(preceding_node));