Fix some case issues with getElementsByTagName(NS) in tag-soup and XHTML. Bug
264609, r+sr=jst git-svn-id: svn://10.0.0.236/trunk@164539 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
51aabc8460
commit
3028d60ea3
@ -425,6 +425,22 @@ nsGenericHTMLElement::GetElementsByTagName(const nsAString& aTagname,
|
||||
return nsGenericElement::GetElementsByTagName(tagName, aReturn);
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsGenericHTMLElement::GetElementsByTagNameNS(const nsAString& aNamespaceURI,
|
||||
const nsAString& aLocalName,
|
||||
nsIDOMNodeList** aReturn)
|
||||
{
|
||||
nsAutoString localName(aLocalName);
|
||||
|
||||
// Only lowercase the name if this element has no namespace (i.e.
|
||||
// it's a HTML element, not an XHTML element).
|
||||
if (mNodeInfo && mNodeInfo->NamespaceEquals(kNameSpaceID_None))
|
||||
ToLowerCase(localName);
|
||||
|
||||
return nsGenericElement::GetElementsByTagNameNS(aNamespaceURI, localName,
|
||||
aReturn);
|
||||
}
|
||||
|
||||
// Implementation for nsIDOMHTMLElement
|
||||
nsresult
|
||||
nsGenericHTMLElement::GetId(nsAString& aId)
|
||||
|
||||
@ -108,6 +108,9 @@ public:
|
||||
NS_METHOD GetTagName(nsAString& aTagName);
|
||||
NS_METHOD GetElementsByTagName(const nsAString& aTagname,
|
||||
nsIDOMNodeList** aReturn);
|
||||
NS_METHOD GetElementsByTagNameNS(const nsAString& aNamespaceURI,
|
||||
const nsAString& aLocalName,
|
||||
nsIDOMNodeList** aReturn);
|
||||
|
||||
// nsIDOMHTMLElement methods. Note that these are non-virtual
|
||||
// methods, implementations are expected to forward calls to these
|
||||
|
||||
@ -1395,7 +1395,9 @@ nsHTMLDocument::GetElementsByTagName(const nsAString& aTagname,
|
||||
nsIDOMNodeList** aReturn)
|
||||
{
|
||||
nsAutoString tmp(aTagname);
|
||||
ToLowerCase(tmp); // HTML elements are lower case internally.
|
||||
if (!IsXHTML()) {
|
||||
ToLowerCase(tmp); // HTML elements are lower case internally.
|
||||
}
|
||||
return nsDocument::GetElementsByTagName(tmp, aReturn);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user