This is the first pass at removing the MsUia::Control's dependence on a native window handle. Everything that was using Control#uia_element before is no longer doing so, and instead of hanging on to the IUIAutomationElement * (the uia_element) now the controls will send the @locators information into the UiaDll and let it decide how to find it.
The next step will be to completely remove the dependence on HWND values, allowing us to be able to work with anything that the accessibility framework sees (i.e. WPF apps, etc.).
Caveat
A couple of the specs run slower than they did before now (I believe the ones for ListBox and SelectList in particular). I plan on correcting this, as this is just the first phase.
Description
This is the first pass at removing the MsUia::Control's dependence on a native window handle. Everything that was using Control#uia_element before is no longer doing so, and instead of hanging on to the
IUIAutomationElement *
(theuia_element
) now the controls will send the@locators
information into theUiaDll
and let it decide how to find it.The next step will be to completely remove the dependence on
HWND
values, allowing us to be able to work with anything that the accessibility framework sees (i.e. WPF apps, etc.).Caveat
A couple of the specs run slower than they did before now (I believe the ones for
ListBox
andSelectList
in particular). I plan on correcting this, as this is just the first phase.