From b86825acf72e1dc8ee4df9901ba531c8bae031d4 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Thu, 17 May 2018 16:22:18 +0200 Subject: [PATCH] mshtml: Implement supported IHTMLWindow7 event properties. Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- 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 9206a328edf..e198ed1fea1 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)