Bug 1803152, destroy nsFrameLoader asynchronously when destroyed from SessionHistoryEntry's/SHEntrySharedParentState's destructor. r=nika

Differential Revision: https://phabricator.services.mozilla.com/D163344
This commit is contained in:
Olli Pettay 2022-11-29 18:01:14 +00:00
Родитель 8ff45d9491
Коммит e9dd1d0c7b
2 изменённых файлов: 6 добавлений и 1 удалений

Просмотреть файл

@ -73,7 +73,7 @@ SHEntrySharedParentState::~SHEntrySharedParentState() {
RefPtr<nsFrameLoader> loader = mFrameLoader;
SetFrameLoader(nullptr);
if (loader) {
loader->Destroy();
loader->AsyncDestroy();
}
sIdToSharedState->Remove(mId);

Просмотреть файл

@ -213,6 +213,11 @@ class nsFrameLoader final : public nsStubMutationObserver,
*/
void Destroy(bool aForProcessSwitch = false);
void AsyncDestroy() {
mNeedsAsyncDestroy = true;
Destroy();
}
void RequestUpdatePosition(mozilla::ErrorResult& aRv);
already_AddRefed<Promise> RequestTabStateFlush(mozilla::ErrorResult& aRv);