Backed out changeset 44890ee1d15f for leaks

This commit is contained in:
Dave Camp
2009-01-13 02:22:59 -08:00
parent 2f54589586
commit d2734b7cd1
14 changed files with 13 additions and 287 deletions

View File

@@ -7797,7 +7797,7 @@ nsDocShell::CheckClassifier(nsIChannel *aChannel)
nsRefPtr<nsClassifierCallback> classifier = new nsClassifierCallback();
if (!classifier) return NS_ERROR_OUT_OF_MEMORY;
nsresult rv = classifier->Start(aChannel, PR_FALSE);
nsresult rv = classifier->Start(aChannel);
if (rv == NS_ERROR_FACTORY_NOT_REGISTERED ||
rv == NS_ERROR_NOT_AVAILABLE) {
// no URI classifier => ignored cases
@@ -9683,12 +9683,10 @@ nsDocShell::IsOKToLoadURI(nsIURI* aURI)
// nsClassifierCallback
//*****************************************************************************
NS_IMPL_ISUPPORTS5(nsClassifierCallback,
NS_IMPL_ISUPPORTS3(nsClassifierCallback,
nsIChannelClassifier,
nsIURIClassifierCallback,
nsIRunnable,
nsIChannelEventSink,
nsIInterfaceRequestor)
nsIRunnable)
NS_IMETHODIMP
nsClassifierCallback::Run()
@@ -9713,7 +9711,7 @@ nsClassifierCallback::Run()
// Don't bother to run the classifier on a cached load that was
// previously classified.
if (HasBeenClassified(channel)) {
if (HasBeenClassified()) {
return NS_OK;
}
@@ -9805,10 +9803,10 @@ nsClassifierCallback::MarkEntryClassified(nsresult status)
}
PRBool
nsClassifierCallback::HasBeenClassified(nsIChannel *aChannel)
nsClassifierCallback::HasBeenClassified()
{
nsCOMPtr<nsICachingChannel> cachingChannel =
do_QueryInterface(aChannel);
do_QueryInterface(mSuspendedChannel);
if (!cachingChannel) {
return PR_FALSE;
}
@@ -9864,26 +9862,15 @@ nsClassifierCallback::OnClassifyComplete(nsresult aErrorCode)
}
NS_IMETHODIMP
nsClassifierCallback::Start(nsIChannel *aChannel, PRBool aInstallListener)
nsClassifierCallback::Start(nsIChannel *aChannel)
{
mChannel = aChannel;
if (aInstallListener) {
nsresult rv = aChannel->GetNotificationCallbacks
(getter_AddRefs(mNotificationCallbacks));
NS_ENSURE_SUCCESS(rv, rv);
rv = aChannel->SetNotificationCallbacks
(static_cast<nsIInterfaceRequestor*>(this));
NS_ENSURE_SUCCESS(rv, rv);
}
return Run();
}
NS_IMETHODIMP
nsClassifierCallback::OnRedirect(nsIChannel *aOldChannel,
nsIChannel *aNewChannel)
nsIChannel *aNewChannel)
{
mChannel = aNewChannel;
@@ -9913,36 +9900,3 @@ nsClassifierCallback::Cancel()
return NS_OK;
}
NS_IMETHODIMP
nsClassifierCallback::OnChannelRedirect(nsIChannel *aOldChannel,
nsIChannel *aNewChannel,
PRUint32 aFlags)
{
nsresult rv = OnRedirect(aOldChannel, aNewChannel);
NS_ENSURE_SUCCESS(rv, rv);
if (mNotificationCallbacks) {
nsCOMPtr<nsIChannelEventSink> sink =
do_GetInterface(mNotificationCallbacks);
if (sink) {
return sink->OnChannelRedirect(aOldChannel, aNewChannel, aFlags);
}
}
return NS_OK;
}
NS_IMETHODIMP
nsClassifierCallback::GetInterface(const nsIID &aIID, void **aResult)
{
if (aIID.Equals(NS_GET_IID(nsIChannelEventSink))) {
NS_ADDREF_THIS();
*aResult = static_cast<nsIChannelEventSink *>(this);
return NS_OK;
} else if (mNotificationCallbacks) {
return mNotificationCallbacks->GetInterface(aIID, aResult);
} else {
return NS_ERROR_NO_INTERFACE;
}
}