Backing out bug 398021, it caused regression bug 404343.

This commit is contained in:
aaronleventhal@moonset.net 2007-11-20 11:54:18 -08:00
Родитель 07a23b28d5
Коммит e1ee2b7b2e
2 изменённых файлов: 7 добавлений и 29 удалений

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

@ -1808,10 +1808,6 @@ NS_IMETHODIMP nsDocAccessible::InvalidateCacheSubtree(nsIContent *aChild,
// event for it
GetAccService()->GetAttachedAccessibleFor(childNode,
getter_AddRefs(childAccessible));
if (childAccessible) {
// New accessible created -- to make sure to adopt the children from the old parent.
AdoptChildren(childAccessible);
}
}
#ifdef DEBUG_A11Y
@ -1939,13 +1935,6 @@ NS_IMETHODIMP nsDocAccessible::InvalidateCacheSubtree(nsIContent *aChild,
return NS_OK;
}
void nsDocAccessible::AdoptChildren(nsIAccessible *aAccessible)
{
PRInt32 childCountUnused;
// Force CacheChildren()
aAccessible->GetChildCount(&childCountUnused);
}
NS_IMETHODIMP
nsDocAccessible::GetAccessibleInParentChain(nsIDOMNode *aNode,
PRBool aCanCreate,
@ -1972,17 +1961,14 @@ nsDocAccessible::GetAccessibleInParentChain(nsIDOMNode *aNode,
if (NS_SUCCEEDED(accService->GetRelevantContentNodeFor(currentNode, getter_AddRefs(relevantNode))) && relevantNode) {
currentNode = relevantNode;
}
// Try cached accessible
nsCOMPtr<nsIAccessNode> accessNode;
GetCachedAccessNode(currentNode, getter_AddRefs(accessNode)); // AddRefs
if (accessNode) {
CallQueryInterface(accessNode, aAccessible); // AddRefs
}
if (!*aAccessible && aCanCreate) {
if (aCanCreate) {
accService->GetAccessibleInWeakShell(currentNode, mWeakShell, aAccessible);
if (*aAccessible) {
// New accessible created -- to make sure to adopt the children from the old parent.
AdoptChildren(*aAccessible);
}
else { // Only return cached accessibles, don't create anything
nsCOMPtr<nsIAccessNode> accessNode;
GetCachedAccessNode(currentNode, getter_AddRefs(accessNode)); // AddRefs
if (accessNode) {
CallQueryInterface(accessNode, aAccessible); // AddRefs
}
}
} while (!*aAccessible);

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

@ -204,14 +204,6 @@ class nsDocAccessible : public nsHyperTextAccessibleWrap,
nsresult FireShowHideEvents(nsIDOMNode *aDOMNode, PRUint32 aEventType,
PRBool aDelay, PRBool aForceIsFromUserInput);
/**
* For a new accessible that is created because of a DOM mutation,
* make sure that any children it has, which were already children
* of the parent should be assigned to it
* @param aAccessible The new accessible
*/
void AdoptChildren(nsIAccessible *aAccessible);
nsAccessNodeHashtable mAccessNodeCache;
void *mWnd;
nsCOMPtr<nsIDocument> mDocument;