| Index: background.js |
| =================================================================== |
| --- a/background.js |
| +++ b/background.js |
| @@ -43,6 +43,7 @@ |
| var Utils = require("utils").Utils; |
| var Notification = require("notification").Notification; |
| var initAntiAdblockNotification = require("antiadblockInit").initAntiAdblockNotification; |
| +var parseFilters = require("filterValidation").parseFilters; |
| // Some types cannot be distinguished |
| RegExpFilter.typeMap.OBJECT_SUBREQUEST = RegExpFilter.typeMap.OBJECT; |
| @@ -524,11 +525,21 @@ |
| } |
| break; |
| case "add-filters": |
| - if (msg.filters && msg.filters.length) |
| + var filters; |
| + try |
| { |
| - for (var i = 0; i < msg.filters.length; i++) |
| - FilterStorage.addFilter(Filter.fromText(msg.filters[i])); |
| + filters = parseFilters(msg.text); |
| } |
| + catch (error) |
| + { |
| + sendResponse({status: "invalid", error: error}); |
| + break; |
| + } |
| + |
| + for (var i = 0; i < filters.length; i++) |
| + FilterStorage.addFilter(filters[i]); |
| + |
| + sendResponse({status: "ok"}); |
| break; |
| case "add-subscription": |
| ext.showOptions(function(page) |