Backed out changeset 44890ee1d15f for leaks
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user