mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 23:35:34 +00:00
Bug 1514197 - finish emitting events before clearing; r=jdescottes
Depends on D14547 Differential Revision: https://phabricator.services.mozilla.com/D14552 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
1cd5e24aeb
commit
7c5e1183dd
@ -167,15 +167,15 @@ class EventEmitter {
|
||||
// in emit.
|
||||
const listenersForType = new Set(target[eventListeners].get(type));
|
||||
|
||||
const events = target[eventListeners];
|
||||
const listeners = events.get(type);
|
||||
|
||||
for (const listener of listenersForType) {
|
||||
// If the object was destroyed during event emission, stop emitting.
|
||||
if (!(eventListeners in target)) {
|
||||
break;
|
||||
}
|
||||
|
||||
const events = target[eventListeners];
|
||||
const listeners = events.get(type);
|
||||
|
||||
// If listeners were removed during emission, make sure the
|
||||
// event handler we're going to fire wasn't removed.
|
||||
if (listeners && listeners.has(listener)) {
|
||||
|
Loading…
Reference in New Issue
Block a user