mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 11:25:00 +00:00
Fix for bug #40997. a=warren
This commit is contained in:
parent
7802e4085f
commit
f592edc947
@ -97,9 +97,10 @@ nsAboutBloat::NewChannel(nsIURI *aURI, nsIChannel **result)
|
||||
}
|
||||
else {
|
||||
nsCOMPtr<nsIFile> file;
|
||||
rv = NS_GetSpecialDirectory("xpcom.currentProcess.componentRegistry",
|
||||
getter_AddRefs(file));
|
||||
rv = NS_GetSpecialDirectory("xpcom.currentProcess.componentDirectory",
|
||||
getter_AddRefs(file));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
rv = file->Append("bloatlogs");
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
@ -108,7 +109,10 @@ nsAboutBloat::NewChannel(nsIURI *aURI, nsIChannel **result)
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
if (!exists) {
|
||||
rv = file->Create(nsIFile::DIRECTORY_TYPE, 0664);
|
||||
// On all the platforms that I know use permissions,
|
||||
// directories need to have the executable flag set
|
||||
// if you want to do anything inside the directory.
|
||||
rv = file->Create(nsIFile::DIRECTORY_TYPE, 0755);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
}
|
||||
|
||||
|
@ -348,16 +348,18 @@ GetBloatEntry(const char* aTypeName, PRUint32 aInstanceSize)
|
||||
BloatEntry* entry = NULL;
|
||||
if (gBloatView) {
|
||||
entry = (BloatEntry*)PL_HashTableLookup(gBloatView, aTypeName);
|
||||
if (entry == NULL) {
|
||||
if (entry == NULL && aInstanceSize > 0) {
|
||||
|
||||
entry = new BloatEntry(aTypeName, aInstanceSize);
|
||||
PLHashEntry* e = PL_HashTableAdd(gBloatView, aTypeName, entry);
|
||||
if (e == NULL) {
|
||||
delete entry;
|
||||
entry = NULL;
|
||||
}
|
||||
}
|
||||
else {
|
||||
NS_ASSERTION(aInstanceSize == 0 || entry->GetClassSize() == aInstanceSize, "bad size recorded");
|
||||
} else {
|
||||
NS_ASSERTION(aInstanceSize == 0 ||
|
||||
entry->GetClassSize() == aInstanceSize,
|
||||
"bad size recorded");
|
||||
}
|
||||
}
|
||||
return entry;
|
||||
|
@ -348,16 +348,18 @@ GetBloatEntry(const char* aTypeName, PRUint32 aInstanceSize)
|
||||
BloatEntry* entry = NULL;
|
||||
if (gBloatView) {
|
||||
entry = (BloatEntry*)PL_HashTableLookup(gBloatView, aTypeName);
|
||||
if (entry == NULL) {
|
||||
if (entry == NULL && aInstanceSize > 0) {
|
||||
|
||||
entry = new BloatEntry(aTypeName, aInstanceSize);
|
||||
PLHashEntry* e = PL_HashTableAdd(gBloatView, aTypeName, entry);
|
||||
if (e == NULL) {
|
||||
delete entry;
|
||||
entry = NULL;
|
||||
}
|
||||
}
|
||||
else {
|
||||
NS_ASSERTION(aInstanceSize == 0 || entry->GetClassSize() == aInstanceSize, "bad size recorded");
|
||||
} else {
|
||||
NS_ASSERTION(aInstanceSize == 0 ||
|
||||
entry->GetClassSize() == aInstanceSize,
|
||||
"bad size recorded");
|
||||
}
|
||||
}
|
||||
return entry;
|
||||
|
Loading…
Reference in New Issue
Block a user