Closed Bug 1107337 Opened 5 years ago Closed 5 years ago

refChildCB needs to deal with proxies

Categories

(Core :: Disability Access APIs, defect)

x86_64
Linux
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla41
Tracking Status
firefox41 --- fixed

People

(Reporter: tbsaunde, Assigned: tbsaunde)

References

Details

Attachments

(5 files)

another case of adding an appropriate method to ProxyAccessible / PDocAccessible and calling it from refChildAtCB.  Cribbing from bugs like 1088477 should be straight forward.
Blocks: e10sa11y2
Attached patch wipSplinter Review
Attachment #8616661 - Flags: review?(lorien)
Attachment #8616661 - Flags: review?(dbolter)
OuterDocAccessibles can be the container for a remote top level document.  We
  sometimes need to get the child for these OuterDocAccessible's which means
  the child is a proxy while the original object was an actual Accessible.
  This means we need to add a different function instead of making ChildAt() do
  the right thing.
Attachment #8616663 - Flags: review?(lorien)
Attachment #8616663 - Flags: review?(dbolter)
Attachment #8616762 - Flags: review?(lorien)
Attachment #8616762 - Flags: review?(dbolter)
Attachment #8616763 - Flags: review?(lorien)
Attachment #8616763 - Flags: review?(dbolter)
Attachment #8616661 - Flags: review?(lorien)
Attachment #8616661 - Flags: review?(dbolter)
Attachment #8616661 - Flags: review+
Attachment #8616663 - Flags: review?(dbolter) → review+
Comment on attachment 8616663 [details] [diff] [review]
Add OuterDocAccessible::RemoteChildDoc()

Review of attachment 8616663 [details] [diff] [review]:
-----------------------------------------------------------------

::: accessible/generic/OuterDocAccessible.cpp
@@ +193,5 @@
> +    return nullptr;
> +
> +  const nsTArray<PDocAccessibleParent*>& docs = tab->ManagedPDocAccessibleParent();
> +  size_t docCount = docs.Length();
> +  for (size_t i = 0; i < docCount; i++) {

XXX Add comment: Manage non-top level PDocAccessibles with parent actor

::: accessible/generic/OuterDocAccessible.h
@@ +27,5 @@
>    OuterDocAccessible(nsIContent* aContent, DocAccessible* aDoc);
>  
>    NS_DECL_ISUPPORTS_INHERITED
>  
> +    ProxyAccessible* RemoteChildDoc() const;

nit: Remove two extra spaces from the start
Attachment #8616663 - Flags: review?(lorien)
Attachment #8616663 - Flags: review?(dbolter)
Attachment #8616663 - Flags: review+
Attachment #8616663 - Flags: review?(dbolter) → review?(lorien)
Attachment #8616663 - Flags: review?(lorien) → review+
Comment on attachment 8616762 [details] [diff] [review]
implement ProxyAccessible::EmbeddedChildAt

Review of attachment 8616762 [details] [diff] [review]:
-----------------------------------------------------------------

::: accessible/ipc/PDocAccessible.ipdl
@@ +217,5 @@
>  
>    prio(high) sync TakeFocus(uint64_t aID);
>    prio(high) sync IndexOfEmbeddedChild(uint64_t aID, uint64_t aChildID)
>      returns(uint32_t childIdx);
> +     prio(high) sync EmbeddedChildAt(uint64_t aID, uint32_t aChildIdx)

nit: leading whitespace
Attachment #8616762 - Flags: review?(lorien) → review+
Attachment #8616762 - Flags: review?(dbolter) → review+
Comment on attachment 8616763 [details] [diff] [review]
Teach refChildCB deal with proxies

Review of attachment 8616763 [details] [diff] [review]:
-----------------------------------------------------------------

::: accessible/atk/AccessibleWrap.cpp
@@ +863,1 @@
>  

Add else return nullptr here
Attachment #8616763 - Flags: review?(lorien) → review+
Attachment #8616763 - Flags: review?(dbolter) → review+
Assignee: nobody → tbsaunde+mozbugs
You need to log in before you can comment on or make changes to this bug.