| Index: chrome/ext/background.js | 
| =================================================================== | 
| --- a/chrome/ext/background.js | 
| +++ b/chrome/ext/background.js | 
| @@ -499,8 +499,41 @@ | 
|  | 
| /* Storage */ | 
|  | 
| -  ext.storage = localStorage; | 
| +  ext.storage = { | 
| +    get: function(keys, callback) | 
| +    { | 
| +      chrome.storage.local.get(keys, callback); | 
| +    }, | 
| +    set: function(key, value, callback) | 
| +    { | 
| +      let items = {}; | 
| +      items[key] = value; | 
| +      chrome.storage.local.set(items, callback); | 
| +    }, | 
| +    remove: function(key, callback) | 
| +    { | 
| +      chrome.storage.local.remove(key, callback); | 
| +    }, | 
| +    onChanged: chrome.storage.onChanged, | 
|  | 
| +    // Migrate localStorage to chrome.storage.local, | 
| +    // ignoring unkown and inavlid preferences. | 
| +    migratePrefs: function(mapFunc) | 
| +    { | 
| +      var items = {}; | 
| + | 
| +      for (let key in localStorage) | 
| +      { | 
| +        var item = mapFunc(key, localStorage[key]); | 
| +        if (item) | 
| +          items[item.key] = item.value; | 
| +      } | 
| + | 
| +      chrome.storage.local.set(items, function() { | 
| +        localStorage.clear(); | 
| +      }); | 
| +    } | 
| +  }; | 
|  | 
| /* Options */ | 
|  | 
|  |