зеркало из https://github.com/mozilla/gecko-dev.git
Bug 711297 - add recordAgesAlways method to nsIStartupCache; r=mwu
This commit is contained in:
Родитель
5a474e9e60
Коммит
512a941bbe
|
@ -154,6 +154,7 @@ StartupCache::InitSingleton()
|
||||||
|
|
||||||
StartupCache* StartupCache::gStartupCache;
|
StartupCache* StartupCache::gStartupCache;
|
||||||
bool StartupCache::gShutdownInitiated;
|
bool StartupCache::gShutdownInitiated;
|
||||||
|
enum StartupCache::TelemetrifyAge StartupCache::gPostFlushAgeAction = StartupCache::IGNORE_AGE;
|
||||||
|
|
||||||
StartupCache::StartupCache()
|
StartupCache::StartupCache()
|
||||||
: mArchive(NULL), mStartupWriteInitiated(false), mWriteThread(NULL),
|
: mArchive(NULL), mStartupWriteInitiated(false), mWriteThread(NULL),
|
||||||
|
@ -494,7 +495,7 @@ StartupCache::WriteToDisk()
|
||||||
zipW->Close();
|
zipW->Close();
|
||||||
|
|
||||||
// Our reader's view of the archive is outdated now, reload it.
|
// Our reader's view of the archive is outdated now, reload it.
|
||||||
LoadArchive(IGNORE_AGE);
|
LoadArchive(gPostFlushAgeAction);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -506,7 +507,7 @@ StartupCache::InvalidateCache()
|
||||||
mTable.Clear();
|
mTable.Clear();
|
||||||
mArchive = NULL;
|
mArchive = NULL;
|
||||||
mFile->Remove(false);
|
mFile->Remove(false);
|
||||||
LoadArchive(IGNORE_AGE);
|
LoadArchive(gPostFlushAgeAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -602,6 +603,13 @@ StartupCache::ResetStartupWriteTimer()
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nsresult
|
||||||
|
StartupCache::RecordAgesAlways()
|
||||||
|
{
|
||||||
|
gPostFlushAgeAction = RECORD_AGE;
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
// StartupCacheDebugOutputStream implementation
|
// StartupCacheDebugOutputStream implementation
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
NS_IMPL_ISUPPORTS3(StartupCacheDebugOutputStream, nsIObjectOutputStream,
|
NS_IMPL_ISUPPORTS3(StartupCacheDebugOutputStream, nsIObjectOutputStream,
|
||||||
|
@ -781,5 +789,11 @@ StartupCacheWrapper::GetObserver(nsIObserver** obv) {
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nsresult
|
||||||
|
StartupCacheWrapper::RecordAgesAlways() {
|
||||||
|
StartupCache *sc = StartupCache::GetSingleton();
|
||||||
|
return sc ? sc->RecordAgesAlways() : NS_ERROR_NOT_INITIALIZED;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace scache
|
} // namespace scache
|
||||||
} // namespace mozilla
|
} // namespace mozilla
|
||||||
|
|
|
@ -151,6 +151,8 @@ public:
|
||||||
nsresult GetDebugObjectOutputStream(nsIObjectOutputStream* aStream,
|
nsresult GetDebugObjectOutputStream(nsIObjectOutputStream* aStream,
|
||||||
nsIObjectOutputStream** outStream);
|
nsIObjectOutputStream** outStream);
|
||||||
|
|
||||||
|
nsresult RecordAgesAlways();
|
||||||
|
|
||||||
static StartupCache* GetSingleton();
|
static StartupCache* GetSingleton();
|
||||||
static void DeleteSingleton();
|
static void DeleteSingleton();
|
||||||
|
|
||||||
|
@ -168,6 +170,7 @@ private:
|
||||||
IGNORE_AGE = 0,
|
IGNORE_AGE = 0,
|
||||||
RECORD_AGE = 1
|
RECORD_AGE = 1
|
||||||
};
|
};
|
||||||
|
static enum TelemetrifyAge gPostFlushAgeAction;
|
||||||
|
|
||||||
nsresult LoadArchive(enum TelemetrifyAge flag);
|
nsresult LoadArchive(enum TelemetrifyAge flag);
|
||||||
nsresult Init();
|
nsresult Init();
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
#include "nsIObserver.idl"
|
#include "nsIObserver.idl"
|
||||||
#include "nsIObjectOutputStream.idl"
|
#include "nsIObjectOutputStream.idl"
|
||||||
|
|
||||||
[uuid(8c2a360b-e337-455b-8c1b-04265ef9c5a3)]
|
[uuid(c1b3796b-33af-4ff0-b83d-8eb0ca2c080f)]
|
||||||
interface nsIStartupCache : nsISupports
|
interface nsIStartupCache : nsISupports
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -70,6 +70,10 @@ interface nsIStartupCache : nsISupports
|
||||||
boolean startupWriteComplete();
|
boolean startupWriteComplete();
|
||||||
void resetStartupWriteTimer();
|
void resetStartupWriteTimer();
|
||||||
|
|
||||||
|
/* Instruct clients to always post cache ages to Telemetry, even in
|
||||||
|
cases where it would not normally make sense. */
|
||||||
|
void recordAgesAlways();
|
||||||
|
|
||||||
/* Allows clients to simulate the behavior of ObserverService. */
|
/* Allows clients to simulate the behavior of ObserverService. */
|
||||||
readonly attribute nsIObserver observer;
|
readonly attribute nsIObserver observer;
|
||||||
};
|
};
|
||||||
|
|
Загрузка…
Ссылка в новой задаче