reland part of bug 407442.

This commit is contained in:
dwitte@stanford.edu 2007-12-21 03:22:18 -08:00
parent 3927f9b31d
commit 332de77638
2 changed files with 3 additions and 6 deletions

View File

@ -1575,7 +1575,7 @@ CSSLoaderImpl::SheetComplete(SheetLoadData* aLoadData, nsresult aStatus)
aStatus);
}
nsTObserverArray<nsICSSLoaderObserver*>::ForwardIterator iter(mObservers);
nsTObserverArray< nsCOMPtr<nsICSSLoaderObserver> >::ForwardIterator iter(mObservers);
nsCOMPtr<nsICSSLoaderObserver> obs;
while (iter.HasMore()) {
obs = iter.GetNext();
@ -2327,7 +2327,6 @@ CSSLoaderImpl::AddObserver(nsICSSLoaderObserver* aObserver)
{
NS_PRECONDITION(aObserver, "Must have observer");
if (mObservers.AppendElementUnlessExists(aObserver)) {
NS_ADDREF(aObserver);
return NS_OK;
}
@ -2337,9 +2336,7 @@ CSSLoaderImpl::AddObserver(nsICSSLoaderObserver* aObserver)
NS_IMETHODIMP_(void)
CSSLoaderImpl::RemoveObserver(nsICSSLoaderObserver* aObserver)
{
if (mObservers.RemoveElement(aObserver)) {
NS_RELEASE(aObserver);
}
mObservers.RemoveElement(aObserver);
}
PR_STATIC_CALLBACK(PLDHashOperator)

View File

@ -505,7 +505,7 @@ private:
PRUint32 mDatasToNotifyOn;
// Our array of "global" observers
nsTObserverArray<nsICSSLoaderObserver*> mObservers;
nsTObserverArray< nsCOMPtr<nsICSSLoaderObserver> > mObservers;
};
#endif // nsCSSLoader_h__