static HRESULT WINAPI HTMLElement2_get_tabIndex(IHTMLElement2 *iface, short *p) { HTMLElement *This = HTMLELEM2_THIS(iface); nsIDOMNSHTMLElement *nselem; PRInt32 index = 0; nsresult nsres; TRACE("(%p)->(%p)\n", This, p); nsres = nsIDOMHTMLElement_QueryInterface(This->nselem, &IID_nsIDOMNSHTMLElement, (void**)&nselem); if(NS_FAILED(nsres)) { ERR("Could not get nsIDOMHTMLNSElement: %08x\n", nsres); return E_FAIL; } nsres = nsIDOMNSHTMLElement_GetTabIndex(nselem, &index); nsIDOMNSHTMLElement_Release(nselem); if(NS_FAILED(nsres)) { ERR("GetTabIndex failed: %08x\n", nsres); return E_FAIL; } *p = index; return S_OK; }
static HRESULT WINAPI HTMLElement2_get_scrollLeft(IHTMLElement2 *iface, LONG *p) { HTMLElement *This = HTMLELEM2_THIS(iface); nsIDOMNSHTMLElement *nselem; PRInt32 left = 0; nsresult nsres; TRACE("(%p)->(%p)\n", This, p); if(!p) return E_INVALIDARG; if(!This->nselem) { FIXME("NULL nselem\n"); return E_NOTIMPL; } nsres = nsIDOMHTMLElement_QueryInterface(This->nselem, &IID_nsIDOMNSHTMLElement, (void**)&nselem); if(NS_SUCCEEDED(nsres)) { nsres = nsIDOMNSHTMLElement_GetScrollLeft(nselem, &left); nsIDOMNSHTMLElement_Release(nselem); if(NS_FAILED(nsres)) left = 0; } *p = left; TRACE("*p = %d\n", *p); return S_OK; }
static HRESULT WINAPI HTMLDocument4_focus(IHTMLDocument4 *iface) { HTMLDocument *This = HTMLDOC4_THIS(iface); nsIDOMNSHTMLElement *nselem; nsIDOMHTMLElement *nsbody; nsresult nsres; TRACE("(%p)->()\n", This); nsres = nsIDOMHTMLDocument_GetBody(This->doc_node->nsdoc, &nsbody); if(NS_FAILED(nsres) || !nsbody) { ERR("GetBody failed: %08x\n", nsres); return E_FAIL; } nsres = nsIDOMHTMLElement_QueryInterface(nsbody, &IID_nsIDOMNSHTMLElement, (void**)&nselem); nsIDOMHTMLElement_Release(nsbody); if(NS_FAILED(nsres)) { ERR("Could not get nsIDOMNSHTMLElement: %08x\n", nsres); return E_FAIL; } nsres = nsIDOMNSHTMLElement_Focus(nselem); nsIDOMNSHTMLElement_Release(nselem); if(NS_FAILED(nsres)) { ERR("Focus failed: %08x\n", nsres); return E_FAIL; } return S_OK; }
static HRESULT WINAPI HTMLElement2_focus(IHTMLElement2 *iface) { HTMLElement *This = HTMLELEM2_THIS(iface); 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_get_clientWidth(IHTMLElement2 *iface, LONG *p) { HTMLElement *This = HTMLELEM2_THIS(iface); nsIDOMNSHTMLElement *nselem; PRInt32 width=0; nsresult nsres; TRACE("(%p)->(%p)\n", This, p); nsres = nsIDOMHTMLElement_QueryInterface(This->nselem, &IID_nsIDOMNSHTMLElement, (void**)&nselem); if(NS_SUCCEEDED(nsres)) { nsIDOMNSHTMLElement_GetClientWidth(nselem, &width); nsIDOMNSHTMLElement_Release(nselem); }else { ERR("Could not get nsIDOMHTMLNSElement: %08x\n", nsres); } *p = width; return S_OK; }
static HRESULT WINAPI HTMLElement2_put_scrollLeft(IHTMLElement2 *iface, LONG v) { HTMLElement *This = HTMLELEM2_THIS(iface); nsIDOMNSHTMLElement *nselem; nsresult nsres; TRACE("(%p)->(%d)\n", This, v); if(!This->nselem) { FIXME("NULL nselem\n"); return E_NOTIMPL; } nsres = nsIDOMHTMLElement_QueryInterface(This->nselem, &IID_nsIDOMNSHTMLElement, (void**)&nselem); if(NS_SUCCEEDED(nsres)) { nsIDOMNSHTMLElement_SetScrollLeft(nselem, v); nsIDOMNSHTMLElement_Release(nselem); }else { ERR("Could not get nsIDOMNSHTMLElement interface: %08x\n", nsres); } return S_OK; }
static HRESULT WINAPI HTMLElement2_get_scrollTop(IHTMLElement2 *iface, LONG *p) { HTMLElement *This = HTMLELEM2_THIS(iface); nsIDOMNSHTMLElement *nselem; PRInt32 top = 0; nsresult nsres; TRACE("(%p)->(%p)\n", This, p); nsres = nsIDOMElement_QueryInterface(This->nselem, &IID_nsIDOMNSHTMLElement, (void**)&nselem); if(NS_SUCCEEDED(nsres)) { nsres = nsIDOMNSHTMLElement_GetScrollTop(nselem, &top); nsIDOMNSHTMLElement_Release(nselem); if(NS_FAILED(nsres)) ERR("GetScrollTop failed: %08x\n", nsres); }else { ERR("Could not get nsIDOMNSHTMLElement interface: %08x\n", nsres); } *p = top; TRACE("*p = %d\n", *p); return S_OK; }