зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset eb97347c9690 (bug 1340579) for a11y assertion failures and PLDHashTable crashes
CLOSED TREE
This commit is contained in:
Родитель
a43669cbbd
Коммит
75522649b2
|
@ -477,16 +477,8 @@ DocAccessibleParent::Destroy()
|
|||
}
|
||||
}
|
||||
|
||||
int32_t actorID = IProtocol::Id();
|
||||
for (uint32_t i = childDocCount - 1; i < childDocCount; i--) {
|
||||
DocAccessibleParent* thisDoc = LiveDocs().Get(actorID);
|
||||
MOZ_ASSERT(thisDoc);
|
||||
if (!thisDoc) {
|
||||
break;
|
||||
}
|
||||
|
||||
thisDoc->ChildDocAt(i)->Destroy();
|
||||
}
|
||||
for (uint32_t i = childDocCount - 1; i < childDocCount; i--)
|
||||
ChildDocAt(i)->Destroy();
|
||||
|
||||
for (auto iter = mAccessibles.Iter(); !iter.Done(); iter.Next()) {
|
||||
MOZ_ASSERT(iter.Get()->mProxy != this);
|
||||
|
@ -496,25 +488,13 @@ DocAccessibleParent::Destroy()
|
|||
|
||||
// The code above should have already completely cleared these, but to be
|
||||
// extra safe make sure they are cleared here.
|
||||
DocAccessibleParent* thisDoc = LiveDocs().Get(actorID);
|
||||
MOZ_ASSERT(thisDoc);
|
||||
if (!thisDoc) {
|
||||
return;
|
||||
}
|
||||
mAccessibles.Clear();
|
||||
mChildDocs.Clear();
|
||||
|
||||
thisDoc->mAccessibles.Clear();
|
||||
thisDoc->mChildDocs.Clear();
|
||||
|
||||
DocManager::NotifyOfRemoteDocShutdown(thisDoc);
|
||||
ProxyDestroyed(thisDoc);
|
||||
thisDoc = LiveDocs().Get(actorID);
|
||||
MOZ_ASSERT(thisDoc);
|
||||
if (!thisDoc) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (DocAccessibleParent* parentDoc = thisDoc->ParentDoc())
|
||||
parentDoc->RemoveChildDoc(thisDoc);
|
||||
DocManager::NotifyOfRemoteDocShutdown(this);
|
||||
ProxyDestroyed(this);
|
||||
if (DocAccessibleParent* parentDoc = ParentDoc())
|
||||
parentDoc->RemoveChildDoc(this);
|
||||
else if (IsTopLevel())
|
||||
GetAccService()->RemoteDocShutdown(this);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче