| 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 |