Bug 1671162 - Checkpoint SessionStorage data in stable state callbacks only when the browsing context hasn't been discarded; r=janv,dom-workers-and-storage-reviewers

Differential Revision: https://phabricator.services.mozilla.com/D93490
This commit is contained in:
Tom Tung 2020-10-14 14:02:11 +00:00
parent 976d8082ca
commit aa90db4973

View file

@ -228,11 +228,13 @@ void SessionStorage::StableStateCallback() {
AssertIsOnOwningThread(); AssertIsOnOwningThread();
MOZ_ASSERT(mHasPendingStableStateCallback); MOZ_ASSERT(mHasPendingStableStateCallback);
MOZ_ASSERT(mManager); MOZ_ASSERT(mManager);
MOZ_ASSERT(mManager->CanLoadData());
MOZ_ASSERT(mCache); MOZ_ASSERT(mCache);
mHasPendingStableStateCallback = false; mHasPendingStableStateCallback = false;
mManager->CheckpointData(*Principal(), *mCache);
if (mManager->CanLoadData()) {
mManager->CheckpointData(*Principal(), *mCache);
}
} }
nsresult SessionStorage::EnsureCacheLoadedOrCloned() const { nsresult SessionStorage::EnsureCacheLoadedOrCloned() const {