From 881ba0627b4a13d56925301ab3777511e3bc7ed5 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Thu, 15 Feb 2018 17:05:13 +0100 Subject: [PATCH] mshtml: Added IDOMEvent::pageX and pageY properties implementation. Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- dlls/mshtml/htmlevent.c | 26 ++++++++++++++++++++++---- dlls/mshtml/tests/events.js | 3 +++ 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c index 094ae053416..413ca2d9e93 100644 --- a/dlls/mshtml/htmlevent.c +++ b/dlls/mshtml/htmlevent.c @@ -1573,15 +1573,33 @@ static HRESULT WINAPI DOMMouseEvent_get_offsetY(IDOMMouseEvent *iface, LONG *p) static HRESULT WINAPI DOMMouseEvent_get_pageX(IDOMMouseEvent *iface, LONG *p) { DOMEvent *This = impl_from_IDOMMouseEvent(iface); - FIXME("(%p)->(%p)\n", This, p); - return E_NOTIMPL; + INT32 r; + nsresult nsres; + + TRACE("(%p)->(%p)\n", This, p); + + nsres = nsIDOMMouseEvent_GetPageX(This->mouse_event, &r); + if(NS_FAILED(nsres)) + return E_FAIL; + + *p = r; + return S_OK; } static HRESULT WINAPI DOMMouseEvent_get_pageY(IDOMMouseEvent *iface, LONG *p) { DOMEvent *This = impl_from_IDOMMouseEvent(iface); - FIXME("(%p)->(%p)\n", This, p); - return E_NOTIMPL; + INT32 r; + nsresult nsres; + + TRACE("(%p)->(%p)\n", This, p); + + nsres = nsIDOMMouseEvent_GetPageY(This->mouse_event, &r); + if(NS_FAILED(nsres)) + return E_FAIL; + + *p = r; + return S_OK; } static HRESULT WINAPI DOMMouseEvent_get_layerX(IDOMMouseEvent *iface, LONG *p) diff --git a/dlls/mshtml/tests/events.js b/dlls/mshtml/tests/events.js index 9fe4895bf1d..c5030d0b50c 100644 --- a/dlls/mshtml/tests/events.js +++ b/dlls/mshtml/tests/events.js @@ -625,6 +625,9 @@ function test_mouse_event() { ok(e.shiftKey === false, "shiftKey = " + e.shiftKey); ok(e.metaKey === false, "metaKey = " + e.metaKey); ok(e.button === 0, "button = " + e.button); + ok(e.buttons === 0, "buttons = " + e.buttons); + ok(e.pageX === 0, "pageX = " + e.pageX); + ok(e.pageY === 0, "pageY = " + e.pageY); e.initMouseEvent("test", true, true, window, 1, 2, 3, 4, 5, false, false, false, false, 1, document); ok(e.type === "test", "type = " + e.type);