зеркало из https://github.com/mozilla/gecko-dev.git
Bug 815847 - Part 1: Remove nsXULPrototypeCache::gStartupCache; r=bsmedberg
There is no good reason why this variable should be used.
This commit is contained in:
Родитель
bec983b2ee
Коммит
5c7cbd45e5
|
@ -55,7 +55,6 @@ DisableXULCacheChangedCallback(const char* aPref, void* aClosure)
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
StartupCache* nsXULPrototypeCache::gStartupCache = nullptr;
|
||||
nsXULPrototypeCache* nsXULPrototypeCache::sInstance = nullptr;
|
||||
|
||||
|
||||
|
@ -105,12 +104,6 @@ nsXULPrototypeCache::GetInstance()
|
|||
return sInstance;
|
||||
}
|
||||
|
||||
/* static */ StartupCache*
|
||||
nsXULPrototypeCache::GetStartupCache()
|
||||
{
|
||||
return gStartupCache;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
@ -366,11 +359,6 @@ nsXULPrototypeCache::WritePrototype(nsXULPrototypeDocument* aPrototypeDocument)
|
|||
{
|
||||
nsresult rv = NS_OK, rv2 = NS_OK;
|
||||
|
||||
// We're here before the startupcache service has been initialized, probably because
|
||||
// of the profile manager. Bail quietly, don't worry, we'll be back later.
|
||||
if (!gStartupCache)
|
||||
return NS_OK;
|
||||
|
||||
nsCOMPtr<nsIURI> protoURI = aPrototypeDocument->GetURI();
|
||||
|
||||
// Remove this document from the cache table. We use the table's
|
||||
|
@ -399,11 +387,12 @@ nsXULPrototypeCache::GetInputStream(nsIURI* uri, nsIObjectInputStream** stream)
|
|||
nsAutoArrayPtr<char> buf;
|
||||
uint32_t len;
|
||||
nsCOMPtr<nsIObjectInputStream> ois;
|
||||
if (!gStartupCache)
|
||||
StartupCache* sc = StartupCache::GetSingleton();
|
||||
if (!sc)
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
|
||||
rv = gStartupCache->GetBuffer(spec.get(), getter_Transfers(buf), &len);
|
||||
if (NS_FAILED(rv))
|
||||
|
||||
rv = sc->GetBuffer(spec.get(), getter_Transfers(buf), &len);
|
||||
if (NS_FAILED(rv))
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
|
||||
rv = NewObjectInputStreamFromBuffer(buf, len, getter_AddRefs(ois));
|
||||
|
@ -450,9 +439,10 @@ nsresult
|
|||
nsXULPrototypeCache::FinishOutputStream(nsIURI* uri)
|
||||
{
|
||||
nsresult rv;
|
||||
if (!gStartupCache)
|
||||
StartupCache* sc = StartupCache::GetSingleton();
|
||||
if (!sc)
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
|
||||
|
||||
nsCOMPtr<nsIStorageStream> storageStream;
|
||||
bool found = mOutputStreamTable.Get(uri, getter_AddRefs(storageStream));
|
||||
if (!found)
|
||||
|
@ -471,7 +461,7 @@ nsXULPrototypeCache::FinishOutputStream(nsIURI* uri)
|
|||
rv = PathifyURI(uri, spec);
|
||||
if (NS_FAILED(rv))
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
rv = gStartupCache->PutBuffer(spec.get(), buf, len);
|
||||
rv = sc->PutBuffer(spec.get(), buf, len);
|
||||
if (NS_SUCCEEDED(rv))
|
||||
mOutputStreamTable.Remove(uri);
|
||||
|
||||
|
@ -495,19 +485,12 @@ nsXULPrototypeCache::HasData(nsIURI* uri, bool* exists)
|
|||
}
|
||||
nsAutoArrayPtr<char> buf;
|
||||
uint32_t len;
|
||||
if (gStartupCache)
|
||||
rv = gStartupCache->GetBuffer(spec.get(), getter_Transfers(buf),
|
||||
&len);
|
||||
else {
|
||||
// We don't have everything we need to call BeginCaching and set up
|
||||
// gStartupCache right now, but we just need to check the cache for
|
||||
// this URI.
|
||||
StartupCache* sc = StartupCache::GetSingleton();
|
||||
if (!sc) {
|
||||
*exists = false;
|
||||
return NS_OK;
|
||||
}
|
||||
StartupCache* sc = StartupCache::GetSingleton();
|
||||
if (sc)
|
||||
rv = sc->GetBuffer(spec.get(), getter_Transfers(buf), &len);
|
||||
else {
|
||||
*exists = false;
|
||||
return NS_OK;
|
||||
}
|
||||
*exists = NS_SUCCEEDED(rv);
|
||||
return NS_OK;
|
||||
|
@ -540,21 +523,6 @@ nsXULPrototypeCache::BeginCaching(nsIURI* aURI)
|
|||
if (!StringEndsWith(path, NS_LITERAL_CSTRING(".xul")))
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
|
||||
// Test gStartupCache to decide whether this is the first nsXULDocument
|
||||
// participating in the serialization. If gStartupCache is non-null, this document
|
||||
// must not be first, but it can join the process. Examples of
|
||||
// multiple master documents participating include hiddenWindow.xul and
|
||||
// navigator.xul on the Mac, and multiple-app-component (e.g., mailnews
|
||||
// and browser) startup due to command-line arguments.
|
||||
//
|
||||
if (gStartupCache) {
|
||||
mCacheURITable.Put(aURI, 1);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// Use a local to refer to the service till we're sure we succeeded, then
|
||||
// commit to gStartupCache.
|
||||
StartupCache* startupCache = StartupCache::GetSingleton();
|
||||
if (!startupCache)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
@ -679,7 +647,6 @@ nsXULPrototypeCache::BeginCaching(nsIURI* aURI)
|
|||
// and commit locals to globals.
|
||||
mCacheURITable.Put(aURI, 1);
|
||||
|
||||
gStartupCache = startupCache;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -111,8 +111,6 @@ public:
|
|||
nsresult FinishOutputStream(nsIURI* aURI);
|
||||
nsresult HasData(nsIURI* aURI, bool* exists);
|
||||
|
||||
static mozilla::scache::StartupCache* GetStartupCache();
|
||||
|
||||
static nsXULPrototypeCache* GetInstance();
|
||||
|
||||
static void ReleaseGlobals()
|
||||
|
@ -143,7 +141,6 @@ protected:
|
|||
// this is really a hash set, with a dummy data parameter
|
||||
nsDataHashtable<nsURIHashKey,uint32_t> mCacheURITable;
|
||||
|
||||
static mozilla::scache::StartupCache* gStartupCache;
|
||||
nsInterfaceHashtable<nsURIHashKey, nsIStorageStream> mOutputStreamTable;
|
||||
nsInterfaceHashtable<nsURIHashKey, nsIObjectInputStream> mInputStreamTable;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче