Jacek Caban : mshtml: Implement supported IHTMLWindow7 event properties.

Alexandre Julliard julliard at winehq.org
Thu May 17 19:10:58 CDT 2018


Module: wine
Branch: master
Commit: b86825acf72e1dc8ee4df9901ba531c8bae031d4
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=b86825acf72e1dc8ee4df9901ba531c8bae031d4

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu May 17 16:22:18 2018 +0200

mshtml: Implement supported IHTMLWindow7 event properties.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mshtml/htmlwindow.c | 50 +++++++++++++++++++++++++++++++-----------------
 1 file changed, 32 insertions(+), 18 deletions(-)

diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c
index 9206a32..e198ed1 100644
--- a/dlls/mshtml/htmlwindow.c
+++ b/dlls/mshtml/htmlwindow.c
@@ -2383,7 +2383,21 @@ static HRESULT WINAPI HTMLWindow7_get_outerHeight(IHTMLWindow7 *iface, LONG *p)
     return E_NOTIMPL;
 }
 
-#define HTMLWINDOW7_ONEVENT_PROPERTY_STUB(name) \
+#define HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(name, event_id) \
+    static HRESULT WINAPI HTMLWindow7_put_on##name(IHTMLWindow7 *iface, VARIANT v) \
+    { \
+        HTMLWindow *This = impl_from_IHTMLWindow7(iface); \
+        TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); \
+        return set_window_event(This, event_id, &v); \
+    } \
+    static HRESULT WINAPI HTMLWindow7_get_on##name(IHTMLWindow7 *iface, VARIANT *p) \
+    { \
+        HTMLWindow *This = impl_from_IHTMLWindow7(iface); \
+        TRACE("(%p)->(%p)\n", This, p); \
+        return get_window_event(This, event_id, p); \
+    }
+
+#define HTMLWINDOW7_ONEVENT_PROPERTY_STUB(name)                         \
     static HRESULT WINAPI HTMLWindow7_put_on##name(IHTMLWindow7 *iface, VARIANT v) \
     { \
         HTMLWindow *This = impl_from_IHTMLWindow7(iface); \
@@ -2397,52 +2411,52 @@ static HRESULT WINAPI HTMLWindow7_get_outerHeight(IHTMLWindow7 *iface, LONG *p)
         return E_NOTIMPL; \
     }
 
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(abort)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(abort,            EVENTID_ABORT)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(canplay)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(canplaythrough)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(change)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(click)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(contextmenu)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(dblclick)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(drag)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(contextmenu,      EVENTID_CONTEXTMENU)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(dblclick,         EVENTID_DBLCLICK)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(drag,             EVENTID_DRAG)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(dragend)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(dragenter)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(dragleave)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(dragover)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(dragstart)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(dragstart,        EVENTID_DRAGSTART)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(drop)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(durationchange)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(focusin)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(focusout)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(focusin,          EVENTID_FOCUSIN)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(focusout,         EVENTID_FOCUSOUT)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(input)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(emptied)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(ended)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(keydown)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(keypress)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(keydown,          EVENTID_KEYDOWN)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(keypress,         EVENTID_KEYPRESS)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(keyup)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(loadeddata)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(loadedmetadata)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(loadstart)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(mousedown)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(mousedown,        EVENTID_MOUSEDOWN)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(mouseenter)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(mouseleave)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(mousemove)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(mouseout)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(mouseover)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(mouseup)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(mousewheel)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(mousemove,        EVENTID_MOUSEMOVE)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(mouseout,         EVENTID_MOUSEOUT)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(mouseover,        EVENTID_MOUSEOVER)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(mouseup,          EVENTID_MOUSEUP)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(mousewheel,       EVENTID_MOUSEWHEEL)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(offline)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(online)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(progress)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(ratechange)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(readystatechange)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(readystatechange, EVENTID_READYSTATECHANGE)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(reset)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(seeked)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(seeking)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(select)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(stalled)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(storage)
-HTMLWINDOW7_ONEVENT_PROPERTY_STUB(submit)
+HTMLWINDOW7_ONEVENT_PROPERTY_IMPL(submit,           EVENTID_SUBMIT)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(suspend)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(timeupdate)
 HTMLWINDOW7_ONEVENT_PROPERTY_STUB(pause)




More information about the wine-cvs mailing list