зеркало из https://github.com/mozilla/gecko-dev.git
Backing out bug 398021, it caused regression bug 404343.
This commit is contained in:
Родитель
07a23b28d5
Коммит
e1ee2b7b2e
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче