uiautomationcore: Implement IUIAutomationElement::get_CachedHasKeyboardFocus.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
This commit is contained in:
parent
15f098c34e
commit
118b74f82f
2 changed files with 21 additions and 8 deletions
|
@ -13597,22 +13597,22 @@ static void test_Element_cache_methods(IUIAutomation *uia_iface)
|
|||
|
||||
/* Cached UIA_HasKeyboardFocusPropertyId helper. */
|
||||
hr = IUIAutomationElement_get_CachedHasKeyboardFocus(element, NULL);
|
||||
todo_wine ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
|
||||
ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
|
||||
|
||||
tmp_bool = 0xdeadbeef;
|
||||
hr = IUIAutomationElement_get_CachedHasKeyboardFocus(element, &tmp_bool);
|
||||
todo_wine ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
|
||||
ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
|
||||
ok(tmp_bool == 0xdeadbeef, "Unexpected tmp_bool %d\n", tmp_bool);
|
||||
|
||||
tmp_bool = 0xdeadbeef;
|
||||
hr = IUIAutomationElement_get_CachedHasKeyboardFocus(element2, &tmp_bool);
|
||||
todo_wine ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
|
||||
todo_wine ok(!tmp_bool, "tmp_bool != FALSE\n");
|
||||
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
|
||||
ok(!tmp_bool, "tmp_bool != FALSE\n");
|
||||
|
||||
tmp_bool = FALSE;
|
||||
hr = IUIAutomationElement_get_CachedHasKeyboardFocus(element3, &tmp_bool);
|
||||
todo_wine ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
|
||||
todo_wine ok(!!tmp_bool, "tmp_bool == FALSE\n");
|
||||
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
|
||||
ok(!!tmp_bool, "tmp_bool == FALSE\n");
|
||||
|
||||
/* Cached UIA_IsKeyboardFocusablePropertyId helper. */
|
||||
hr = IUIAutomationElement_get_CachedIsKeyboardFocusable(element, NULL);
|
||||
|
|
|
@ -2442,8 +2442,21 @@ static HRESULT WINAPI uia_element_get_CachedAccessKey(IUIAutomationElement9 *ifa
|
|||
|
||||
static HRESULT WINAPI uia_element_get_CachedHasKeyboardFocus(IUIAutomationElement9 *iface, BOOL *ret_val)
|
||||
{
|
||||
FIXME("%p: stub\n", iface);
|
||||
return E_NOTIMPL;
|
||||
struct uia_element *element = impl_from_IUIAutomationElement9(iface);
|
||||
const int prop_id = UIA_HasKeyboardFocusPropertyId;
|
||||
struct uia_cache_property *cache_prop = NULL;
|
||||
|
||||
TRACE("%p, %p\n", iface, ret_val);
|
||||
|
||||
if (!ret_val)
|
||||
return E_POINTER;
|
||||
|
||||
if (!(cache_prop = bsearch(&prop_id, element->cached_props, element->cached_props_count, sizeof(*cache_prop),
|
||||
uia_cached_property_id_compare)))
|
||||
return E_INVALIDARG;
|
||||
|
||||
*ret_val = ((V_VT(&cache_prop->prop_val) == VT_BOOL) && (V_BOOL(&cache_prop->prop_val) == VARIANT_TRUE));
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI uia_element_get_CachedIsKeyboardFocusable(IUIAutomationElement9 *iface, BOOL *ret_val)
|
||||
|
|
Loading…
Add table
Reference in a new issue