зеркало из https://github.com/mozilla/gecko-dev.git
Bug 723427 - dexpcom GetUnignoredChildren(), r=tbsaunde, f=surkov
This commit is contained in:
Родитель
064b2240a5
Коммит
91ee28a3e2
|
@ -403,17 +403,15 @@ GetNativeFromGeckoAccessible(nsIAccessible *anAccessible)
|
|||
return mChildren;
|
||||
|
||||
mChildren = [[NSMutableArray alloc] init];
|
||||
|
||||
|
||||
// get the array of children.
|
||||
nsTArray<nsRefPtr<nsAccessibleWrap> > childrenArray;
|
||||
mGeckoAccessible->GetUnignoredChildren(childrenArray);
|
||||
|
||||
nsAutoTArray<nsAccessible*, 10> childrenArray;
|
||||
mGeckoAccessible->GetUnignoredChildren(&childrenArray);
|
||||
|
||||
// now iterate through the children array, and get each native accessible.
|
||||
int totalCount = childrenArray.Length();
|
||||
int index = 0;
|
||||
|
||||
for (; index < totalCount; index++) {
|
||||
nsAccessibleWrap *curAccessible = childrenArray.ElementAt(index);
|
||||
PRUint32 totalCount = childrenArray.Length();
|
||||
for (PRUint32 idx = 0; idx < totalCount; idx++) {
|
||||
nsAccessible* curAccessible = childrenArray.ElementAt(idx);
|
||||
if (curAccessible) {
|
||||
mozAccessible *curNative = GetNativeFromGeckoAccessible(curAccessible);
|
||||
if (curNative)
|
||||
|
|
|
@ -99,7 +99,7 @@ public: // construction, destruction
|
|||
* Returns this accessible's all children, adhering to "flat" accessibles by
|
||||
* not returning their children.
|
||||
*/
|
||||
void GetUnignoredChildren(nsTArray<nsRefPtr<nsAccessibleWrap> >& aChildrenArray);
|
||||
void GetUnignoredChildren(nsTArray<nsAccessible*>* aChildrenArray);
|
||||
nsAccessible* GetUnignoredParent() const;
|
||||
|
||||
protected:
|
||||
|
|
|
@ -261,7 +261,7 @@ nsAccessibleWrap::IsIgnored()
|
|||
}
|
||||
|
||||
void
|
||||
nsAccessibleWrap::GetUnignoredChildren(nsTArray<nsRefPtr<nsAccessibleWrap> > &aChildrenArray)
|
||||
nsAccessibleWrap::GetUnignoredChildren(nsTArray<nsAccessible*>* aChildrenArray)
|
||||
{
|
||||
// we're flat; there are no children.
|
||||
if (nsAccUtils::MustPrune(this))
|
||||
|
@ -272,19 +272,13 @@ nsAccessibleWrap::GetUnignoredChildren(nsTArray<nsRefPtr<nsAccessibleWrap> > &aC
|
|||
nsAccessibleWrap *childAcc =
|
||||
static_cast<nsAccessibleWrap*>(GetChildAt(childIdx));
|
||||
|
||||
// If element is ignored, then add its children as substitutes.
|
||||
if (childAcc->IsIgnored()) {
|
||||
// element is ignored, so try adding its children as substitutes, if it has any.
|
||||
if (!nsAccUtils::MustPrune(childAcc)) {
|
||||
nsTArray<nsRefPtr<nsAccessibleWrap> > children;
|
||||
childAcc->GetUnignoredChildren(children);
|
||||
if (!children.IsEmpty()) {
|
||||
// add the found unignored descendants to the array.
|
||||
aChildrenArray.AppendElements(children);
|
||||
}
|
||||
}
|
||||
} else
|
||||
// simply add the element, since it's not ignored.
|
||||
aChildrenArray.AppendElement(childAcc);
|
||||
childAcc->GetUnignoredChildren(aChildrenArray);
|
||||
continue;
|
||||
}
|
||||
|
||||
aChildrenArray->AppendElement(childAcc);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче