mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-21 14:47:31 +09:00
[DOM] Clear sinks and block further use after storage observer shutdown.
This commit is contained in:
parent
9299c2e2ea
commit
bc2aa1f05c
2 changed files with 10 additions and 2 deletions
|
|
@ -213,8 +213,10 @@ DOMStorageDBChild::RecvObserve(const nsCString& aTopic,
|
||||||
const nsString& aOriginAttributesPattern,
|
const nsString& aOriginAttributesPattern,
|
||||||
const nsCString& aOriginScope)
|
const nsCString& aOriginScope)
|
||||||
{
|
{
|
||||||
DOMStorageObserver::Self()->Notify(
|
DOMStorageObserver* observer = DOMStorageObserver::Self();
|
||||||
aTopic.get(), aOriginAttributesPattern, aOriginScope);
|
if (observer) {
|
||||||
|
observer->Notify(aTopic.get(), aOriginAttributesPattern, aOriginScope);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -91,6 +91,8 @@ DOMStorageObserver::Shutdown()
|
||||||
return NS_ERROR_NOT_INITIALIZED;
|
return NS_ERROR_NOT_INITIALIZED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sSelf->mSinks.Clear();
|
||||||
|
|
||||||
NS_RELEASE(sSelf);
|
NS_RELEASE(sSelf);
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
@ -123,6 +125,10 @@ DOMStorageObserver::Observe(nsISupports* aSubject,
|
||||||
const char* aTopic,
|
const char* aTopic,
|
||||||
const char16_t* aData)
|
const char16_t* aData)
|
||||||
{
|
{
|
||||||
|
if (NS_WARN_IF(!sSelf)) { // Shutdown took place, so bail.
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
nsresult rv;
|
nsresult rv;
|
||||||
|
|
||||||
// Start the thread that opens the database.
|
// Start the thread that opens the database.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue