Jacek Caban : mshtml: Expose IDOMCustomEvent to scripts.
Alexandre Julliard
julliard at winehq.org
Fri Jan 25 16:29:08 CST 2019
Module: wine
Branch: master
Commit: 7c2ec67d1eea4f5c4bcb71320c89eba940b4c42f
URL: https://source.winehq.org/git/wine.git/?a=commit;h=7c2ec67d1eea4f5c4bcb71320c89eba940b4c42f
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Jan 25 12:14:29 2019 +0100
mshtml: Expose IDOMCustomEvent to scripts.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mshtml/htmlevent.c | 13 +++++++++++++
dlls/mshtml/tests/events.js | 15 +++++++++++++++
2 files changed, 28 insertions(+)
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index 1403542..c0171c8 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -2211,6 +2211,18 @@ static dispex_static_data_t DOMKeyboardEvent_dispex = {
DOMKeyboardEvent_iface_tids
};
+static const tid_t DOMCustomEvent_iface_tids[] = {
+ IDOMEvent_tid,
+ IDOMCustomEvent_tid,
+ 0
+};
+
+static dispex_static_data_t DOMCustomEvent_dispex = {
+ NULL,
+ DispDOMCustomEvent_tid,
+ DOMCustomEvent_iface_tids
+};
+
static BOOL check_event_iface(nsIDOMEvent *event, REFIID riid)
{
nsISupports *iface;
@@ -2243,6 +2255,7 @@ static DOMEvent *alloc_event(nsIDOMEvent *nsevent, eventid_t event_id)
custom_event->event.query_interface = DOMCustomEvent_query_interface;
custom_event->event.destroy = DOMCustomEvent_destroy;
event = &custom_event->event;
+ dispex_data = &DOMCustomEvent_dispex;
}else if(!event) {
event = heap_alloc_zero(sizeof(*event));
if(!event)
diff --git a/dlls/mshtml/tests/events.js b/dlls/mshtml/tests/events.js
index dc9ce5a..46077b2 100644
--- a/dlls/mshtml/tests/events.js
+++ b/dlls/mshtml/tests/events.js
@@ -769,6 +769,20 @@ function test_keyboard_event() {
next_test();
}
+function test_custom_event() {
+ var e = document.createEvent("CustomEvent");
+
+ ok(e.detail === undefined, "detail = " + e.detail);
+
+ e.initCustomEvent("test", true, false, 123);
+ ok(e.type === "test", "type = " + e.type);
+ ok(e.bubbles === true, "bubbles = " + e.bubbles);
+ ok(e.cancelable === false, "cancelable = " + e.cancelable);
+ ok(e.detail === 123, "detail = " + e.detail);
+
+ next_test();
+}
+
function test_error_event() {
document.body.innerHTML = '<div><img></img></div>';
var div = document.body.firstChild;
@@ -822,6 +836,7 @@ var tests = [
test_ui_event,
test_mouse_event,
test_keyboard_event,
+ test_custom_event,
test_error_event,
test_detached_img_error_event,
test_time_stamp,
More information about the wine-cvs
mailing list