mshtml: Added IHTMLElement2::put_tabIndex implementation.

This commit is contained in:
Jacek Caban 2008-06-23 20:02:22 -05:00 committed by Alexandre Julliard
parent 807f5c7884
commit c8284724ab
2 changed files with 32 additions and 2 deletions

View File

@ -383,8 +383,23 @@ static HRESULT WINAPI HTMLElement2_removeExpression(IHTMLElement2 *iface, BSTR p
static HRESULT WINAPI HTMLElement2_put_tabIndex(IHTMLElement2 *iface, short v)
{
HTMLElement *This = HTMLELEM2_THIS(iface);
FIXME("(%p)->(%d)\n", This, v);
return E_NOTIMPL;
nsIDOMNSHTMLElement *nselem;
nsresult nsres;
TRACE("(%p)->(%d)\n", This, v);
nsres = nsIDOMHTMLElement_QueryInterface(This->nselem, &IID_nsIDOMNSHTMLElement, (void**)&nselem);
if(NS_FAILED(nsres)) {
ERR("Could not get nsIDOMHTMLNSElement: %08x\n", nsres);
return S_OK;
}
nsres = nsIDOMNSHTMLElement_SetTabIndex(nselem, v);
nsIDOMNSHTMLElement_Release(nselem);
if(NS_FAILED(nsres))
ERR("GetTabIndex failed: %08x\n", nsres);
return S_OK;
}
static HRESULT WINAPI HTMLElement2_get_tabIndex(IHTMLElement2 *iface, short *p)

View File

@ -965,6 +965,19 @@ static void _test_elem_tabindex(unsigned line, IUnknown *unk, short exindex)
ok_(__FILE__,line) (index == exindex, "unexpected index %d\n", index);
}
#define test_elem_set_tabindex(u,i) _test_elem_set_tabindex(__LINE__,u,i)
static void _test_elem_set_tabindex(unsigned line, IUnknown *unk, short index)
{
IHTMLElement2 *elem2 = _get_elem2_iface(line, unk);
HRESULT hres;
hres = IHTMLElement2_put_tabIndex(elem2, index);
IHTMLElement2_Release(elem2);
ok_(__FILE__,line) (hres == S_OK, "get_tabIndex failed: %08x\n", hres);
_test_elem_tabindex(line, unk, index);
}
#define test_elem_set_class(u,c) _test_elem_set_class(__LINE__,u,c)
static void _test_elem_set_class(unsigned line, IUnknown *unk, const char *class)
{
@ -1854,6 +1867,7 @@ static void test_elems(IHTMLDocument2 *doc)
test_elem_set_class((IUnknown*)elem, "cl");
test_elem_set_class((IUnknown*)elem, NULL);
test_elem_tabindex((IUnknown*)elem, 0);
test_elem_set_tabindex((IUnknown*)elem, 1);
IHTMLElement_Release(elem);
}
@ -1916,6 +1930,7 @@ static void test_elems(IHTMLDocument2 *doc)
test_input_value((IUnknown*)elem, NULL);
test_elem_class((IUnknown*)elem, "testclass");
test_elem_tabindex((IUnknown*)elem, 2);
test_elem_set_tabindex((IUnknown*)elem, 3);
IHTMLInputElement_Release(input);
IHTMLElement_Release(elem);