Jacek Caban : mshtml: Added IHTMLDocument4::focus implementation.
Alexandre Julliard
julliard at winehq.org
Tue Oct 14 08:29:33 CDT 2008
Module: wine
Branch: master
Commit: a0ba631d86a97e6f900c25282701276cdc1b799e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a0ba631d86a97e6f900c25282701276cdc1b799e
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Oct 13 14:49:37 2008 -0500
mshtml: Added IHTMLDocument4::focus implementation.
---
dlls/mshtml/htmldoc3.c | 29 +++++++++++++++++++++++++++--
1 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/htmldoc3.c b/dlls/mshtml/htmldoc3.c
index b0efb7c..533dedd 100644
--- a/dlls/mshtml/htmldoc3.c
+++ b/dlls/mshtml/htmldoc3.c
@@ -569,8 +569,33 @@ static HRESULT WINAPI HTMLDocument4_Invoke(IHTMLDocument4 *iface, DISPID dispIdM
static HRESULT WINAPI HTMLDocument4_focus(IHTMLDocument4 *iface)
{
HTMLDocument *This = HTMLDOC4_THIS(iface);
- FIXME("(%p)->()\n", This);
- return E_NOTIMPL;
+ nsIDOMNSHTMLElement *nselem;
+ nsIDOMHTMLElement *nsbody;
+ nsresult nsres;
+
+ TRACE("(%p)->()\n", This);
+
+ nsres = nsIDOMHTMLDocument_GetBody(This->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 HTMLDocument4_hasFocus(IHTMLDocument4 *iface, VARIANT_BOOL *pfFocus)
More information about the wine-cvs
mailing list