Fix for bug 27382 (ownerDocument of orphan text and attr nodes is null). Patch by sicking, updated by peterv, r=bz, sr=peterv.

git-svn-id: svn://10.0.0.236/trunk@180911 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
peterv%propagandism.org
2005-09-24 18:43:15 +00:00
parent 974e8e14af
commit 86ac4d2e8f
86 changed files with 770 additions and 780 deletions

View File

@@ -403,8 +403,8 @@ txXPathNodeUtils::getLocalName(const txXPathNode& aNode, nsAString& aLocalName)
}
if (aNode.isContent()) {
nsINodeInfo* nodeInfo = aNode.mContent->GetNodeInfo();
if (nodeInfo) {
if (aNode.mContent->IsContentOfType(nsIContent::eELEMENT)) {
nsINodeInfo* nodeInfo = aNode.mContent->NodeInfo();
nodeInfo->GetLocalName(aLocalName);
// Check for html
@@ -437,7 +437,7 @@ txXPathNodeUtils::getLocalName(const txXPathNode& aNode, nsAString& aLocalName)
localName->ToString(aLocalName);
// Check for html
if (aNode.mContent->GetNodeInfo()->NamespaceEquals(kNameSpaceID_None) &&
if (aNode.mContent->NodeInfo()->NamespaceEquals(kNameSpaceID_None) &&
aNode.mContent->IsContentOfType(nsIContent::eHTML)) {
ToUpperCase(aLocalName);
}
@@ -454,8 +454,8 @@ txXPathNodeUtils::getNodeName(const txXPathNode& aNode, nsAString& aName)
}
if (aNode.isContent()) {
nsINodeInfo* nodeInfo = aNode.mContent->GetNodeInfo();
if (nodeInfo) {
if (aNode.mContent->IsContentOfType(nsIContent::eELEMENT)) {
nsINodeInfo* nodeInfo = aNode.mContent->NodeInfo();
nodeInfo->GetQualifiedName(aName);
// Check for html
@@ -500,7 +500,7 @@ txXPathNodeUtils::getNodeName(const txXPathNode& aNode, nsAString& aName)
AppendUTF8toUTF16(attrName, aName);
// Check for html
if (aNode.mContent->GetNodeInfo()->NamespaceEquals(kNameSpaceID_None) &&
if (aNode.mContent->NodeInfo()->NamespaceEquals(kNameSpaceID_None) &&
aNode.mContent->IsContentOfType(nsIContent::eHTML)) {
ToUpperCase(aName);
}
@@ -515,9 +515,7 @@ txXPathNodeUtils::getNamespaceID(const txXPathNode& aNode)
}
if (aNode.isContent()) {
nsINodeInfo* ni = aNode.mContent->GetNodeInfo();
return ni ? ni->NamespaceID() : kNameSpaceID_None;
return aNode.mContent->GetNameSpaceID();
}
nsCOMPtr<nsIAtom> name, prefix;
@@ -656,13 +654,7 @@ txXPathNodeUtils::getOwnerDocument(const txXPathNode& aNode)
return new txXPathNode(aNode);
}
nsIDocument* document = aNode.mContent->GetDocument();
if (!document) {
nsINodeInfo* ni = aNode.mContent->GetNodeInfo();
if (ni) {
document = ni->GetDocument();
}
}
nsIDocument* document = aNode.mContent->GetOwnerDoc();
return document ? new txXPathNode(document) : nsnull;
}