bug 1222179 - remove unnecessary observation topics in nsNSSComponent r=Cykesiopka

nsNSSComponent would (unnecessarily) observe "profile-change-net-teardown" and
"profile-change-net-restore". Now it no longer does.
This commit is contained in:
David Keeler 2015-11-12 16:21:33 -08:00
parent 58a6a87af1
commit eae048cea6
3 changed files with 4 additions and 46 deletions

View File

@ -228,7 +228,6 @@ nsNSSComponent::nsNSSComponent()
NS_ASSERTION( (0 == mInstanceCount), "nsNSSComponent is a singleton, but instantiated multiple times!");
++mInstanceCount;
mShutdownObjectList = nsNSSShutDownList::construct();
mIsNetworkDown = false;
}
void
@ -1239,10 +1238,6 @@ nsNSSComponent::RandomUpdate(void* entropy, int32_t bufLen)
return NS_OK;
}
static const char* const PROFILE_CHANGE_NET_TEARDOWN_TOPIC
= "profile-change-net-teardown";
static const char* const PROFILE_CHANGE_NET_RESTORE_TOPIC
= "profile-change-net-restore";
static const char* const PROFILE_BEFORE_CHANGE_TOPIC = "profile-before-change";
static const char* const PROFILE_DO_CHANGE_TOPIC = "profile-do-change";
@ -1252,7 +1247,7 @@ nsNSSComponent::Observe(nsISupports* aSubject, const char* aTopic,
{
if (nsCRT::strcmp(aTopic, PROFILE_BEFORE_CHANGE_TOPIC) == 0) {
MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("receiving profile change topic\n"));
DoProfileBeforeChange(aSubject);
DoProfileBeforeChange();
}
else if (nsCRT::strcmp(aTopic, PROFILE_DO_CHANGE_TOPIC) == 0) {
if (someData && NS_LITERAL_STRING("startup").Equals(someData)) {
@ -1263,9 +1258,7 @@ nsNSSComponent::Observe(nsISupports* aSubject, const char* aTopic,
// it again. We use the same cleanup functionality used when switching
// profiles. The order of function calls must correspond to the order
// of notifications sent by Profile Manager (nsProfile).
DoProfileChangeNetTeardown();
DoProfileBeforeChange(aSubject);
DoProfileChangeNetRestore();
DoProfileBeforeChange();
}
bool needsInit = true;
@ -1348,14 +1341,6 @@ nsNSSComponent::Observe(nsISupports* aSubject, const char* aTopic,
if (clearSessionCache)
SSL_ClearSessionCache();
}
else if (nsCRT::strcmp(aTopic, PROFILE_CHANGE_NET_TEARDOWN_TOPIC) == 0) {
MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("receiving network teardown topic\n"));
DoProfileChangeNetTeardown();
}
else if (nsCRT::strcmp(aTopic, PROFILE_CHANGE_NET_RESTORE_TOPIC) == 0) {
MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("receiving network restore topic\n"));
DoProfileChangeNetRestore();
}
return NS_OK;
}
@ -1442,25 +1427,13 @@ nsNSSComponent::RegisterObservers()
observerService->AddObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID, false);
observerService->AddObserver(this, PROFILE_BEFORE_CHANGE_TOPIC, false);
observerService->AddObserver(this, PROFILE_DO_CHANGE_TOPIC, false);
observerService->AddObserver(this, PROFILE_CHANGE_NET_TEARDOWN_TOPIC, false);
observerService->AddObserver(this, PROFILE_CHANGE_NET_RESTORE_TOPIC, false);
return NS_OK;
}
void
nsNSSComponent::DoProfileChangeNetTeardown()
nsNSSComponent::DoProfileBeforeChange()
{
if (mCertVerificationThread)
mCertVerificationThread->requestExit();
mIsNetworkDown = true;
}
void
nsNSSComponent::DoProfileBeforeChange(nsISupports* aSubject)
{
NS_ASSERTION(mIsNetworkDown, "nsNSSComponent relies on profile manager to wait for synchronous shutdown of all network activity");
bool needsCleanup = true;
{
@ -1479,15 +1452,6 @@ nsNSSComponent::DoProfileBeforeChange(nsISupports* aSubject)
}
}
void
nsNSSComponent::DoProfileChangeNetRestore()
{
// XXX this doesn't work well, since nothing expects null pointers
deleteBackgroundThreads();
createBackgroundThreads();
mIsNetworkDown = false;
}
NS_IMETHODIMP
nsNSSComponent::IsNSSInitialized(bool* initialized)
{

View File

@ -160,11 +160,7 @@ private:
nsresult ConfigureInternalPKCS11Token();
nsresult RegisterObservers();
// Methods that we use to handle the profile change notifications (and to
// synthesize a full profile change when we're just doing a profile startup):
void DoProfileChangeNetTeardown();
void DoProfileBeforeChange(nsISupports* aSubject);
void DoProfileChangeNetRestore();
void DoProfileBeforeChange();
mozilla::Mutex mutex;
@ -176,7 +172,6 @@ private:
#ifndef MOZ_NO_SMART_CARDS
SmartCardThreadList* mThreadList;
#endif
bool mIsNetworkDown;
void deleteBackgroundThreads();
void createBackgroundThreads();

View File

@ -69,7 +69,6 @@ function testFindTestModule(shouldSucceed) {
function simulateShutdown() {
let psmComponent = Cc["@mozilla.org/psm;1"].getService(Ci.nsIObserver);
psmComponent.observe(null, "profile-change-net-teardown", null);
psmComponent.observe(null, "profile-before-change", null);
psmComponent.observe(null, "xpcom-shutdown", null);
}