gecko-dev/accessible
James Teh e7f4ed385b Bug 1570848: When an OuterDocAccessible is constructed, send it as the parent COM proxy for its remote document (if any). r=MarcoZ
Normally, the OuterDocAccessible is created first and the DocAccessibleParent for a remote document is created after that.
So, we get the OuterDocAccessible and call DocAccessibleParent::SendParentCOMProxy when the DocAccessibleParent is constructed (BrowserParent::RecvPDocAccessibleConstructor).
However, sometimes, the OuterDocAccessible is created *after* the DocAccessibleParent.
This sometimes happens for extension popups, for example.
In that case, we previously never sent the parent COM proxy.
Aside from leaving the remote document with a null parent, this also meant we never sent any events for the document, since events are buffered for remote documents until the parent COM proxy is received.
This effectively left the remote document (e.g. extension popup) inaccessible.

Now, we also call SendParentCOMProxy in the OuterDocAccessible constructor.
Note that this doesn't result in duplicates because if the OuterDocAccessible was created first, there won't be a DocAccessibleParent for the remote document yet, so this code won't run.

That said, if the OuterDocAccessible is recreated (e.g. due to frame reconstruction), we may call SendParentCOMProxy again.
This should be okay, but it required an assertion in DocAccessibleChild::RecvParentCOMProxy to be tweaked.

Differential Revision: https://phabricator.services.mozilla.com/D40358

--HG--
extra : moz-landing-system : lando
2019-08-02 04:24:54 +00:00
..
android Bug 1559414 - Rename unaudited pre-fission methods with SameProcess for future audit burndown. r=nika 2019-07-26 16:48:31 +00:00
aom Bug 1523969 part 1 - Move method definition inline comments to new line in accessible/. r=jamie 2019-02-25 16:02:26 -06:00
atk Bug 1446699 - Fix ATK mapping for EVENT_TEXT_SELECTION_CHANGED r=Jamie 2019-06-12 04:01:51 +00:00
base Bug 686400 - Filter content insertions in DocAccessible. r=Jamie 2019-08-01 16:19:15 +00:00
generic Bug 1570848: When an OuterDocAccessible is constructed, send it as the parent COM proxy for its remote document (if any). r=MarcoZ 2019-08-02 04:24:54 +00:00
html Bug 1568360 - Don't calculate the accessible names for table or grid rows unless they have an explicit ARIA role, r=Jamie 2019-07-26 09:14:55 +00:00
interfaces Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
ipc Bug 1570848: When an OuterDocAccessible is constructed, send it as the parent COM proxy for its remote document (if any). r=MarcoZ 2019-08-02 04:24:54 +00:00
jsat Bug 1568278. Remove various unnecessary QIs to nsIDOMWindow. r=Gijs 2019-07-24 01:26:07 +00:00
mac Bug 1543013 - part 2: Make accessible use mozilla::PresShell directly rather than via nsIPresShell r=Jamie 2019-04-13 12:13:15 +00:00
other Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
tests Bug 1568360 - Don't calculate the accessible names for table or grid rows unless they have an explicit ARIA role, r=Jamie 2019-07-26 09:14:55 +00:00
windows Bug 1569712: Block Conexant Flow instantiating a11y to prevent performance issues. r=MarcoZ 2019-08-01 05:07:31 +00:00
xpcom Bug 1559975 - Make directories python3 compatible r=catlee 2019-07-02 15:47:34 +00:00
xul Bug 1566299: Update XULListBoxAccessible now that autocomplete-richlistbox-popup is a Custom Element. r=surkov 2019-07-18 04:47:42 +00:00
moz.build