| Index: lib/prefs.js | 
| diff --git a/lib/prefs.js b/lib/prefs.js | 
| index 15b4efd174ae7e678013414be03fb7b8f64cf659..b9ac2c460c92bbb07b6f3803352c019810f38849 100644 | 
| --- a/lib/prefs.js | 
| +++ b/lib/prefs.js | 
| @@ -84,24 +84,27 @@ function defineProperty(key) | 
|  | 
| function load() | 
| { | 
| -  _fileSystem.read(prefsFileName, result => | 
| +  new Promise((resolve, reject) => | 
| { | 
| -    // prefs.json is expected to be missing, ignore errors reading file | 
| -    if (!result.error) | 
| +    _fileSystem.read(prefsFileName, resolve, reject); | 
| +  }).then((result) => | 
| +  { | 
| +    try | 
| { | 
| -      try | 
| -      { | 
| -        let data = JSON.parse(result.content); | 
| -        for (let key in data) | 
| -          if (key in defaults) | 
| -            values[key] = data[key]; | 
| -      } | 
| -      catch (e) | 
| -      { | 
| -        Cu.reportError(e); | 
| -      } | 
| +      let data = JSON.parse(result.content); | 
| +      for (let key in data) | 
| +        if (key in defaults) | 
| +          values[key] = data[key]; | 
| } | 
| - | 
| +    catch (e) | 
| +    { | 
| +      Cu.reportError(e); | 
| +    } | 
| +  }).catch(() => | 
| +  { | 
| +    // prefs.json is expected to be missing, ignore file reading errors | 
| +  }).then(() => | 
| +  { | 
| Prefs.initialized = true; | 
| if (typeof Prefs._initListener == "function") | 
| Prefs._initListener(); | 
|  |