nvda
71475bc8 - Support for out-of-process iframes in Firefox (#9672)

Commit
6 years ago
Support for out-of-process iframes in Firefox (#9672) * gecko_ia2 vbuf getNVDAObjectFromIdentifier: Use getNVDAObjectFromEvent instead of accChild on the document. This was changed to use accChild on the document in the theoretical hope that it might be slightly faster, since it doesn't need to go via the parent process. However, this was never proved to be a performance benefit in real terms. In Firefox, when an iframe document is rendered in a separate process to its embedder, the embedder has no knowledge of children in the embedded document and cannot communicate with the embedded document at all. This means that accChild for accessibles in the embedded document fails. The root accessible is in the parent process and can fetch children in all content documents, so using AccessibleObjectFromEvent works as expected. * gecko_ia2 vbuf __contains__: If accChild fails, try the embedder iframe(s). In Firefox, when an iframe document is rendered in a separate process to its embedder, accChild for accessibles in the embedded document fails. If this is the case, we can get the embedder iframe and try accChild with the iframe's id. There can be nested out-of-process iframes, so we keep trying this until there are no more embedders in the hierarchy (or until we hit the buffer's root id).
Author
Committer
Parents
Loading