| Index: lib/adblockplus.js |
| =================================================================== |
| --- a/lib/adblockplus.js |
| +++ b/lib/adblockplus.js |
| @@ -360,27 +360,47 @@ |
| function loadFile(file, successCallback, errorCallback) |
| { |
| var key = fileToKey(file); |
| - ext.storage.get([key], function(items) |
| - { |
| - var entry = items[key]; |
| - if (entry) |
| - { |
| - successCallback(entry); |
| - } |
| - else |
| - { |
| - errorCallback(new Error("File doesn't exist")); |
| - } |
| - }); |
| + var fileDoesNotExistMessage = "File doesn't exist"; |
|
Sebastian Noack
2016/07/27 16:18:16
Any reason to put this text into a variable rather
kzar
2016/07/27 16:22:03
Nit: Don't see the purpose of this variable.
|
| + entry = localStorage.getItem(key); |
|
Sebastian Noack
2016/07/27 16:18:16
Did you forget the var statement here?
kzar
2016/07/27 16:22:03
You've missed the `var` again.
|
| + if (entry) |
| + successCallback(JSON.parse(entry)); |
|
kzar
2016/07/27 16:22:02
Nit: Mind adding the { } braces for the if clause
|
| + else |
| + { |
| + // Also check the chrome.storage.local |
|
Sebastian Noack
2016/07/27 16:18:16
Just to clarify, so this is for when migrating fro
Oleksandr
2016/07/27 16:33:30
No, this is for the first run when there is no pat
Sebastian Noack
2016/07/27 16:45:43
Then I don't understand what this workaround does.
Oleksandr
2016/07/27 18:23:40
I misdiagnosed it, you are right. It is only neede
Sebastian Noack
2016/07/27 18:29:43
Well, using setTimeout() would be much simpler. Al
Sebastian Noack
2016/07/27 21:33:16
(Not quite) LGTM but since the code as-is already
|
| + // We may have a init data there |
| + ext.storage.get([key], function(items) |
| + { |
| + var entry = items[key]; |
| + if (entry) |
| + { |
|
Sebastian Noack
2016/07/27 16:18:16
Nit: The inner braces can be omitted.
kzar
2016/07/27 16:22:02
Nit: Mind removing the braces for the if + else he
|
| + successCallback(entry); |
| + } |
| + else |
| + { |
| + errorCallback(new Error(fileDoesNotExistMessage)); |
| + } |
| + }); |
| + } |
| } |
| - |
| function saveFile(file, data, callback) |
| { |
| - ext.storage.set(fileToKey(file), |
| - { |
| - content: data, |
| - lastModified: Date.now() |
| - }, callback); |
| + try |
| + { |
| + localStorage.setItem(fileToKey(file), JSON.stringify({ |
| + content: data, |
| + lastModified: Date.now() |
| + })); |
| + } |
| + catch(error) |
| + { |
| + // QuotaExceededError can happen. Notify the user and ignore |
| + var errorMessage = "Subscription storage is full. " + |
| + "Please remove some subscriptions and try again."; |
| + alert(errorMessage); |
| + callback(new Error(errorMessage)); |
| + return; |
| + } |
| + callback(); |
| } |
| exports.IO = { |
| resolveFilePath: function(path) |