Jacek Caban (@jacek) commented about dlls/mshtml/htmlevent.c:
- if(thread_data->event_dispatch_depth == thread_data->blocking_event_dispatch_depth) {
struct queued_event *queued_event = malloc(sizeof(*queued_event));
if(!queued_event) {
ERR("no memory to queue event\n");
return E_OUTOFMEMORY;
}
queued_event->event = event;
queued_event->event_target = event_target;
IDOMEvent_AddRef(&event->IDOMEvent_iface);
IEventTarget_AddRef(&event_target->IEventTarget_iface);
list_add_tail(&thread_data->queued_events_list, &queued_event->entry);
return S_OK;
- }
Things like `preventDefault()` will not work for dispatches delayed like that. Can we somehow assume that those will be delayed by Gecko?