From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmlevent.c | 15 ++++++++------- dlls/mshtml/mshtml_private.h | 1 + dlls/mshtml/tests/documentmode.js | 2 ++ 3 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c index 86886f2ccc5..222a3cca9b5 100644 --- a/dlls/mshtml/htmlevent.c +++ b/dlls/mshtml/htmlevent.c @@ -3740,17 +3740,18 @@ static const dispex_static_data_vtbl_t DOMStorageEvent_dispex_vtbl = { .unlink = DOMEvent_unlink };
-static const tid_t DOMStorageEvent_iface_tids[] = { +static const tid_t StorageEvent_iface_tids[] = { IDOMEvent_tid, IDOMStorageEvent_tid, 0 };
-static dispex_static_data_t DOMStorageEvent_dispex = { - "StorageEvent", - &DOMStorageEvent_dispex_vtbl, - DispDOMStorageEvent_tid, - DOMStorageEvent_iface_tids +dispex_static_data_t StorageEvent_dispex = { + .id = PROT_StorageEvent, + .prototype_id = PROT_Event, + .vtbl = &DOMStorageEvent_dispex_vtbl, + .disp_tid = DispDOMStorageEvent_tid, + .iface_tids = StorageEvent_iface_tids, };
static void *event_ctor(unsigned size, dispex_static_data_t *dispex_data, nsIDOMEvent *nsevent, eventid_t event_id, @@ -3870,7 +3871,7 @@ static DOMEvent *message_event_ctor(void *iface, nsIDOMEvent *nsevent, eventid_t static DOMEvent *storage_event_ctor(void *iface, nsIDOMEvent *nsevent, eventid_t event_id, HTMLInnerWindow *script_global, compat_mode_t compat_mode) { - DOMStorageEvent *storage_event = event_ctor(sizeof(DOMStorageEvent), &DOMStorageEvent_dispex, nsevent, event_id, script_global, + DOMStorageEvent *storage_event = event_ctor(sizeof(DOMStorageEvent), &StorageEvent_dispex, nsevent, event_id, script_global, compat_mode); if(!storage_event) return NULL; storage_event->IDOMStorageEvent_iface.lpVtbl = &DOMStorageEventVtbl; diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 069ccfc4813..b98671188be 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -467,6 +467,7 @@ typedef struct { X(SVGTextContentElement) \ X(SVGTextPositioningElement) \ X(Storage) \ + X(StorageEvent) \ X(StyleSheet) \ X(StyleSheetList) \ X(Text) \ diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 0129e41bcbd..18749938658 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3261,4 +3261,6 @@ sync_test("prototypes", function() { check(document.createEvent("ProgressEvent"), ProgressEvent.prototype, "progress event"); check(ProgressEvent.prototype, Event.prototype, "progress event prototype"); } + check(document.createEvent("StorageEvent"), StorageEvent.prototype, "storage event"); + check(StorageEvent.prototype, Event.prototype, "storage event prototype"); });