Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: lib/prefs.js

Issue 29760680: Issue 4580 - Removed ext.storage (Closed)
Patch Set: Created April 24, 2018, 5:18 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« lib/io.js ('K') | « lib/io.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/prefs.js
===================================================================
--- a/lib/prefs.js
+++ b/lib/prefs.js
@@ -261,7 +261,7 @@
function savePref(pref)
{
- ext.storage.set(prefToKey(pref), overrides[pref]);
+ browser.storage.local.set({[prefToKey(pref)]: overrides[pref]});
}
let customSave = new Map();
@@ -310,7 +310,7 @@
if (value == defaultValue)
{
delete overrides[pref];
- ext.storage.remove(prefToKey(pref));
+ browser.storage.local.remove(prefToKey(pref));
}
else
{
@@ -327,44 +327,41 @@
let prefs = Object.keys(defaults);
prefs.forEach(addPreference);
- let localLoaded = new Promise(resolve =>
- {
- ext.storage.get(prefs.map(prefToKey), items =>
+ let localLoaded = browser.storage.local.get(prefs.map(prefToKey)).then(
+ items =>
{
for (let key in items)
overrides[keyToPref(key)] = items[key];
+ },
+ (error) =>
kzar 2018/04/24 20:38:56 Nit: Superfluous parenthesis, also could we just p
Sebastian Noack 2018/04/24 21:12:55 Acknowledged.
kzar 2018/04/25 10:33:39 Ah right, well it's not a big deal then.
+ {
+ console.error(error);
+ }
+ );
- resolve();
- });
- });
-
- let managedLoaded = new Promise(resolve =>
+ let managedLoaded;
+ if ("managed" in browser.storage)
{
- if ("managed" in browser.storage)
- {
- browser.storage.managed.get(null, items =>
+ managedLoaded = browser.storage.managed.get(null).then(
+ items =>
{
- // Opera doesn't support browser.storage.managed, but instead simply
- // removing the API, Opera sets browser.runtime.lastError when using it.
- // So we have to retrieve that error, to prevent it from showing up
- // in the console.
- browser.runtime.lastError;
-
for (let key in items)
defaults[key] = items[key];
+ },
- resolve();
- });
- }
- else
- {
- resolve();
- }
- });
+ // Opera doesn't support browser.storage.managed, but instead of simply
+ // removing the API, it gives an asynchronous error which we ignore here.
+ () => {}
+ );
+ }
+ else
+ {
+ managedLoaded = Promise.resolve();
+ }
function onLoaded()
{
- ext.storage.onChanged.addListener(changes =>
+ browser.storage.onChanged.addListener(changes =>
{
for (let key in changes)
{
« lib/io.js ('K') | « lib/io.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld