Jacek Caban : mshtml: Added HTMLImgElement::onabort implementation.

Alexandre Julliard julliard at winehq.org
Wed Oct 17 14:32:28 CDT 2012


Module: wine
Branch: master
Commit: 5e0f624c418b9668b03f3ee70a43e289aef91c59
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=5e0f624c418b9668b03f3ee70a43e289aef91c59

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Oct 17 12:18:30 2012 +0200

mshtml: Added HTMLImgElement::onabort implementation.

---

 dlls/mshtml/htmlevent.c |    7 ++++++-
 dlls/mshtml/htmlevent.h |    1 +
 dlls/mshtml/htmlimg.c   |   12 ++++++++----
 3 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index 94a9e7e..b2dfa61 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -45,6 +45,9 @@ struct event_target_t {
     handler_vector_t *event_table[EVENTID_LAST];
 };
 
+static const WCHAR abortW[] = {'a','b','o','r','t',0};
+static const WCHAR onabortW[] = {'o','n','a','b','o','r','t',0};
+
 static const WCHAR beforeunloadW[] = {'b','e','f','o','r','e','u','n','l','o','a','d',0};
 static const WCHAR onbeforeunloadW[] = {'o','n','b','e','f','o','r','e','u','n','l','o','a','d',0};
 
@@ -160,6 +163,8 @@ typedef struct {
 #define EVENT_HASDEFAULTHANDLERS 0x0020
 
 static const event_info_t event_info[] = {
+    {abortW,             onabortW,             EVENTT_NONE,   DISPID_EVMETH_ONABORT,
+        EVENT_NODEHANDLER},
     {beforeunloadW,      onbeforeunloadW,      EVENTT_NONE,   DISPID_EVMETH_ONBEFOREUNLOAD,
         EVENT_DEFAULTLISTENER|EVENT_FORWARDBODY},
     {blurW,              onblurW,              EVENTT_HTML,   DISPID_EVMETH_ONBLUR,
@@ -216,7 +221,7 @@ static const event_info_t event_info[] = {
         EVENT_DEFAULTLISTENER|EVENT_BUBBLE|EVENT_CANCELABLE}
 };
 
-static const eventid_t node_handled_list[] = { EVENTID_ERROR, EVENTID_LOAD };
+static const eventid_t node_handled_list[] = { EVENTID_ABORT, EVENTID_ERROR, EVENTID_LOAD };
 
 eventid_t str_to_eid(LPCWSTR str)
 {
diff --git a/dlls/mshtml/htmlevent.h b/dlls/mshtml/htmlevent.h
index 174d2f7..8aa8ed1 100644
--- a/dlls/mshtml/htmlevent.h
+++ b/dlls/mshtml/htmlevent.h
@@ -17,6 +17,7 @@
  */
 
 typedef enum {
+    EVENTID_ABORT,
     EVENTID_BEFOREUNLOAD,
     EVENTID_BLUR,
     EVENTID_CHANGE,
diff --git a/dlls/mshtml/htmlimg.c b/dlls/mshtml/htmlimg.c
index bc6ec80..4ca02fc 100644
--- a/dlls/mshtml/htmlimg.c
+++ b/dlls/mshtml/htmlimg.c
@@ -429,15 +429,19 @@ static HRESULT WINAPI HTMLImgElement_get_onerror(IHTMLImgElement *iface, VARIANT
 static HRESULT WINAPI HTMLImgElement_put_onabort(IHTMLImgElement *iface, VARIANT v)
 {
     HTMLImgElement *This = impl_from_IHTMLImgElement(iface);
-    FIXME("(%p)->()\n", This);
-    return E_NOTIMPL;
+
+    TRACE("(%p)->()\n", This);
+
+    return set_node_event(&This->element.node, EVENTID_ABORT, &v);
 }
 
 static HRESULT WINAPI HTMLImgElement_get_onabort(IHTMLImgElement *iface, VARIANT *p)
 {
     HTMLImgElement *This = impl_from_IHTMLImgElement(iface);
-    FIXME("(%p)->(%p)\n", This, p);
-    return E_NOTIMPL;
+
+    TRACE("(%p)->(%p)\n", This, p);
+
+    return get_node_event(&This->element.node, EVENTID_ABORT, p);
 }
 
 static HRESULT WINAPI HTMLImgElement_put_name(IHTMLImgElement *iface, BSTR v)




More information about the wine-cvs mailing list