mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-16 23:05:42 +00:00
Bug 1177727
- MessagePort should call RemoveObserver before calling Release(), r=mccr8
This commit is contained in:
parent
3479ae4763
commit
241ba42d34
@ -866,6 +866,14 @@ MessagePort::UpdateMustKeepAlive()
|
||||
mWorkerFeature = nullptr;
|
||||
}
|
||||
|
||||
if (NS_IsMainThread()) {
|
||||
nsCOMPtr<nsIObserverService> obs =
|
||||
do_GetService("@mozilla.org/observer-service;1");
|
||||
if (obs) {
|
||||
obs->RemoveObserver(this, "inner-window-destroyed");
|
||||
}
|
||||
}
|
||||
|
||||
Release();
|
||||
return;
|
||||
}
|
||||
@ -900,12 +908,6 @@ MessagePort::Observe(nsISupports* aSubject, const char* aTopic,
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
if (innerID == mInnerID) {
|
||||
nsCOMPtr<nsIObserverService> obs =
|
||||
do_GetService("@mozilla.org/observer-service;1");
|
||||
if (obs) {
|
||||
obs->RemoveObserver(this, "inner-window-destroyed");
|
||||
}
|
||||
|
||||
Close();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user