From 22e6b8be31dda09e3931c20c1736e7b0e24c93c7 Mon Sep 17 00:00:00 2001 From: "rpotts%netscape.com" Date: Sat, 18 Sep 1999 06:34:24 +0000 Subject: [PATCH] Changed GetDocumentLoadGroup(...) to be XPCom complient. THis helps prevent leaks when using nsCOMPtrs. git-svn-id: svn://10.0.0.236/trunk@48177 18797224-902f-48f8-a5cc-f745e15eee43 --- .../content/xml/document/src/nsXMLContentSink.cpp | 7 ++++--- mozilla/content/xul/document/src/nsXULDocument.cpp | 13 ++++++------- mozilla/layout/base/nsPresContext.cpp | 2 +- mozilla/layout/base/src/nsPresContext.cpp | 2 +- .../layout/xml/document/src/nsXMLContentSink.cpp | 7 ++++--- mozilla/rdf/content/src/nsXULDocument.cpp | 13 ++++++------- mozilla/rdf/datasource/src/nsXULContentSink.cpp | 7 ++++--- 7 files changed, 26 insertions(+), 25 deletions(-) diff --git a/mozilla/content/xml/document/src/nsXMLContentSink.cpp b/mozilla/content/xml/document/src/nsXMLContentSink.cpp index 6d238e0d660..adcd129fe35 100644 --- a/mozilla/content/xml/document/src/nsXMLContentSink.cpp +++ b/mozilla/content/xml/document/src/nsXMLContentSink.cpp @@ -1829,11 +1829,12 @@ nsXMLContentSink::ProcessStartSCRIPTTag(const nsIParserNode& aNode) NS_ADDREF(this); nsIUnicharStreamLoader* loader; + nsCOMPtr loadGroup; + + mDocument->GetDocumentLoadGroup(getter_AddRefs(loadGroup)); rv = NS_NewUnicharStreamLoader(&loader, url, -#ifdef NECKO - nsCOMPtr(mDocument->GetDocumentLoadGroup()), -#endif + loadGroup, (nsStreamCompleteFunc)nsDoneLoadingScript, (void *)this); NS_RELEASE(url); diff --git a/mozilla/content/xul/document/src/nsXULDocument.cpp b/mozilla/content/xul/document/src/nsXULDocument.cpp index dadab688bf2..578dc277f02 100644 --- a/mozilla/content/xul/document/src/nsXULDocument.cpp +++ b/mozilla/content/xul/document/src/nsXULDocument.cpp @@ -538,7 +538,7 @@ public: virtual nsIPrincipal* GetDocumentPrincipal() const; - virtual nsILoadGroup* GetDocumentLoadGroup() const; + NS_IMETHOD GetDocumentLoadGroup(nsILoadGroup **aGroup) const; NS_IMETHOD GetBaseURL(nsIURI*& aURL) const; @@ -1525,13 +1525,12 @@ XULDocumentImpl::GetDocumentPrincipal() const return result; } - -nsILoadGroup* -XULDocumentImpl::GetDocumentLoadGroup() const +NS_IMETHODIMP +XULDocumentImpl::GetDocumentLoadGroup(nsILoadGroup **aGroup) const { - nsILoadGroup* result = mDocumentLoadGroup; - NS_IF_ADDREF(result); - return result; + *aGroup = mDocumentLoadGroup; + NS_IF_ADDREF(*aGroup); + return NS_OK; } NS_IMETHODIMP diff --git a/mozilla/layout/base/nsPresContext.cpp b/mozilla/layout/base/nsPresContext.cpp index c089ea4285f..2496190395c 100644 --- a/mozilla/layout/base/nsPresContext.cpp +++ b/mozilla/layout/base/nsPresContext.cpp @@ -783,7 +783,7 @@ nsPresContext::GetImageGroup(nsIImageGroup** aResult) if (NS_SUCCEEDED(mShell->GetDocument(getter_AddRefs(doc)))) { NS_ASSERTION(doc, "expect document here"); if (doc) { - loadGroup = doc->GetDocumentLoadGroup(); + doc->GetDocumentLoadGroup(getter_AddRefs(loadGroup)); } } #else diff --git a/mozilla/layout/base/src/nsPresContext.cpp b/mozilla/layout/base/src/nsPresContext.cpp index c089ea4285f..2496190395c 100644 --- a/mozilla/layout/base/src/nsPresContext.cpp +++ b/mozilla/layout/base/src/nsPresContext.cpp @@ -783,7 +783,7 @@ nsPresContext::GetImageGroup(nsIImageGroup** aResult) if (NS_SUCCEEDED(mShell->GetDocument(getter_AddRefs(doc)))) { NS_ASSERTION(doc, "expect document here"); if (doc) { - loadGroup = doc->GetDocumentLoadGroup(); + doc->GetDocumentLoadGroup(getter_AddRefs(loadGroup)); } } #else diff --git a/mozilla/layout/xml/document/src/nsXMLContentSink.cpp b/mozilla/layout/xml/document/src/nsXMLContentSink.cpp index 6d238e0d660..adcd129fe35 100644 --- a/mozilla/layout/xml/document/src/nsXMLContentSink.cpp +++ b/mozilla/layout/xml/document/src/nsXMLContentSink.cpp @@ -1829,11 +1829,12 @@ nsXMLContentSink::ProcessStartSCRIPTTag(const nsIParserNode& aNode) NS_ADDREF(this); nsIUnicharStreamLoader* loader; + nsCOMPtr loadGroup; + + mDocument->GetDocumentLoadGroup(getter_AddRefs(loadGroup)); rv = NS_NewUnicharStreamLoader(&loader, url, -#ifdef NECKO - nsCOMPtr(mDocument->GetDocumentLoadGroup()), -#endif + loadGroup, (nsStreamCompleteFunc)nsDoneLoadingScript, (void *)this); NS_RELEASE(url); diff --git a/mozilla/rdf/content/src/nsXULDocument.cpp b/mozilla/rdf/content/src/nsXULDocument.cpp index dadab688bf2..578dc277f02 100644 --- a/mozilla/rdf/content/src/nsXULDocument.cpp +++ b/mozilla/rdf/content/src/nsXULDocument.cpp @@ -538,7 +538,7 @@ public: virtual nsIPrincipal* GetDocumentPrincipal() const; - virtual nsILoadGroup* GetDocumentLoadGroup() const; + NS_IMETHOD GetDocumentLoadGroup(nsILoadGroup **aGroup) const; NS_IMETHOD GetBaseURL(nsIURI*& aURL) const; @@ -1525,13 +1525,12 @@ XULDocumentImpl::GetDocumentPrincipal() const return result; } - -nsILoadGroup* -XULDocumentImpl::GetDocumentLoadGroup() const +NS_IMETHODIMP +XULDocumentImpl::GetDocumentLoadGroup(nsILoadGroup **aGroup) const { - nsILoadGroup* result = mDocumentLoadGroup; - NS_IF_ADDREF(result); - return result; + *aGroup = mDocumentLoadGroup; + NS_IF_ADDREF(*aGroup); + return NS_OK; } NS_IMETHODIMP diff --git a/mozilla/rdf/datasource/src/nsXULContentSink.cpp b/mozilla/rdf/datasource/src/nsXULContentSink.cpp index 7d8dcba8e80..53965240800 100644 --- a/mozilla/rdf/datasource/src/nsXULContentSink.cpp +++ b/mozilla/rdf/datasource/src/nsXULContentSink.cpp @@ -1597,11 +1597,12 @@ XULContentSinkImpl::OpenScript(const nsIParserNode& aNode) mCurrentScriptURL = url; nsIUnicharStreamLoader* loader; + nsCOMPtr group; + + mDocument->GetDocumentLoadGroup(getter_AddRefs(group)); rv = NS_NewUnicharStreamLoader(&loader, url, -#ifdef NECKO - nsCOMPtr(mDocument->GetDocumentLoadGroup()), -#endif + group, (nsStreamCompleteFunc)DoneLoadingScript, (void *)this); NS_RELEASE(url);