mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-14 05:45:37 +00:00
Bug 982322 - Part 4: Save paths on each node. r=ochameau
This commit is contained in:
parent
bc3850bb0c
commit
501fd20bf9
@ -142,13 +142,15 @@ Template.prototype = {
|
||||
},
|
||||
|
||||
_unregisterNodes: function(nodes) {
|
||||
for (let [registeredPath, set] of this._nodeListeners) {
|
||||
for (let e of nodes) {
|
||||
for (let e of nodes) {
|
||||
for (let registeredPath of e.registeredPaths) {
|
||||
let set = this._nodeListeners.get(registeredPath);
|
||||
set.delete(e);
|
||||
if (set.size === 0) {
|
||||
this._nodeListeners.delete(registeredPath);
|
||||
}
|
||||
}
|
||||
if (set.size == 0) {
|
||||
this._nodeListeners.delete(registeredPath);
|
||||
}
|
||||
e.registeredPaths = null;
|
||||
}
|
||||
},
|
||||
|
||||
@ -240,6 +242,8 @@ Template.prototype = {
|
||||
this._registerNode(path, e);
|
||||
}
|
||||
}
|
||||
// Store all the paths on the node, to speed up unregistering later
|
||||
e.registeredPaths = paths;
|
||||
} catch(exception) {
|
||||
console.error("Invalid template: " + e.outerHTML + " (" + exception + ")");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user