Bug 659539 Part 3: Use nsINode::NodeName where possible. Remove the now unused mQualifiedNameCorrectedCase. r=bz,peterv

This commit is contained in:
Jonas Sicking 2011-06-14 00:56:49 -07:00
Родитель 731ebeb1d8
Коммит e54aaec919
6 изменённых файлов: 25 добавлений и 58 удалений

Просмотреть файл

@ -120,15 +120,6 @@ public:
return mQualifiedName; return mQualifiedName;
} }
/*
* As above, but return the qualified name in corrected case as
* needed. For example, for HTML elements in HTML documents, this
* will return an ASCII-uppercased version of the qualified name.
*/
const nsString& QualifiedNameCorrectedCase() const {
return mQualifiedNameCorrectedCase;
}
/* /*
* Returns the node's nodeName as defined in DOM Core * Returns the node's nodeName as defined in DOM Core
*/ */
@ -381,10 +372,6 @@ protected:
// Qualified name // Qualified name
nsString mQualifiedName; nsString mQualifiedName;
// Qualified name in "corrected case"; this will depend on our
// document and on mNamespaceID.
nsString mQualifiedNameCorrectedCase;
// nodeName for the node. // nodeName for the node.
nsString mNodeName; nsString mNodeName;

Просмотреть файл

@ -205,7 +205,7 @@ nsDOMAttribute::SetOwnerDocument(nsIDocument* aDocument)
NS_IMETHODIMP NS_IMETHODIMP
nsDOMAttribute::GetName(nsAString& aName) nsDOMAttribute::GetName(nsAString& aName)
{ {
aName = mNodeInfo->QualifiedName(); aName = NodeName();
return NS_OK; return NS_OK;
} }

Просмотреть файл

@ -817,8 +817,11 @@ nsINode::IsEqualTo(nsINode* aOther)
if (nodeType != node2->NodeType()) { if (nodeType != node2->NodeType()) {
return PR_FALSE; return PR_FALSE;
} }
if (!node1->mNodeInfo->Equals(node2->mNodeInfo)) { nsINodeInfo* nodeInfo1 = node1->mNodeInfo;
nsINodeInfo* nodeInfo2 = node2->mNodeInfo;
if (!nodeInfo1->Equals(nodeInfo2) ||
nodeInfo1->GetExtraName() != nodeInfo2->GetExtraName()) {
return PR_FALSE; return PR_FALSE;
} }
@ -867,16 +870,6 @@ nsINode::IsEqualTo(nsINode* aOther)
return PR_FALSE; return PR_FALSE;
} }
if (nodeType == nsIDOMNode::PROCESSING_INSTRUCTION_NODE) {
nsCOMPtr<nsIDOMNode> domNode1 = do_QueryInterface(node1);
nsCOMPtr<nsIDOMNode> domNode2 = do_QueryInterface(node2);
domNode1->GetNodeName(string1);
domNode2->GetNodeName(string2);
if (!string1.Equals(string2)) {
return PR_FALSE;
}
}
break; break;
} }
case nsIDOMNode::DOCUMENT_NODE: case nsIDOMNode::DOCUMENT_NODE:
@ -904,13 +897,6 @@ nsINode::IsEqualTo(nsINode* aOther)
NS_ASSERTION(docType1 && docType2, "Why don't we have a document type node?"); NS_ASSERTION(docType1 && docType2, "Why don't we have a document type node?");
// Node name
docType1->GetNodeName(string1);
docType2->GetNodeName(string2);
if (!string1.Equals(string2)) {
return PR_FALSE;
}
// Public ID // Public ID
docType1->GetPublicId(string1); docType1->GetPublicId(string1);
docType2->GetPublicId(string2); docType2->GetPublicId(string2);
@ -2410,7 +2396,7 @@ nsGenericElement::HasChildNodes(PRBool* aReturn)
NS_IMETHODIMP NS_IMETHODIMP
nsGenericElement::GetTagName(nsAString& aTagName) nsGenericElement::GetTagName(nsAString& aTagName)
{ {
aTagName = mNodeInfo->QualifiedNameCorrectedCase(); aTagName = NodeName();
return NS_OK; return NS_OK;
} }

Просмотреть файл

@ -132,18 +132,17 @@ nsNodeInfo::nsNodeInfo(nsIAtom *aName, nsIAtom *aPrefix, PRInt32 aNamespaceID,
mInner.mName->ToString(mQualifiedName); mInner.mName->ToString(mQualifiedName);
} }
// Qualified name in corrected case
if (aNamespaceID == kNameSpaceID_XHTML && GetDocument() &&
GetDocument()->IsHTML()) {
nsContentUtils::ASCIIToUpper(mQualifiedName, mQualifiedNameCorrectedCase);
} else {
mQualifiedNameCorrectedCase = mQualifiedName;
}
switch (aNodeType) { switch (aNodeType) {
case nsIDOMNode::ELEMENT_NODE: case nsIDOMNode::ELEMENT_NODE:
case nsIDOMNode::ATTRIBUTE_NODE: case nsIDOMNode::ATTRIBUTE_NODE:
mNodeName = mQualifiedNameCorrectedCase; // Correct the case for HTML
if (aNodeType == nsIDOMNode::ELEMENT_NODE &&
aNamespaceID == kNameSpaceID_XHTML && GetDocument() &&
GetDocument()->IsHTML()) {
nsContentUtils::ASCIIToUpper(mQualifiedName, mNodeName);
} else {
mNodeName = mQualifiedName;
}
mInner.mName->ToString(mLocalName); mInner.mName->ToString(mLocalName);
break; break;
case nsIDOMNode::TEXT_NODE: case nsIDOMNode::TEXT_NODE:

Просмотреть файл

@ -467,16 +467,11 @@ txXPathNodeUtils::getNodeName(const txXPathNode& aNode, nsAString& aName)
} }
if (aNode.isContent()) { if (aNode.isContent()) {
if (aNode.mNode->IsElement()) { // Elements and PIs have a name
aName = aNode.Content()->NodeInfo()->QualifiedNameCorrectedCase(); if (aNode.mNode->IsElement() ||
return; aNode.mNode->NodeType() ==
} nsIDOMNode::PROCESSING_INSTRUCTION_NODE) {
aName = aNode.Content()->NodeName();
if (aNode.mNode->IsNodeOfType(nsINode::ePROCESSING_INSTRUCTION)) {
// PIs don't have a nodeinfo but do have a name
nsCOMPtr<nsIDOMNode> node = do_QueryInterface(aNode.mNode);
node->GetNodeName(aName);
return; return;
} }
@ -486,11 +481,6 @@ txXPathNodeUtils::getNodeName(const txXPathNode& aNode, nsAString& aName)
} }
aNode.Content()->GetAttrNameAt(aNode.mIndex)->GetQualifiedName(aName); aNode.Content()->GetAttrNameAt(aNode.mIndex)->GetQualifiedName(aName);
// Check for html
if (aNode.Content()->IsHTML()) {
ToUpperCase(aName);
}
} }
/* static */ /* static */

Просмотреть файл

@ -866,6 +866,11 @@ customMethodCalls = {
'nsIDOMElement_': { 'nsIDOMElement_': {
'thisType': 'nsGenericElement' 'thisType': 'nsGenericElement'
}, },
'nsIDOMElement_GetTagName': {
'thisType': 'nsINode',
'code': 'nsString result = self->NodeName();',
'canFail': False
},
'nsIDOMDocument_CreateElement': { 'nsIDOMDocument_CreateElement': {
'thisType': 'nsDocument', 'thisType': 'nsDocument',
'code': ' nsCOMPtr<nsIContent> result;\n' 'code': ' nsCOMPtr<nsIContent> result;\n'