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);
nsIUnicharStreamLoader* loader;
nsCOMPtr<nsILoadGroup> loadGroup;
mDocument->GetDocumentLoadGroup(getter_AddRefs(loadGroup));
rv = NS_NewUnicharStreamLoader(&loader,
url,
#ifdef NECKO
nsCOMPtr<nsILoadGroup>(mDocument->GetDocumentLoadGroup()),
#endif
loadGroup,
(nsStreamCompleteFunc)nsDoneLoadingScript,
(void *)this);
NS_RELEASE(url);

View File

@ -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

View File

@ -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

View File

@ -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

View File

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

View File

@ -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

View File

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