Jacek Caban : mshtml: Added semi-stub IHTMLElement2:: onreadystatechange implmementation.
Alexandre Julliard
julliard at winehq.org
Tue Sep 15 17:47:18 CDT 2009
Module: wine
Branch: master
Commit: ee5d678450d59fd77dc75bcbebea410503c3832c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ee5d678450d59fd77dc75bcbebea410503c3832c
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Sep 14 00:35:40 2009 +0200
mshtml: Added semi-stub IHTMLElement2::onreadystatechange implmementation.
---
dlls/mshtml/htmlelem2.c | 12 ++++++++----
dlls/mshtml/htmlevent.c | 38 +++++++++++++++++++++-----------------
dlls/mshtml/htmlevent.h | 1 +
3 files changed, 30 insertions(+), 21 deletions(-)
diff --git a/dlls/mshtml/htmlelem2.c b/dlls/mshtml/htmlelem2.c
index 1120c79..d403368 100644
--- a/dlls/mshtml/htmlelem2.c
+++ b/dlls/mshtml/htmlelem2.c
@@ -628,15 +628,19 @@ static HRESULT WINAPI HTMLElement2_get_readyState(IHTMLElement2 *iface, VARIANT
static HRESULT WINAPI HTMLElement2_put_onreadystatechange(IHTMLElement2 *iface, VARIANT v)
{
HTMLElement *This = HTMLELEM2_THIS(iface);
- FIXME("(%p)->()\n", This);
- return E_NOTIMPL;
+
+ FIXME("(%p)->(%s): semi-stub\n", This, debugstr_variant(&v));
+
+ return set_node_event(&This->node, EVENTID_READYSTATECHANGE, &v);
}
static HRESULT WINAPI HTMLElement2_get_onreadystatechange(IHTMLElement2 *iface, VARIANT *p)
{
HTMLElement *This = HTMLELEM2_THIS(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+
+ TRACE("(%p)->(%p)\n", This, p);
+
+ return get_node_event(&This->node, EVENTID_READYSTATECHANGE, p);
}
static HRESULT WINAPI HTMLElement2_put_onrowsdelete(IHTMLElement2 *iface, VARIANT v)
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index 59fa6ff..db9691c 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -90,6 +90,9 @@ static const WCHAR onmouseupW[] = {'o','n','m','o','u','s','e','u','p',0};
static const WCHAR pasteW[] = {'p','a','s','t','e',0};
static const WCHAR onpasteW[] = {'o','n','p','a','s','t','e',0};
+static const WCHAR readystatechangeW[] = {'r','e','a','d','y','s','t','a','t','e','c','h','a','n','g','e',0};
+static const WCHAR onreadystatechangeW[] = {'o','n','r','e','a','d','y','s','t','a','t','e','c','h','a','n','g','e',0};
+
static const WCHAR selectstartW[] = {'s','e','l','e','c','t','s','t','a','r','t',0};
static const WCHAR onselectstartW[] = {'o','n','s','e','l','e','c','t','s','t','a','r','t',0};
@@ -104,23 +107,24 @@ typedef struct {
#define EVENT_FORWARDBODY 0x0004
static const event_info_t event_info[] = {
- {beforeunloadW, onbeforeunloadW, EVENT_DEFAULTLISTENER|EVENT_FORWARDBODY},
- {blurW, onblurW, EVENT_DEFAULTLISTENER},
- {changeW, onchangeW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
- {clickW, onclickW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
- {dblclickW, ondblclickW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
- {dragW, ondragW, 0},
- {dragstartW, ondragstartW, 0},
- {focusW, onfocusW, EVENT_DEFAULTLISTENER},
- {keydownW, onkeydownW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
- {keyupW, onkeyupW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
- {loadW, onloadW, 0},
- {mousedownW, onmousedownW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
- {mouseoutW, onmouseoutW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
- {mouseoverW, onmouseoverW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
- {mouseupW, onmouseupW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
- {pasteW, onpasteW, 0},
- {selectstartW, onselectstartW, 0}
+ {beforeunloadW, onbeforeunloadW, EVENT_DEFAULTLISTENER|EVENT_FORWARDBODY},
+ {blurW, onblurW, EVENT_DEFAULTLISTENER},
+ {changeW, onchangeW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
+ {clickW, onclickW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
+ {dblclickW, ondblclickW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
+ {dragW, ondragW, 0},
+ {dragstartW, ondragstartW, 0},
+ {focusW, onfocusW, EVENT_DEFAULTLISTENER},
+ {keydownW, onkeydownW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
+ {keyupW, onkeyupW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
+ {loadW, onloadW, 0},
+ {mousedownW, onmousedownW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
+ {mouseoutW, onmouseoutW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
+ {mouseoverW, onmouseoverW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
+ {mouseupW, onmouseupW, EVENT_DEFAULTLISTENER|EVENT_BUBBLE},
+ {pasteW, onpasteW, 0},
+ {readystatechangeW, onreadystatechangeW, 0},
+ {selectstartW, onselectstartW, 0}
};
eventid_t str_to_eid(LPCWSTR str)
diff --git a/dlls/mshtml/htmlevent.h b/dlls/mshtml/htmlevent.h
index c2f541d..03785c1 100644
--- a/dlls/mshtml/htmlevent.h
+++ b/dlls/mshtml/htmlevent.h
@@ -33,6 +33,7 @@ typedef enum {
EVENTID_MOUSEOVER,
EVENTID_MOUSEUP,
EVENTID_PASTE,
+ EVENTID_READYSTATECHANGE,
EVENTID_SELECTSTART,
EVENTID_LAST
} eventid_t;
More information about the wine-cvs
mailing list