Jacek Caban : mshtml: Added IHTMLElement2::blur implementation.
Alexandre Julliard
julliard at winehq.org
Tue Apr 10 13:52:34 CDT 2012
Module: wine
Branch: master
Commit: 77cdf22f8f58d0d60a44b24eb0b302bdd963d43a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=77cdf22f8f58d0d60a44b24eb0b302bdd963d43a
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Apr 10 12:53:24 2012 +0200
mshtml: Added IHTMLElement2::blur implementation.
---
dlls/mshtml/htmlelem2.c | 13 +++++++++++--
dlls/mshtml/tests/events.c | 23 +++++++++++++++++++++++
2 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/htmlelem2.c b/dlls/mshtml/htmlelem2.c
index 7deda19..2538b55 100644
--- a/dlls/mshtml/htmlelem2.c
+++ b/dlls/mshtml/htmlelem2.c
@@ -776,8 +776,17 @@ static HRESULT WINAPI HTMLElement2_get_onresize(IHTMLElement2 *iface, VARIANT *p
static HRESULT WINAPI HTMLElement2_blur(IHTMLElement2 *iface)
{
HTMLElement *This = impl_from_IHTMLElement2(iface);
- FIXME("(%p)\n", This);
- return E_NOTIMPL;
+ nsresult nsres;
+
+ TRACE("(%p)\n", This);
+
+ nsres = nsIDOMHTMLElement_Blur(This->nselem);
+ if(NS_FAILED(nsres)) {
+ ERR("Blur failed: %08x\n", nsres);
+ return E_FAIL;
+ }
+
+ return S_OK;
}
static HRESULT WINAPI HTMLElement2_addFilter(IHTMLElement2 *iface, IUnknown *pUnk)
diff --git a/dlls/mshtml/tests/events.c b/dlls/mshtml/tests/events.c
index 82f22f4..d1f4e9b 100644
--- a/dlls/mshtml/tests/events.c
+++ b/dlls/mshtml/tests/events.c
@@ -74,6 +74,7 @@ DEFINE_EXPECT(iframedoc_onreadystatechange);
DEFINE_EXPECT(img_onload);
DEFINE_EXPECT(img_onerror);
DEFINE_EXPECT(input_onfocus);
+DEFINE_EXPECT(input_onblur);
DEFINE_EXPECT(form_onsubmit);
DEFINE_EXPECT(form_onclick);
DEFINE_EXPECT(submit_onclick);
@@ -950,6 +951,17 @@ static HRESULT WINAPI input_onfocus(IDispatchEx *iface, DISPID id, LCID lcid, WO
EVENT_HANDLER_FUNC_OBJ(input_onfocus);
+static HRESULT WINAPI input_onblur(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp,
+ VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
+{
+ CHECK_EXPECT(input_onblur);
+ test_event_args(&DIID_DispHTMLInputElement, id, wFlags, pdp, pvarRes, pei, pspCaller);
+ test_event_src("INPUT");
+ return S_OK;
+}
+
+EVENT_HANDLER_FUNC_OBJ(input_onblur);
+
static HRESULT WINAPI form_onsubmit(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp,
VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
{
@@ -1768,6 +1780,17 @@ static void test_focus(IHTMLDocument2 *doc)
CHECK_CALLED(input_onfocus);
ok(hres == S_OK, "focus failed: %08x\n", hres);
+ V_VT(&v) = VT_DISPATCH;
+ V_DISPATCH(&v) = (IDispatch*)&input_onblur_obj;
+ hres = IHTMLElement2_put_onblur(elem2, v);
+ ok(hres == S_OK, "put_onblur failed: %08x\n", hres);
+
+ SET_EXPECT(input_onblur);
+ hres = IHTMLElement2_blur(elem2);
+ pump_msgs(NULL);
+ CHECK_CALLED(input_onblur);
+ ok(hres == S_OK, "blur failed: %08x\n", hres);
+
if(!winetest_interactive)
ShowWindow(container_hwnd, SW_HIDE);
More information about the wine-cvs
mailing list