New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove unneeded UI Automation client-side proxies #3800
Comments
Comment 1 by Michael Curran <mick@... on 2014-01-22 05:41
Changes:
|
Comment 3 by jteh on 2014-01-22 06:42
|
Comment 4 by jteh on 2014-01-22 09:51 |
Comment 5 by James Teh <jamie@... on 2014-01-23 07:34
|
Comment 6 by jteh on 2014-02-13 15:35 Looking at the provider description, the only difference is that the process id with our overridden proxy factory is NVDA's process id, whereas it is MSHTML's process id for the unmodified proxy factory. This suggests that the in-process part of the proxy doesn't get used when we override it, even though we're just forwarding CreateProvider to the original factory. Either I've missed something or the stock proxies do something internal that we can't emulate. Regardless, this will probably break anything which uses IAccessibleEx, etc. |
Comment 7 by jteh on 2014-04-02 04:56 |
Comment 8 by James Teh <jamie@... on 2014-04-02 04:56
|
Comment 9 by James Teh <jamie@... on 2014-04-02 04:56
|
Comment 10 by James Teh <jamie@... on 2014-04-18 08:30
|
Comment 11 by jteh on 2014-04-18 08:32 |
Reported by mdcurran on 2014-01-22 05:39
By default the UI Automation client library provides proxies that generate UI Automation elements and events for controls that do not support UI Automation from the remote side. As NVDA only uses UI Automation from windows that specifically state that they have a UI Automation implementation, it never uses these proxied elements or events. In fact they just waste resources while we filter them out.
Therefore, we should remove these proxies from NVDA's UI Automation client library instance.
However, we do need to keep the treeview proxy as we rely on that for SysTreeview32 in some specific situations.
For reference, the proxies that come by default include a bunch of non-control proxies (no doubt just to hide certain windows from UI Automation's control view), some richEdit and edit proxies, two listview proxies, a treeview proxy, and a general MSAA proxy. Excluding the treeview proxy, we do not need any of the others as we filter out UI Automation in those situations.
The text was updated successfully, but these errors were encountered: