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