Jacek Caban : mshtml: Added IHTMLDocument2::onkeypress implementation.

Alexandre Julliard julliard at winehq.org
Tue Apr 10 13:52:34 CDT 2012


Module: wine
Branch: master
Commit: 1c277a26bbefb23c1d0cc38aea52c3bab2755515
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1c277a26bbefb23c1d0cc38aea52c3bab2755515

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Apr 10 12:53:12 2012 +0200

mshtml: Added IHTMLDocument2::onkeypress implementation.

---

 dlls/mshtml/htmldoc.c   |   12 ++++++++----
 dlls/mshtml/htmlevent.c |    5 +++++
 dlls/mshtml/htmlevent.h |    1 +
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index 1d483d4..a5b20bc 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -1103,15 +1103,19 @@ static HRESULT WINAPI HTMLDocument_get_onkeydown(IHTMLDocument2 *iface, VARIANT
 static HRESULT WINAPI HTMLDocument_put_onkeypress(IHTMLDocument2 *iface, VARIANT v)
 {
     HTMLDocument *This = impl_from_IHTMLDocument2(iface);
-    FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
-    return E_NOTIMPL;
+
+    TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
+
+    return set_doc_event(This, EVENTID_KEYPRESS, &v);
 }
 
 static HRESULT WINAPI HTMLDocument_get_onkeypress(IHTMLDocument2 *iface, VARIANT *p)
 {
     HTMLDocument *This = impl_from_IHTMLDocument2(iface);
-    FIXME("(%p)->(%p)\n", This, p);
-    return E_NOTIMPL;
+
+    TRACE("(%p)->(%p)\n", This, p);
+
+    return get_doc_event(This, EVENTID_KEYPRESS, p);
 }
 
 static HRESULT WINAPI HTMLDocument_put_onmouseup(IHTMLDocument2 *iface, VARIANT v)
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index 7454549..2d8dc83 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -77,6 +77,9 @@ static const WCHAR onfocusW[] = {'o','n','f','o','c','u','s',0};
 static const WCHAR keydownW[] = {'k','e','y','d','o','w','n',0};
 static const WCHAR onkeydownW[] = {'o','n','k','e','y','d','o','w','n',0};
 
+static const WCHAR keypressW[] = {'k','e','y','p','r','e','s','s',0};
+static const WCHAR onkeypressW[] = {'o','n','k','e','y','p','r','e','s','s',0};
+
 static const WCHAR keyupW[] = {'k','e','y','u','p',0};
 static const WCHAR onkeyupW[] = {'o','n','k','e','y','u','p',0};
 
@@ -169,6 +172,8 @@ static const event_info_t event_info[] = {
         EVENT_DEFAULTLISTENER},
     {keydownW,           onkeydownW,           EVENTT_KEY,    DISPID_EVMETH_ONKEYDOWN,
         EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
+    {keypressW,          onkeypressW,          EVENTT_KEY,    DISPID_EVMETH_ONKEYPRESS,
+        EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
     {keyupW,             onkeyupW,             EVENTT_KEY,    DISPID_EVMETH_ONKEYUP,
         EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
     {loadW,              onloadW,              EVENTT_HTML,   DISPID_EVMETH_ONLOAD,
diff --git a/dlls/mshtml/htmlevent.h b/dlls/mshtml/htmlevent.h
index 70056b3..ef39caf 100644
--- a/dlls/mshtml/htmlevent.h
+++ b/dlls/mshtml/htmlevent.h
@@ -28,6 +28,7 @@ typedef enum {
     EVENTID_ERROR,
     EVENTID_FOCUS,
     EVENTID_KEYDOWN,
+    EVENTID_KEYPRESS,
     EVENTID_KEYUP,
     EVENTID_LOAD,
     EVENTID_MOUSEDOWN,




More information about the wine-cvs mailing list