mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 08:15:31 +00:00
Bug 867092 - Don't implicitly convert to already_AddRefed in nsNodeInfoManager; r=bz
This commit is contained in:
parent
110a478ad7
commit
36d589ac3c
@ -331,51 +331,62 @@ nsNodeInfoManager::GetNodeInfo(const nsAString& aName, nsIAtom *aPrefix,
|
||||
already_AddRefed<nsINodeInfo>
|
||||
nsNodeInfoManager::GetTextNodeInfo()
|
||||
{
|
||||
nsCOMPtr<nsINodeInfo> nodeInfo;
|
||||
|
||||
if (!mTextNodeInfo) {
|
||||
mTextNodeInfo = GetNodeInfo(nsGkAtoms::textTagName, nullptr,
|
||||
kNameSpaceID_None,
|
||||
nsIDOMNode::TEXT_NODE, nullptr).get();
|
||||
}
|
||||
else {
|
||||
NS_ADDREF(mTextNodeInfo);
|
||||
nodeInfo = GetNodeInfo(nsGkAtoms::textTagName, nullptr, kNameSpaceID_None,
|
||||
nsIDOMNode::TEXT_NODE, nullptr);
|
||||
// Hold a weak ref; the nodeinfo will let us know when it goes away
|
||||
mTextNodeInfo = nodeInfo;
|
||||
} else {
|
||||
nodeInfo = mTextNodeInfo;
|
||||
}
|
||||
|
||||
return mTextNodeInfo;
|
||||
return nodeInfo.forget();
|
||||
}
|
||||
|
||||
already_AddRefed<nsINodeInfo>
|
||||
nsNodeInfoManager::GetCommentNodeInfo()
|
||||
{
|
||||
nsCOMPtr<nsINodeInfo> nodeInfo;
|
||||
|
||||
if (!mCommentNodeInfo) {
|
||||
mCommentNodeInfo = GetNodeInfo(nsGkAtoms::commentTagName, nullptr,
|
||||
kNameSpaceID_None,
|
||||
nsIDOMNode::COMMENT_NODE, nullptr).get();
|
||||
nodeInfo = GetNodeInfo(nsGkAtoms::commentTagName, nullptr,
|
||||
kNameSpaceID_None, nsIDOMNode::COMMENT_NODE,
|
||||
nullptr);
|
||||
// Hold a weak ref; the nodeinfo will let us know when it goes away
|
||||
mCommentNodeInfo = nodeInfo;
|
||||
}
|
||||
else {
|
||||
NS_ADDREF(mCommentNodeInfo);
|
||||
nodeInfo = mCommentNodeInfo;
|
||||
}
|
||||
|
||||
return mCommentNodeInfo;
|
||||
return nodeInfo.forget();
|
||||
}
|
||||
|
||||
already_AddRefed<nsINodeInfo>
|
||||
nsNodeInfoManager::GetDocumentNodeInfo()
|
||||
{
|
||||
nsCOMPtr<nsINodeInfo> nodeInfo;
|
||||
|
||||
if (!mDocumentNodeInfo) {
|
||||
NS_ASSERTION(mDocument, "Should have mDocument!");
|
||||
mDocumentNodeInfo = GetNodeInfo(nsGkAtoms::documentNodeName, nullptr,
|
||||
kNameSpaceID_None,
|
||||
nsIDOMNode::DOCUMENT_NODE, nullptr).get();
|
||||
nodeInfo = GetNodeInfo(nsGkAtoms::documentNodeName, nullptr,
|
||||
kNameSpaceID_None, nsIDOMNode::DOCUMENT_NODE,
|
||||
nullptr);
|
||||
// Hold a weak ref; the nodeinfo will let us know when it goes away
|
||||
mDocumentNodeInfo = nodeInfo;
|
||||
|
||||
--mNonDocumentNodeInfos;
|
||||
if (!mNonDocumentNodeInfos) {
|
||||
mDocument->Release(); // Don't set mDocument to null!
|
||||
}
|
||||
}
|
||||
else {
|
||||
NS_ADDREF(mDocumentNodeInfo);
|
||||
nodeInfo = mDocumentNodeInfo;
|
||||
}
|
||||
|
||||
return mDocumentNodeInfo;
|
||||
return nodeInfo.forget();
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user