Jacek Caban (@jacek) commented about dlls/mshtml/tests/events.js:
+ calls += "cancelBubble["+i+"],"; + ok(e.cancelBubble === (e.cancelBubble_winetest ? true : false), "cancelBubble before setting cancelBubble = " + e.cancelBubble); + e.cancelBubble = true; + if(e.eventPhase < 2) + ok(e.cancelBubble === (e.cancelBubble_winetest ? true : false), "cancelBubble after setting cancelBubble during capture phase = " + e.cancelBubble); + else + ok(e.cancelBubble === true, "cancelBubble after setting cancelBubble during bubble phase = " + e.cancelBubble); + e.cancelBubble_winetest = e.cancelBubble; + ok(e.bubbles === true, "bubbles = " + e.bubbles); + ok(e.cancelable === true, "cancelable = " + e.cancelable); + ok(e.defaultPrevented === false, "defaultPrevented = " + e.defaultPrevented); + } + + var cancel_bubble = []; + for(var i = 0; i < 4; i++) + eval('cancel_bubble.push(function(e) { return cancel_bubble_impl('+i+', e); });'); Please don't use `eval`. You may as well just return a function from `cancel_bybble_impl` and just call it here.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/6096#note_76783