Index: lib/prefs.js |
=================================================================== |
--- a/lib/prefs.js |
+++ b/lib/prefs.js |
@@ -10,16 +10,18 @@ |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
* GNU General Public License for more details. |
* |
* You should have received a copy of the GNU General Public License |
* along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
*/ |
+"use strict"; |
+ |
// |
// The values are hardcoded for now. |
// |
let defaults = { |
__proto__: null, |
enabled: true, |
patternsbackups: 5, |
@@ -42,51 +44,52 @@ |
notificationurl: "https://notification.adblockplus.org/notification.json", |
suppress_first_run_page: false, |
disable_auto_updates: false, |
first_run_subscription_auto_select: true, |
notifications_ignoredcategories: [], |
allowed_connection_type: "" |
}; |
-let preconfigurable = ["suppress_first_run_page", "disable_auto_updates", |
+let preconfigurable = [ |
+ "suppress_first_run_page", "disable_auto_updates", |
"first_run_subscription_auto_select", "allowed_connection_type"]; |
let values; |
let prefsFileName = "prefs.json"; |
let listeners = []; |
let isDirty = false; |
let isSaving = false; |
function defineProperty(key) |
{ |
Object.defineProperty(Prefs, key, |
- { |
- get: () => values[key], |
- set: function(value) |
{ |
- if (typeof value != typeof defaults[key]) |
- throw new Error("Attempt to change preference type"); |
+ get: () => values[key], |
+ set(value) |
+ { |
+ if (typeof value != typeof defaults[key]) |
+ throw new Error("Attempt to change preference type"); |
- if (value == defaults[key]) |
- delete values[key]; |
- else |
- values[key] = value; |
- save(); |
+ if (value == defaults[key]) |
+ delete values[key]; |
+ else |
+ values[key] = value; |
+ save(); |
- for (let listener of listeners) |
- listener(key); |
- }, |
- enumerable: true |
- }); |
+ for (let listener of listeners) |
+ listener(key); |
+ }, |
+ enumerable: true |
+ }); |
} |
function load() |
{ |
- _fileSystem.read(prefsFileName, function (result) |
+ _fileSystem.read(prefsFileName, result => |
{ |
// prefs.json is expected to be missing, ignore errors reading file |
if (!result.error) |
{ |
try |
{ |
let data = JSON.parse(result.content); |
for (let key in data) |
@@ -110,39 +113,39 @@ |
if (isSaving) |
{ |
isDirty = true; |
return; |
} |
isDirty = false; |
isSaving = true; |
- _fileSystem.write(prefsFileName, JSON.stringify(values), function () |
+ _fileSystem.write(prefsFileName, JSON.stringify(values), () => |
{ |
isSaving = false; |
if (isDirty) |
save(); |
}); |
} |
let Prefs = exports.Prefs = { |
initialized: false, |
- addListener: function(listener) |
+ addListener(listener) |
{ |
if (listeners.indexOf(listener) < 0) |
listeners.push(listener); |
}, |
- removeListener: function(listener) |
+ removeListener(listener) |
{ |
let index = listeners.indexOf(listener); |
if (index >= 0) |
listeners.splice(index, 1); |
- }, |
+ } |
}; |
// Update the default prefs with what was preconfigured |
for (let key in _preconfiguredPrefs) |
if (preconfigurable.indexOf(key) != -1) |
defaults[key] = _preconfiguredPrefs[key]; |
// Define defaults |