From 7b1d52b5a529a4e7558e9ab59a4a261b663b31fb Mon Sep 17 00:00:00 2001 From: "mjudge%netscape.com" Date: Fri, 9 Jun 2000 04:19:09 +0000 Subject: [PATCH] fixing leak from earlier chekin. copied code, dont look at me. r=scc bug=34896 git-svn-id: svn://10.0.0.236/trunk@71871 18797224-902f-48f8-a5cc-f745e15eee43 --- .../html/document/src/nsHTMLDocument.cpp | 73 ++++++++++--------- .../html/document/src/nsHTMLDocument.cpp | 73 ++++++++++--------- 2 files changed, 76 insertions(+), 70 deletions(-) diff --git a/mozilla/content/html/document/src/nsHTMLDocument.cpp b/mozilla/content/html/document/src/nsHTMLDocument.cpp index 524f1d5c64d..b1ec5b2ae1c 100644 --- a/mozilla/content/html/document/src/nsHTMLDocument.cpp +++ b/mozilla/content/html/document/src/nsHTMLDocument.cpp @@ -104,6 +104,8 @@ #include "nsIDocumentEncoder.h" //for outputting selection #include "nsIBookmarksService.h" #include "nsIXMLContent.h" //for createelementNS +#include "nsHTMLParts.h" //for createelementNS + #define DETECTOR_PROGID_MAX 127 static char g_detector_progid[DETECTOR_PROGID_MAX + 1]; @@ -1259,6 +1261,42 @@ nsHTMLDocument::FlushPendingNotifications() return result; } +NS_IMETHODIMP +nsHTMLDocument::CreateElementNS(const nsString& aNamespaceURI, + const nsString& aQualifiedName, + nsIDOMElement** aReturn) +{ + nsresult rv = NS_OK; + + nsCOMPtr nodeInfo; + rv = mNodeInfoManager->GetNodeInfo(aQualifiedName, aNamespaceURI, + *getter_AddRefs(nodeInfo)); + NS_ENSURE_SUCCESS(rv, rv); + + PRInt32 namespaceID; + nodeInfo->GetNamespaceID(namespaceID); + + nsCOMPtr content; + if (namespaceID == kNameSpaceID_HTML) { + nsCOMPtr htmlContent; + + rv = NS_CreateHTMLElement(getter_AddRefs(htmlContent), nodeInfo); + content = do_QueryInterface(htmlContent); + } + else { + nsCOMPtr xmlContent; + rv = NS_NewXMLElement(getter_AddRefs(xmlContent), nodeInfo); + content = do_QueryInterface(xmlContent); + } + + NS_ENSURE_SUCCESS(rv, rv); + + content->SetContentID(mNextContentID++); + + return content->QueryInterface(kIDOMElementIID, (void**)aReturn); +} + + // // nsIDOMDocument interface implementation // @@ -2195,41 +2233,6 @@ nsHTMLDocument::ImportNode(nsIDOMNode* aImportedNode, return NS_ERROR_NOT_IMPLEMENTED; } -NS_IMETHODIMP -nsHTMLDocument::CreateElementNS(const nsString& aNamespaceURI, - const nsString& aQualifiedName, - nsIDOMElement** aReturn) -{ - nsresult rv = NS_OK; - - nsCOMPtr nodeInfo; - rv = mNodeInfoManager->GetNodeInfo(aQualifiedName, aNamespaceURI, - *getter_AddRefs(nodeInfo)); - NS_ENSURE_SUCCESS(rv, rv); - - PRInt32 namespaceID; - nodeInfo->GetNamespaceID(namespaceID); - - nsIContent* content; - if (namespaceID == kNameSpaceID_HTML) { - nsIHTMLContent* htmlContent; - - rv = NS_CreateHTMLElement(&htmlContent, nodeInfo); - content = (nsIContent*)htmlContent; - } - else { - nsIXMLContent* xmlContent; - rv = NS_NewXMLElement(&xmlContent, nodeInfo); - content = NS_STATIC_CAST(nsIXMLContent *, xmlContent); - } - - NS_ENSURE_SUCCESS(rv, rv); - - content->SetContentID(mNextContentID++); - - return content->QueryInterface(kIDOMElementIID, (void**)aReturn); -} - NS_IMETHODIMP nsHTMLDocument::CreateAttributeNS(const nsString& aNamespaceURI, const nsString& aQualifiedName, diff --git a/mozilla/layout/html/document/src/nsHTMLDocument.cpp b/mozilla/layout/html/document/src/nsHTMLDocument.cpp index 524f1d5c64d..b1ec5b2ae1c 100644 --- a/mozilla/layout/html/document/src/nsHTMLDocument.cpp +++ b/mozilla/layout/html/document/src/nsHTMLDocument.cpp @@ -104,6 +104,8 @@ #include "nsIDocumentEncoder.h" //for outputting selection #include "nsIBookmarksService.h" #include "nsIXMLContent.h" //for createelementNS +#include "nsHTMLParts.h" //for createelementNS + #define DETECTOR_PROGID_MAX 127 static char g_detector_progid[DETECTOR_PROGID_MAX + 1]; @@ -1259,6 +1261,42 @@ nsHTMLDocument::FlushPendingNotifications() return result; } +NS_IMETHODIMP +nsHTMLDocument::CreateElementNS(const nsString& aNamespaceURI, + const nsString& aQualifiedName, + nsIDOMElement** aReturn) +{ + nsresult rv = NS_OK; + + nsCOMPtr nodeInfo; + rv = mNodeInfoManager->GetNodeInfo(aQualifiedName, aNamespaceURI, + *getter_AddRefs(nodeInfo)); + NS_ENSURE_SUCCESS(rv, rv); + + PRInt32 namespaceID; + nodeInfo->GetNamespaceID(namespaceID); + + nsCOMPtr content; + if (namespaceID == kNameSpaceID_HTML) { + nsCOMPtr htmlContent; + + rv = NS_CreateHTMLElement(getter_AddRefs(htmlContent), nodeInfo); + content = do_QueryInterface(htmlContent); + } + else { + nsCOMPtr xmlContent; + rv = NS_NewXMLElement(getter_AddRefs(xmlContent), nodeInfo); + content = do_QueryInterface(xmlContent); + } + + NS_ENSURE_SUCCESS(rv, rv); + + content->SetContentID(mNextContentID++); + + return content->QueryInterface(kIDOMElementIID, (void**)aReturn); +} + + // // nsIDOMDocument interface implementation // @@ -2195,41 +2233,6 @@ nsHTMLDocument::ImportNode(nsIDOMNode* aImportedNode, return NS_ERROR_NOT_IMPLEMENTED; } -NS_IMETHODIMP -nsHTMLDocument::CreateElementNS(const nsString& aNamespaceURI, - const nsString& aQualifiedName, - nsIDOMElement** aReturn) -{ - nsresult rv = NS_OK; - - nsCOMPtr nodeInfo; - rv = mNodeInfoManager->GetNodeInfo(aQualifiedName, aNamespaceURI, - *getter_AddRefs(nodeInfo)); - NS_ENSURE_SUCCESS(rv, rv); - - PRInt32 namespaceID; - nodeInfo->GetNamespaceID(namespaceID); - - nsIContent* content; - if (namespaceID == kNameSpaceID_HTML) { - nsIHTMLContent* htmlContent; - - rv = NS_CreateHTMLElement(&htmlContent, nodeInfo); - content = (nsIContent*)htmlContent; - } - else { - nsIXMLContent* xmlContent; - rv = NS_NewXMLElement(&xmlContent, nodeInfo); - content = NS_STATIC_CAST(nsIXMLContent *, xmlContent); - } - - NS_ENSURE_SUCCESS(rv, rv); - - content->SetContentID(mNextContentID++); - - return content->QueryInterface(kIDOMElementIID, (void**)aReturn); -} - NS_IMETHODIMP nsHTMLDocument::CreateAttributeNS(const nsString& aNamespaceURI, const nsString& aQualifiedName,