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
This commit is contained in:
rpotts%netscape.com 1999-09-18 06:34:24 +00:00
parent 5fd55c1f5c
commit 22e6b8be31
7 changed files with 26 additions and 25 deletions

View File

@ -1829,11 +1829,12 @@ nsXMLContentSink::ProcessStartSCRIPTTag(const nsIParserNode& aNode)
NS_ADDREF(this); NS_ADDREF(this);
nsIUnicharStreamLoader* loader; nsIUnicharStreamLoader* loader;
nsCOMPtr<nsILoadGroup> loadGroup;
mDocument->GetDocumentLoadGroup(getter_AddRefs(loadGroup));
rv = NS_NewUnicharStreamLoader(&loader, rv = NS_NewUnicharStreamLoader(&loader,
url, url,
#ifdef NECKO loadGroup,
nsCOMPtr<nsILoadGroup>(mDocument->GetDocumentLoadGroup()),
#endif
(nsStreamCompleteFunc)nsDoneLoadingScript, (nsStreamCompleteFunc)nsDoneLoadingScript,
(void *)this); (void *)this);
NS_RELEASE(url); NS_RELEASE(url);

View File

@ -538,7 +538,7 @@ public:
virtual nsIPrincipal* GetDocumentPrincipal() const; virtual nsIPrincipal* GetDocumentPrincipal() const;
virtual nsILoadGroup* GetDocumentLoadGroup() const; NS_IMETHOD GetDocumentLoadGroup(nsILoadGroup **aGroup) const;
NS_IMETHOD GetBaseURL(nsIURI*& aURL) const; NS_IMETHOD GetBaseURL(nsIURI*& aURL) const;
@ -1525,13 +1525,12 @@ XULDocumentImpl::GetDocumentPrincipal() const
return result; return result;
} }
NS_IMETHODIMP
nsILoadGroup* XULDocumentImpl::GetDocumentLoadGroup(nsILoadGroup **aGroup) const
XULDocumentImpl::GetDocumentLoadGroup() const
{ {
nsILoadGroup* result = mDocumentLoadGroup; *aGroup = mDocumentLoadGroup;
NS_IF_ADDREF(result); NS_IF_ADDREF(*aGroup);
return result; return NS_OK;
} }
NS_IMETHODIMP NS_IMETHODIMP

View File

@ -783,7 +783,7 @@ nsPresContext::GetImageGroup(nsIImageGroup** aResult)
if (NS_SUCCEEDED(mShell->GetDocument(getter_AddRefs(doc)))) { if (NS_SUCCEEDED(mShell->GetDocument(getter_AddRefs(doc)))) {
NS_ASSERTION(doc, "expect document here"); NS_ASSERTION(doc, "expect document here");
if (doc) { if (doc) {
loadGroup = doc->GetDocumentLoadGroup(); doc->GetDocumentLoadGroup(getter_AddRefs(loadGroup));
} }
} }
#else #else

View File

@ -783,7 +783,7 @@ nsPresContext::GetImageGroup(nsIImageGroup** aResult)
if (NS_SUCCEEDED(mShell->GetDocument(getter_AddRefs(doc)))) { if (NS_SUCCEEDED(mShell->GetDocument(getter_AddRefs(doc)))) {
NS_ASSERTION(doc, "expect document here"); NS_ASSERTION(doc, "expect document here");
if (doc) { if (doc) {
loadGroup = doc->GetDocumentLoadGroup(); doc->GetDocumentLoadGroup(getter_AddRefs(loadGroup));
} }
} }
#else #else

View File

@ -1829,11 +1829,12 @@ nsXMLContentSink::ProcessStartSCRIPTTag(const nsIParserNode& aNode)
NS_ADDREF(this); NS_ADDREF(this);
nsIUnicharStreamLoader* loader; nsIUnicharStreamLoader* loader;
nsCOMPtr<nsILoadGroup> loadGroup;
mDocument->GetDocumentLoadGroup(getter_AddRefs(loadGroup));
rv = NS_NewUnicharStreamLoader(&loader, rv = NS_NewUnicharStreamLoader(&loader,
url, url,
#ifdef NECKO loadGroup,
nsCOMPtr<nsILoadGroup>(mDocument->GetDocumentLoadGroup()),
#endif
(nsStreamCompleteFunc)nsDoneLoadingScript, (nsStreamCompleteFunc)nsDoneLoadingScript,
(void *)this); (void *)this);
NS_RELEASE(url); NS_RELEASE(url);

View File

@ -538,7 +538,7 @@ public:
virtual nsIPrincipal* GetDocumentPrincipal() const; virtual nsIPrincipal* GetDocumentPrincipal() const;
virtual nsILoadGroup* GetDocumentLoadGroup() const; NS_IMETHOD GetDocumentLoadGroup(nsILoadGroup **aGroup) const;
NS_IMETHOD GetBaseURL(nsIURI*& aURL) const; NS_IMETHOD GetBaseURL(nsIURI*& aURL) const;
@ -1525,13 +1525,12 @@ XULDocumentImpl::GetDocumentPrincipal() const
return result; return result;
} }
NS_IMETHODIMP
nsILoadGroup* XULDocumentImpl::GetDocumentLoadGroup(nsILoadGroup **aGroup) const
XULDocumentImpl::GetDocumentLoadGroup() const
{ {
nsILoadGroup* result = mDocumentLoadGroup; *aGroup = mDocumentLoadGroup;
NS_IF_ADDREF(result); NS_IF_ADDREF(*aGroup);
return result; return NS_OK;
} }
NS_IMETHODIMP NS_IMETHODIMP

View File

@ -1597,11 +1597,12 @@ XULContentSinkImpl::OpenScript(const nsIParserNode& aNode)
mCurrentScriptURL = url; mCurrentScriptURL = url;
nsIUnicharStreamLoader* loader; nsIUnicharStreamLoader* loader;
nsCOMPtr<nsILoadGroup> group;
mDocument->GetDocumentLoadGroup(getter_AddRefs(group));
rv = NS_NewUnicharStreamLoader(&loader, rv = NS_NewUnicharStreamLoader(&loader,
url, url,
#ifdef NECKO group,
nsCOMPtr<nsILoadGroup>(mDocument->GetDocumentLoadGroup()),
#endif
(nsStreamCompleteFunc)DoneLoadingScript, (nsStreamCompleteFunc)DoneLoadingScript,
(void *)this); (void *)this);
NS_RELEASE(url); NS_RELEASE(url);