diff options
author | Keith Yeung <kungfukeith11@gmail.com> | 2015-03-03 11:39:37 +0800 |
---|---|---|
committer | Keith Yeung <kungfukeith11@gmail.com> | 2015-03-03 11:46:13 +0800 |
commit | a07a0cf39f1417754327247f7f9aa6c4daf72070 (patch) | |
tree | e77a958b11afb39a566fc0c204ebada782df929c | |
parent | 801b939479f359777c6ee68cd634da0f7c73984b (diff) | |
download | servo-a07a0cf39f1417754327247f7f9aa6c4daf72070.tar.gz servo-a07a0cf39f1417754327247f7f9aa6c4daf72070.zip |
Added type parameter to PartialEq on JSRef (fixes #5112, #3960)
-rw-r--r-- | components/script/dom/bindings/js.rs | 2 | ||||
-rw-r--r-- | components/script/dom/document.rs | 2 | ||||
-rw-r--r-- | components/script/dom/node.rs | 10 |
3 files changed, 7 insertions, 7 deletions
diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs index b370b3a073f..7ada9f45d14 100644 --- a/components/script/dom/bindings/js.rs +++ b/components/script/dom/bindings/js.rs @@ -727,7 +727,7 @@ impl<'a, T> Clone for JSRef<'a, T> { } } -impl<'a, T> PartialEq for JSRef<'a, T> { +impl<'a, 'b, T> PartialEq<JSRef<'b, T>> for JSRef<'a, T> { fn eq(&self, other: &JSRef<T>) -> bool { self.ptr == other.ptr } diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 6e5413ebdc8..95649de58d1 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -241,7 +241,7 @@ impl<'a> DocumentHelpers<'a> for JSRef<'a, Document> { let browser_context = browser_context.as_ref().unwrap(); let active_document = browser_context.active_document().root(); - if self.clone() != active_document.r() { + if self != active_document.r() { return false; } // FIXME: It should also check whether the browser context is top-level or not diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index a7b5e5484d6..f04420728e8 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -409,7 +409,7 @@ pub trait NodeHelpers<'a> { fn child_elements(self) -> ChildElementIterator<'a>; fn following_siblings(self) -> NodeChildrenIterator<'a>; fn is_in_doc(self) -> bool; - fn is_inclusive_ancestor_of(self, parent: JSRef<'a, Node>) -> bool; // FIXME: See #3960 + fn is_inclusive_ancestor_of(self, parent: JSRef<Node>) -> bool; fn is_parent_of(self, child: JSRef<Node>) -> bool; fn type_id(self) -> NodeTypeId; @@ -715,7 +715,7 @@ impl<'a> NodeHelpers<'a> for JSRef<'a, Node> { } } - fn is_inclusive_ancestor_of(self, parent: JSRef<'a, Node>) -> bool { + fn is_inclusive_ancestor_of(self, parent: JSRef<Node>) -> bool { self == parent || parent.ancestors().any(|ancestor| ancestor == self) } @@ -1376,7 +1376,7 @@ impl Node { // Step 7-8. let reference_child = match child { - Some(child) if child.clone() == node => node.next_sibling().map(|node| node.root().get_unsound_ref_forever()), + Some(child) if child == node => node.next_sibling().map(|node| node.root().get_unsound_ref_forever()), _ => child }; @@ -1946,7 +1946,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> { } // Ok if not caught by previous error checks. - if node.clone() == child { + if node == child { return Ok(Temporary::from_rooted(child)); } @@ -2106,7 +2106,7 @@ impl<'a> NodeMethods for JSRef<'a, Node> { // http://dom.spec.whatwg.org/#dom-node-comparedocumentposition fn CompareDocumentPosition(self, other: JSRef<Node>) -> u16 { - if self.clone() == other { // FIXME: See issue #3960 + if self == other { // step 2. 0 } else { |