[tor-commits] [tor-browser] 19/37: Bug 1770848, r=jaws, mccr8 a=RyanVM
gitolite role
git at cupani.torproject.org
Wed Jun 22 18:27:28 UTC 2022
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.11.0esr-11.5-1
in repository tor-browser.
commit 86f3114eae37be0c904d8b6ffe4d5a9b0b261eb2
Author: Gijs Kruitbosch <gijskruitbosch at gmail.com>
AuthorDate: Wed May 25 17:02:00 2022 +0000
Bug 1770848, r=jaws,mccr8 a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D147116
---
.../contentprefs/ContentPrefService2.jsm | 53 ++++++++++------------
1 file changed, 25 insertions(+), 28 deletions(-)
diff --git a/toolkit/components/contentprefs/ContentPrefService2.jsm b/toolkit/components/contentprefs/ContentPrefService2.jsm
index 1c3536bd80d43..49206f6680f32 100644
--- a/toolkit/components/contentprefs/ContentPrefService2.jsm
+++ b/toolkit/components/contentprefs/ContentPrefService2.jsm
@@ -114,7 +114,7 @@ ContentPrefService2.prototype = {
// Destruction
- _destroy: function CPS2__destroy() {
+ _destroy() {
Services.obs.removeObserver(this, "profile-before-change");
Services.obs.removeObserver(this, "last-pb-context-exited");
@@ -972,41 +972,38 @@ ContentPrefService2.prototype = {
},
// A hash of arrays of observers, indexed by setting name.
- _observers: {},
+ _observers: new Map(),
// An array of generic observers, which observe all settings.
- _genericObservers: [],
+ _genericObservers: new Set(),
- addObserverForName: function CPS2_addObserverForName(aName, aObserver) {
- var observers;
+ addObserverForName(aName, aObserver) {
+ let observers;
if (aName) {
- if (!this._observers[aName]) {
- this._observers[aName] = [];
+ observers = this._observers.get(aName);
+ if (!observers) {
+ observers = new Set();
+ this._observers.set(aName, observers);
}
- observers = this._observers[aName];
} else {
observers = this._genericObservers;
}
- if (!observers.includes(aObserver)) {
- observers.push(aObserver);
- }
+ observers.add(aObserver);
},
- removeObserverForName: function CPS2_removeObserverForName(aName, aObserver) {
- var observers;
+ removeObserverForName(aName, aObserver) {
+ let observers;
if (aName) {
- if (!this._observers[aName]) {
+ observers = this._observers.get(aName);
+ if (!observers) {
return;
}
- observers = this._observers[aName];
} else {
observers = this._genericObservers;
}
- if (observers.includes(aObserver)) {
- observers.splice(observers.indexOf(aObserver), 1);
- }
+ observers.delete(aObserver);
},
/**
@@ -1016,15 +1013,15 @@ ContentPrefService2.prototype = {
* execute before observers that display multiple settings and depend on them
* being initialized first (like the content prefs sidebar).
*/
- _getObservers: function ContentPrefService__getObservers(aName) {
- var observers = [];
-
- if (aName && this._observers[aName]) {
- observers = observers.concat(this._observers[aName]);
+ _getObservers(aName) {
+ let genericObserverList = Array.from(this._genericObservers);
+ if (aName) {
+ let observersForName = this._observers.get(aName);
+ if (observersForName) {
+ return Array.from(observersForName).concat(genericObserverList);
+ }
}
- observers = observers.concat(this._genericObservers);
-
- return observers;
+ return genericObserverList;
},
/**
@@ -1101,8 +1098,8 @@ ContentPrefService2.prototype = {
this._pbStore.removeAll();
this._cache.removeAll();
- this._observers = {};
- this._genericObservers = [];
+ this._observers = new Map();
+ this._genericObservers = new Set();
let tables = ["prefs", "groups", "settings"];
let stmts = tables.map(t => this._stmt(`DELETE FROM ${t}`));
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the tor-commits
mailing list