mshtml: Added IHTMLDocument4::hasFocus implementation.
authorJacek Caban <jacek@codeweavers.com>
Wed, 6 Jan 2016 14:05:42 +0000 (15:05 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 6 Jan 2016 17:08:36 +0000 (18:08 +0100)
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
dlls/mshtml/htmldoc.c

index cdeb3711611af6cf77e22b41e96205d672ed2a56..8e59e981df771ca81cc37c8a2b1247e8fc0893c9 100644 (file)
@@ -2549,8 +2549,21 @@ static HRESULT WINAPI HTMLDocument4_focus(IHTMLDocument4 *iface)
 static HRESULT WINAPI HTMLDocument4_hasFocus(IHTMLDocument4 *iface, VARIANT_BOOL *pfFocus)
 {
     HTMLDocument *This = impl_from_IHTMLDocument4(iface);
-    FIXME("(%p)->(%p)\n", This, pfFocus);
-    return E_NOTIMPL;
+    cpp_bool has_focus;
+    nsresult nsres;
+
+    TRACE("(%p)->(%p)\n", This, pfFocus);
+
+    if(!This->doc_node->nsdoc) {
+        FIXME("Unimplemented for fragments.\n");
+        return E_NOTIMPL;
+    }
+
+    nsres = nsIDOMHTMLDocument_HasFocus(This->doc_node->nsdoc, &has_focus);
+    assert(nsres == NS_OK);
+
+    *pfFocus = has_focus ? VARIANT_TRUE : VARIANT_FALSE;
+    return S_OK;
 }
 
 static HRESULT WINAPI HTMLDocument4_put_onselectionchange(IHTMLDocument4 *iface, VARIANT v)