Join GitHub today
gecko_ia2 vbuf backend: Support IAccessibleHypertext2 to improve performance for Firefox multi-process. #7719
Link to issue number:
Summary of the issue:
With Firefox multi-process, rendering a virtual buffer for browse mode now makes cross-process calls, since the content document accessibility tree is now in another process. This has a substantial impact on performance. The more cross-process calls we can reduce, the better. This PR introduces a change which fetches all embedded children at once, rather than fetching each in a separate call.
Description of how this pull request fixes the issue:
IAccessibleHypertext2::hyperlinks allows all embedded objects to be retrieved at once, rather than retrieving them one at a time.
This improves performance for cross-process renders, which is the case for Firefox multi-process.
confirmed that the World War I Wikipedia article renders as expected in:
Using IAHypertext2 seems to shave up to a second off the render time for the World War I article, though it's difficult to provide concrete numbers because the time seems to be a little variable.
Known issues with pull request:
Change log entry:
In Bug Fixes: