gecko-dev/accessible/ipc
James Teh a832fc180d Bug 1558369: AccessibleHandler: Don't use HandlerChildEnumerator for iframes. r=yzen
When a client wants to fetch all accessible children, the COM handler uses handlerProvider::get_AllChildren in the content process to optimize cross-process retrieval of all children.
This works fine for iframes rendered in the same content process, just as it does for other accessibles.
However, for out-of-process iframes, HandlerProvider::get_AllChildren will fail.
This is because we only send down an IDispatch COM proxy for the embedded document, but get_AllChildren will try to QueryInterface this to IAccessible2 to reduce QI calls from the parent process.
Because the content process is sandboxed, it can't make the outgoing COM call to QI the proxy from IDispatch to IAccessible2 and so it fails.

Since an iframe only has one child anyway, we don't need the bulk fetch optimization offered by HandlerChildEnumerator or even IEnumVARIANT.
Therefore, we explicitly tell the client this interface is not supported, which will cause the oleacc AccessibleChildren function to fall back to accChild.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 15:08:21 +00:00
..
other Bug 1534395 - Rename TabParent to BrowserParent. r=nika 2019-04-09 16:38:15 -05:00
win Bug 1558369: AccessibleHandler: Don't use HandlerChildEnumerator for iframes. r=yzen 2019-06-12 15:08:21 +00:00
DocAccessibleChildBase.cpp Bug 1523969 part 1 - Move method definition inline comments to new line in accessible/. r=jamie 2019-02-25 16:02:26 -06:00
DocAccessibleChildBase.h Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
DocAccessibleParent.cpp Bug 1543313 part 3: For out-of-process iframes on Windows, send the embedder accessible COM proxy to be used as the parent of the embedded document. r=eeejay,yzen 2019-06-03 14:29:37 +00:00
DocAccessibleParent.h Bug 1543313 part 3: For out-of-process iframes on Windows, send the embedder accessible COM proxy to be used as the parent of the embedded document. r=eeejay,yzen 2019-06-03 14:29:37 +00:00
IPCTypes.h Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre 2019-01-18 10:16:18 +01:00
ProxyAccessibleBase.cpp Bug 1534395 - Rename TabParent to BrowserParent. r=nika 2019-04-09 16:38:15 -05:00
ProxyAccessibleBase.h Bug 1520611 - Consolidate ProxyAccessible::MustPruneChildren into nsAccUtils. r=Jamie 2019-01-24 00:23:30 +00:00
ProxyAccessibleShared.h Bug 1525980 - Make announcement events work over IPC. r=Jamie 2019-02-14 17:42:47 +00:00
moz.build Bug 1528651 - Re-enable warnings-as-errors on Windows in some directories. r=dmajor 2019-02-17 15:03:02 +09:00