icecat: add release icecat-140.10.1-1gnu1 for ecne
This commit is contained in:
parent
a5f93cb214
commit
ff85d7c623
1256 changed files with 63469 additions and 24141 deletions
|
|
@ -118,6 +118,11 @@ mozilla::ipc::IPCResult DocAccessibleParent::ProcessShowEvent(
|
|||
return IPC_OK();
|
||||
#endif
|
||||
}
|
||||
|
||||
if (parent->IsOuterDoc()) {
|
||||
return IPC_FAIL(this, "Cannot attach non-doc to OuterDoc");
|
||||
}
|
||||
|
||||
lastParent = parent;
|
||||
lastParentID = accData.ParentID();
|
||||
|
||||
|
|
@ -223,6 +228,11 @@ mozilla::ipc::IPCResult DocAccessibleParent::ProcessShowEvent(
|
|||
|
||||
RemoteAccessible* DocAccessibleParent::CreateAcc(
|
||||
const AccessibleData& aAccData) {
|
||||
if (aAccData.ID() == 0) {
|
||||
MOZ_ASSERT_UNREACHABLE("An ID of 0 is reserved for the document itself");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
RemoteAccessible* newProxy;
|
||||
if ((newProxy = GetAccessible(aAccData.ID()))) {
|
||||
// This is a move. Reuse the Accessible; don't destroy it.
|
||||
|
|
@ -906,7 +916,10 @@ mozilla::ipc::IPCResult DocAccessibleParent::RecvBindChildDoc(
|
|||
MOZ_ASSERT(CheckDocTree());
|
||||
|
||||
auto childDoc = static_cast<DocAccessibleParent*>(aChildDoc.get());
|
||||
childDoc->Unbind();
|
||||
if (childDoc->IsShutdown()) {
|
||||
return IPC_FAIL(this, "Attempt to bind a shutdown child doc");
|
||||
}
|
||||
|
||||
ipc::IPCResult result = AddChildDoc(childDoc, aID, false);
|
||||
MOZ_ASSERT(result);
|
||||
MOZ_ASSERT(CheckDocTree());
|
||||
|
|
@ -929,6 +942,10 @@ ipc::IPCResult DocAccessibleParent::AddChildDoc(DocAccessibleParent* aChildDoc,
|
|||
"Attempt to add child doc which already has a parent");
|
||||
}
|
||||
|
||||
if (aChildDoc->IsShutdown()) {
|
||||
return IPC_FAIL(this, "Attempt to add a shutdown child doc");
|
||||
}
|
||||
|
||||
// We do not use GetAccessible here because we want to be sure to not get the
|
||||
// document it self.
|
||||
ProxyEntry* e = mAccessibles.GetEntry(aParentID);
|
||||
|
|
@ -1031,6 +1048,9 @@ void DocAccessibleParent::Destroy() {
|
|||
// If we are already shutdown that is because our containing tab parent is
|
||||
// shutting down in which case we don't need to do anything.
|
||||
if (mShutdown) {
|
||||
// Just in case there is a cycle in the document heirarchy.
|
||||
mParent = nullptr;
|
||||
mIndexInParent = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1068,6 +1088,8 @@ void DocAccessibleParent::Destroy() {
|
|||
RemoteAccessible* acc = iter.Get()->mProxy;
|
||||
MOZ_ASSERT(acc != this);
|
||||
if (acc->IsTable()) {
|
||||
// Prevents the invalidation code from trying to walk up the tree.
|
||||
acc->SetParent(nullptr);
|
||||
CachedTableAccessible::Invalidate(acc);
|
||||
}
|
||||
ProxyDestroyed(acc);
|
||||
|
|
@ -1113,6 +1135,9 @@ void DocAccessibleParent::ActorDestroy(ActorDestroyReason aWhy) {
|
|||
if (!mShutdown) {
|
||||
ACQUIRE_ANDROID_LOCK
|
||||
Destroy();
|
||||
} else if (RemoteParent()) {
|
||||
ACQUIRE_ANDROID_LOCK
|
||||
Unbind();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue