Bug 1287623, part 5 - Convert CacheFileIOManager::gInstance to StaticRefPtr. r=mayhemer

This commit is contained in:
Andrew McCreight 2016-07-21 09:54:17 -07:00
Родитель 3059107942
Коммит 9653815dee
2 изменённых файлов: 9 добавлений и 8 удалений

Просмотреть файл

@ -1092,7 +1092,7 @@ public:
}
};
CacheFileIOManager * CacheFileIOManager::gInstance = nullptr;
StaticRefPtr<CacheFileIOManager> CacheFileIOManager::gInstance;
NS_IMPL_ISUPPORTS(CacheFileIOManager, nsITimerCallback)
@ -1130,7 +1130,7 @@ CacheFileIOManager::Init()
nsresult rv = ioMan->InitInternal();
NS_ENSURE_SUCCESS(rv, rv);
ioMan.swap(gInstance);
gInstance = ioMan.forget();
return NS_OK;
}
@ -1154,7 +1154,7 @@ CacheFileIOManager::InitInternal()
nsresult
CacheFileIOManager::Shutdown()
{
LOG(("CacheFileIOManager::Shutdown() [gInstance=%p]", gInstance));
LOG(("CacheFileIOManager::Shutdown() [gInstance=%p]", gInstance.get()));
MOZ_ASSERT(NS_IsMainThread());
@ -1185,8 +1185,7 @@ CacheFileIOManager::Shutdown()
gInstance->SyncRemoveAllCacheFiles();
}
RefPtr<CacheFileIOManager> ioMan;
ioMan.swap(gInstance);
gInstance = nullptr;
return NS_OK;
}
@ -1259,7 +1258,7 @@ CacheFileIOManager::ShutdownInternal()
nsresult
CacheFileIOManager::OnProfile()
{
LOG(("CacheFileIOManager::OnProfile() [gInstance=%p]", gInstance));
LOG(("CacheFileIOManager::OnProfile() [gInstance=%p]", gInstance.get()));
RefPtr<CacheFileIOManager> ioMan = gInstance;
if (!ioMan) {
@ -3064,7 +3063,7 @@ CacheFileIOManager::CacheIndexStateChanged()
// the lock in CacheIndex
nsCOMPtr<nsIRunnable> ev;
ev = NewRunnableMethod(
gInstance, &CacheFileIOManager::CacheIndexStateChangedInternal);
gInstance.get(), &CacheFileIOManager::CacheIndexStateChangedInternal);
nsCOMPtr<nsIEventTarget> ioTarget = IOTarget();
MOZ_ASSERT(ioTarget);

Просмотреть файл

@ -12,6 +12,7 @@
#include "nsCOMPtr.h"
#include "mozilla/Atomics.h"
#include "mozilla/SHA1.h"
#include "mozilla/StaticPtr.h"
#include "mozilla/TimeStamp.h"
#include "nsTArray.h"
#include "nsString.h"
@ -441,7 +442,8 @@ private:
// Memory reporting (private part)
size_t SizeOfExcludingThisInternal(mozilla::MallocSizeOf mallocSizeOf) const;
static CacheFileIOManager *gInstance;
static StaticRefPtr<CacheFileIOManager> gInstance;
TimeStamp mStartTime;
// Set true on the IO thread, CLOSE level as part of the internal shutdown
// procedure.