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

Side by Side Diff: lib/prefs.js

Issue 29332926: Issue 3446 - Remove code migrating prefs and files to chrome.storage (Closed)
Patch Set: Created Dec. 21, 2015, 2:48 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/io.js ('k') | safari/ext/background.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-2015 Eyeo GmbH 3 * Copyright (C) 2006-2015 Eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 delete overrides[pref]; 246 delete overrides[pref];
247 247
248 Prefs.onChanged._dispatch(pref); 248 Prefs.onChanged._dispatch(pref);
249 } 249 }
250 } 250 }
251 }); 251 });
252 252
253 Prefs.onLoaded._dispatch(); 253 Prefs.onLoaded._dispatch();
254 }; 254 };
255 255
256 // Migrate preferences for users updating from old versions. 256 ext.storage.get(prefs.map(prefToKey), function(items)
257 // TODO: Remove the migration code after a few releases. 257 {
258 ext.storage.migratePrefs({ 258 for (let key in items)
259 map: function(key, value) 259 overrides[keyToPref(key)] = items[key];
260 {
261 if (key in defaults || key == "stats_total")
262 {
263 if (key != "currentVersion")
264 {
265 try
266 {
267 value = JSON.parse(value);
268 }
269 catch (e)
270 {
271 return null;
272 }
273 }
274 260
275 if (key == "stats_total") 261 localLoaded = true;
276 { 262 checkLoaded();
277 key = "blocked_total";
278 value = value.blocked;
279 }
280
281 return {key: prefToKey(key), value: value};
282 }
283
284 return null;
285 },
286
287 done: function()
288 {
289 ext.storage.get(prefs.map(prefToKey), function(items)
290 {
291 for (let key in items)
292 overrides[keyToPref(key)] = items[key];
293
294 localLoaded = true;
295 checkLoaded();
296 });
297 }
298 }); 263 });
299 264
300 if (require("info").platform == "chromium" && "managed" in chrome.storage) 265 if (require("info").platform == "chromium" && "managed" in chrome.storage)
301 { 266 {
302 chrome.storage.managed.get(null, function(items) 267 chrome.storage.managed.get(null, function(items)
303 { 268 {
304 // Opera doesn't support chrome.storage.managed, but instead simply 269 // Opera doesn't support chrome.storage.managed, but instead simply
305 // removing the API, Opera sets chrome.runtime.lastError when using it. 270 // removing the API, Opera sets chrome.runtime.lastError when using it.
306 // So we have to retrieve that error, to prevent it from showing up 271 // So we have to retrieve that error, to prevent it from showing up
307 // in the console. 272 // in the console.
308 chrome.runtime.lastError; 273 chrome.runtime.lastError;
309 274
310 for (let key in items) 275 for (let key in items)
311 defaults[key] = items[key]; 276 defaults[key] = items[key];
312 277
313 managedLoaded = true; 278 managedLoaded = true;
314 checkLoaded(); 279 checkLoaded();
315 }); 280 });
316 } 281 }
317 else 282 else
318 { 283 {
319 managedLoaded = true; 284 managedLoaded = true;
320 checkLoaded(); 285 checkLoaded();
321 } 286 }
322 } 287 }
323 288
324 init(); 289 init();
OLDNEW
« no previous file with comments | « lib/io.js ('k') | safari/ext/background.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld