Bug 393141. Fix crash with display:none on HTML option. r=evan.yan, a=dsicore

git-svn-id: svn://10.0.0.236/trunk@236251 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
aaronleventhal%moonset.net 2007-09-18 21:51:10 +00:00
parent a3601d261f
commit 24ec196ade

View File

@ -394,6 +394,7 @@ nsHTMLSelectListAccessible::CacheOptSiblings(nsIAccessibilityService *aAccServic
PRUint32 numChildren = aParentContent->GetChildCount();
nsCOMPtr<nsIAccessible> lastGoodAccessible(aLastGoodAccessible);
nsCOMPtr<nsIAccessible> newAccessible;
for (PRUint32 count = 0; count < numChildren; count ++) {
nsIContent *childContent = aParentContent->GetChildAt(count);
@ -402,14 +403,19 @@ nsHTMLSelectListAccessible::CacheOptSiblings(nsIAccessibilityService *aAccServic
}
nsCOMPtr<nsIAtom> tag = childContent->Tag();
if (tag == nsAccessibilityAtoms::option || tag == nsAccessibilityAtoms::optgroup) {
lastGoodAccessible = AccessibleForOption(aAccService,
childContent,
lastGoodAccessible,
aChildCount);
newAccessible = AccessibleForOption(aAccService,
childContent,
lastGoodAccessible,
aChildCount);
if (newAccessible) {
lastGoodAccessible = newAccessible;
}
if (tag == nsAccessibilityAtoms::optgroup) {
lastGoodAccessible = CacheOptSiblings(aAccService, childContent,
lastGoodAccessible,
aChildCount);
newAccessible = CacheOptSiblings(aAccService, childContent,
lastGoodAccessible, aChildCount);
if (newAccessible) {
lastGoodAccessible = newAccessible;
}
}
}
}