зеркало из https://github.com/mozilla/gecko-dev.git
a832fc180d
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 |
||
---|---|---|
.. | ||
other | ||
win | ||
DocAccessibleChildBase.cpp | ||
DocAccessibleChildBase.h | ||
DocAccessibleParent.cpp | ||
DocAccessibleParent.h | ||
IPCTypes.h | ||
ProxyAccessibleBase.cpp | ||
ProxyAccessibleBase.h | ||
ProxyAccessibleShared.h | ||
moz.build |