diff --git a/components/script/dom/htmlcollection.rs b/components/script/dom/htmlcollection.rs index 3ac4d491513..3de2f11e2e6 100644 --- a/components/script/dom/htmlcollection.rs +++ b/components/script/dom/htmlcollection.rs @@ -119,7 +119,10 @@ impl HTMLCollection { namespace_filter: Option } impl CollectionFilter for TagNameNSFilter { - fn filter(&self, elem: JSRef, _root: JSRef) -> bool { + fn filter(&self, elem: JSRef, root: JSRef) -> bool { + if NodeCast::from_ref(elem) == root { + return false + } let ns_match = match self.namespace_filter { Some(ref namespace) => { *elem.namespace() == *namespace diff --git a/tests/wpt/metadata/dom/nodes/Element-getElementsByTagNameNS.html.ini b/tests/wpt/metadata/dom/nodes/Element-getElementsByTagNameNS.html.ini index 4221c256afc..9cfcb9a43cc 100644 --- a/tests/wpt/metadata/dom/nodes/Element-getElementsByTagNameNS.html.ini +++ b/tests/wpt/metadata/dom/nodes/Element-getElementsByTagNameNS.html.ini @@ -5,10 +5,3 @@ [getElementsByTagNameNS(\'*\', \'*\')] expected: FAIL - - [Matching the context object (wildcard namespace)] - expected: FAIL - - [Matching the context object (specific namespace)] - expected: FAIL -