LibWeb: Make sure we don't fire "once" event listeners twice

Spec bug: https://github.com/whatwg/dom/issues/1323
This commit is contained in:
Andreas Kling 2024-11-17 11:30:19 +01:00 committed by Andreas Kling
commit 69c84d3f63
Notes: github-actions[bot] 2024-11-17 13:57:27 +00:00
2 changed files with 6 additions and 3 deletions

View file

@ -254,6 +254,10 @@ void EventTarget::remove_from_event_listener_list(DOMEventListener& listener)
if (!m_data)
return;
m_data->event_listener_list.remove_first_matching([&](auto& entry) { return entry.ptr() == &listener; });
// FIXME: Update this when the spec is updated.
// Spec bug: https://github.com/whatwg/dom/issues/1323
listener.removed = true;
}
// https://dom.spec.whatwg.org/#dom-eventtarget-dispatchevent