Added type parameter to PartialEq on JSRef (fixes #5112, #3960)

This commit is contained in:
Keith Yeung 2015-03-03 11:39:37 +08:00
parent 801b939479
commit a07a0cf39f
3 changed files with 7 additions and 7 deletions

View file

@ -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
}

View file

@ -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

View file

@ -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 {