Closed Bug 1209615 Opened 4 years ago Closed 4 years ago

make RootAccessible::RelationByType() work with e10s

Categories

(Core :: Disability Access APIs, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla44
Tracking Status
e10s + ---
firefox44 --- fixed

People

(Reporter: tbsaunde, Assigned: tbsaunde)

References

Details

Attachments

(5 files)

RootAccessible::RelationByType() returns the currently active tab's top level document accessible as the target of the embeds relation.  However with e10s that doesn't work because the top level tap document is remote and so there isn't a window / document for it.  We need to add a way to get the active TabParent, and then get the top level DocAccessibleParent for that, and return that as the target of the embeds relation.
Depends on: 1209621
Blocks: e10sa11y2
tracking-e10s: --- → +
We're going to need to use this in multiple places so it makes to add a function for it now
Attachment #8670434 - Flags: review?(bugs)
Comment on attachment 8670434 [details] [diff] [review]
add TabParent::GetTopLevelDocAccessible()

Wrong patch? I was not expecting to see CameraManager.cpp stuff.
Attachment #8670434 - Flags: review?(bugs)
Comment on attachment 8670437 [details] [diff] [review]
add RootAccessible::GetPrimaryRemoteTopLevelContentDoc()

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

::: accessible/generic/RootAccessible.cpp
@@ +724,5 @@
> +  mDocumentNode->GetDocShell()->GetTreeOwner(getter_AddRefs(owner));
> +  NS_ENSURE_TRUE(owner, nullptr);
> +
> +  nsCOMPtr<nsITabParent> tabParent;
> +    owner->GetPrimaryTabParent(getter_AddRefs(tabParent));

nit: too much indent.

::: accessible/generic/RootAccessible.h
@@ +44,5 @@
>  
> +  /**
> +   * Return the primary remote top level document if any.
> +   */
> +  ProxyAccessible* GetPrimaryRemoteTopLevelContentDoc() const;

Maybe this would be better as 'GetPrimaryRemoteTabTopLevelDocAccessible' but I'm not sure.
Attachment #8670437 - Flags: review?(dbolter) → review+
Comment on attachment 8670438 [details] [diff] [review]
make remote primary docs RELATION_EMBEDS targets for atk

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

::: accessible/atk/AccessibleWrap.cpp
@@ +988,5 @@
> +        aAcc->AsRoot()->GetPrimaryRemoteTopLevelContentDoc()) {
> +      targets.AppendElement(GetWrapperFor(proxyDoc));
> +    }
> +  }
> +

I guess we'll have an extraneous (useless?) relation for this embeds already created in RelationByType?
Attachment #8670438 - Flags: review?(dbolter) → review+
Comment on attachment 8670471 [details] [diff] [review]
add TabParent::GetTopLevelDocAccessible()

>+TabParent::GetTopLevelDocAccessible() const
>+{
>+  // XXX Consider managing non top level remote documents with there parent
>+  // document.
I don't understand what the comment is about and s/there/their/ I think.
But perhaps remove the whole comment.
Oh, is "document" in the comment about DocAccessibleParent. I have DOM view of the world, so 'document' means
DOM Document to me ;)
Attachment #8670471 - Flags: review?(bugs) → review+
Assignee: nobody → tbsaunde+mozbugs
Depends on: 1212880
You need to log in before you can comment on or make changes to this bug.