gecko-dev/accessible
James Teh 43f890d3a4 Bug 1562208: Don't assume that a child DocAccessibleParent is for a different process to its parent because there is a BrowserBridgeParent. r=yzen
Previously, DocAccessibleParent::AddChildDoc used the presence of a BrowserBridgeParent to determine whether the child document was in a different process to the parent document.
While this is normally the case, there can be a point while the embedded document is loading where there is a temporary document in the same (embedder) process.
In this case, we tried to get the COM proxy for the child document.
For a child document in the same process, this isn't available yet, so this caused infinite recursion (stack overflow) in ProxyAccessible::GetCOMInterface.

Instead of using the presence of BrowserBridgeParent, first check whether the child document is at the top level of its content process.
If it isn't, the document is in the same process as its parent.

Also, add a DIAGNOSTIC_ASSERT to ProxyAccessible::GetCOMInterface which will fire if no COM proxy or MSAA child id has been set.
Previously, we just recursed infinitely and overflowed the stack in this case, which is painful to debug.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 00:56:56 +00:00
..
android Bug 1557793 part 2. Stop using [array] in nsIStringBundle. r=Pike 2019-06-11 15:51:51 +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 1563275 - make dynamically inserted slotted elements accessible r=Jamie 2019-07-05 12:28:51 +00:00
generic Bug 1562876: rename Selection::RemoveRange to Selection::RemoveRangeAndUnselectFramesAndNotifyListeners. r=smaug 2019-07-03 13:26:14 +02:00
html Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-05-25 17:46:15 +00:00
interfaces Bug 1552795 - Remove all trailing whitespaces in idl files r=Ehsan 2019-05-22 22:37:14 +00:00
ipc Bug 1562208: Don't assume that a child DocAccessibleParent is for a different process to its parent because there is a BrowserBridgeParent. r=yzen 2019-07-09 00:56:56 +00:00
jsat Bug 1561435 - Format accessible/, a=automatic-formatting 2019-07-05 09:45:34 +02: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 1563275 - make dynamically inserted slotted elements accessible: take new Prettier style into account. a=eslint-fix CLOSED TREE 2019-07-05 21:20:51 +02:00
windows Bug 1553706: Fix IAccessible::accChild in the parent process for out-of-process iframes. r=eeejay 2019-06-03 06:03:10 +00:00
xpcom Bug 1559975 - Make directories python3 compatible r=catlee 2019-07-02 15:47:34 +00:00
xul Bug 1555060 Convert <tabs> to a custom element 2019-06-20 14:09:37 -07:00
moz.build Bug 1479033 - Introduce Android accessibility directory. r=Jamie 2018-09-18 10:43:18 -07:00