From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmlevent.c | 20 ++++++++------------ dlls/mshtml/mshtml_private.h | 1 + dlls/mshtml/tests/documentmode.js | 2 ++ 3 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c index 8839580cfd8..019da7b5ca4 100644 --- a/dlls/mshtml/htmlevent.c +++ b/dlls/mshtml/htmlevent.c @@ -3703,17 +3703,13 @@ static const dispex_static_data_vtbl_t DOMMessageEvent_dispex_vtbl = { .unlink = DOMMessageEvent_unlink };
-static const tid_t DOMMessageEvent_iface_tids[] = { - IDOMEvent_tid, - 0 -}; - -static dispex_static_data_t DOMMessageEvent_dispex = { - "MessageEvent", - &DOMMessageEvent_dispex_vtbl, - DispDOMMessageEvent_tid, - DOMMessageEvent_iface_tids, - DOMMessageEvent_init_dispex_info +dispex_static_data_t MessageEvent_dispex = { + .id = PROT_MessageEvent, + .prototype_id = PROT_Event, + .vtbl = &DOMMessageEvent_dispex_vtbl, + .disp_tid = DispDOMMessageEvent_tid, + .iface_tids = Event_iface_tids, + .init_info = DOMMessageEvent_init_dispex_info, };
static const dispex_static_data_vtbl_t DOMProgressEvent_dispex_vtbl = { @@ -3863,7 +3859,7 @@ static DOMEvent *progress_event_ctor(void *iface, nsIDOMEvent *nsevent, eventid_ static DOMEvent *message_event_ctor(void *iface, nsIDOMEvent *nsevent, eventid_t event_id, HTMLInnerWindow *script_global, compat_mode_t compat_mode) { - DOMMessageEvent *message_event = event_ctor(sizeof(DOMMessageEvent), &DOMMessageEvent_dispex, nsevent, event_id, script_global, + DOMMessageEvent *message_event = event_ctor(sizeof(DOMMessageEvent), &MessageEvent_dispex, nsevent, event_id, script_global, compat_mode); if(!message_event) return NULL; message_event->IDOMMessageEvent_iface.lpVtbl = &DOMMessageEventVtbl; diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 8cecd6162b8..c2a7f78e5dc 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -453,6 +453,7 @@ typedef struct { X(MSCurrentStyleCSSProperties) \ X(MSEventObj) \ X(MSStyleCSSProperties) \ + X(MessageEvent) \ X(MouseEvent) \ X(MutationObserver) \ X(Navigator) \ diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index d735f88778a..2a26d720185 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3255,4 +3255,6 @@ sync_test("prototypes", function() { } check(document.createEvent("CustomEvent"), CustomEvent.prototype, "custom event"); check(CustomEvent.prototype, Event.prototype, "custom event prototype"); + check(document.createEvent("MessageEvent"), MessageEvent.prototype, "message event"); + check(MessageEvent.prototype, Event.prototype, "message event prototype"); });