diff --git a/dlls/mshtml/htmlelem2.c b/dlls/mshtml/htmlelem2.c index 4430703a14a..6ef30981c87 100644 --- a/dlls/mshtml/htmlelem2.c +++ b/dlls/mshtml/htmlelem2.c @@ -397,8 +397,20 @@ static HRESULT WINAPI HTMLElement2_get_tabIndex(IHTMLElement2 *iface, short *p) static HRESULT WINAPI HTMLElement2_focus(IHTMLElement2 *iface) { HTMLElement *This = HTMLELEM2_THIS(iface); - FIXME("(%p)\n", This); - return E_NOTIMPL; + nsIDOMNSHTMLElement *nselem; + nsresult nsres; + + TRACE("(%p)\n", This); + + nsres = nsIDOMHTMLElement_QueryInterface(This->nselem, &IID_nsIDOMNSHTMLElement, (void**)&nselem); + if(NS_SUCCEEDED(nsres)) { + nsIDOMNSHTMLElement_focus(nselem); + nsIDOMNSHTMLElement_Release(nselem); + }else { + ERR("Could not get nsIDOMHTMLNSElement: %08x\n", nsres); + } + + return S_OK; } static HRESULT WINAPI HTMLElement2_put_accessKey(IHTMLElement2 *iface, BSTR v)