From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmlevent.c | 15 ++++++++------- dlls/mshtml/mshtml_private.h | 1 + dlls/mshtml/tests/documentmode.js | 4 ++++ 3 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c index bfd07c37a78..274dcb7e0dd 100644 --- a/dlls/mshtml/htmlevent.c +++ b/dlls/mshtml/htmlevent.c @@ -3666,12 +3666,13 @@ static const dispex_static_data_vtbl_t DOMPageTransitionEvent_dispex_vtbl = { .unlink = DOMEvent_unlink };
-static dispex_static_data_t DOMPageTransitionEvent_dispex = { - "PageTransitionEvent", - &DOMPageTransitionEvent_dispex_vtbl, - DispDOMEvent_tid, - Event_iface_tids, - DOMPageTransitionEvent_init_dispex_info +dispex_static_data_t PageTransitionEvent_dispex = { + .id = PROT_PageTransitionEvent, + .prototype_id = PROT_Event, + .vtbl = &DOMPageTransitionEvent_dispex_vtbl, + .disp_tid = DispDOMEvent_tid, + .iface_tids = Event_iface_tids, + .init_info = DOMPageTransitionEvent_init_dispex_info, };
static const dispex_static_data_vtbl_t DOMCustomEvent_dispex_vtbl = { @@ -3828,7 +3829,7 @@ static DOMEvent *keyboard_event_ctor(void *iface, nsIDOMEvent *nsevent, eventid_ static DOMEvent *page_transition_event_ctor(void *iface, nsIDOMEvent *nsevent, eventid_t event_id, HTMLInnerWindow *script_global, compat_mode_t compat_mode) { - DOMPageTransitionEvent *page_transition_event = event_ctor(sizeof(DOMCustomEvent), &DOMPageTransitionEvent_dispex, nsevent, event_id, + DOMPageTransitionEvent *page_transition_event = event_ctor(sizeof(DOMCustomEvent), &PageTransitionEvent_dispex, nsevent, event_id, script_global, compat_mode); if(!page_transition_event) return NULL; page_transition_event->IWinePageTransitionEvent_iface.lpVtbl = &DOMPageTransitionEventVtbl; diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index fb3c08e0b07..34d8e3736a8 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -456,6 +456,7 @@ typedef struct { X(MutationObserver) \ X(Navigator) \ X(Node) \ + X(PageTransitionEvent) \ X(SVGCircleElement) \ X(SVGElement) \ X(SVGSVGElement) \ diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index b648bf82b5f..fcaab3d53a0 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3249,4 +3249,8 @@ sync_test("prototypes", function() { check(MouseEvent.prototype, UIEvent.prototype, "mouse event prototype"); check(document.createEvent("KeyboardEvent"), KeyboardEvent.prototype, "keyboard event"); check(KeyboardEvent.prototype, UIEvent.prototype, "keyboard event prototype"); + if(v >= 11) { + check(document.createEvent("PageTransitionEvent"), PageTransitionEvent.prototype, "page transition event"); + check(PageTransitionEvent.prototype, Event.prototype, "page transition event prototype"); + } });