Index: background.js |
=================================================================== |
--- a/background.js |
+++ b/background.js |
@@ -26,6 +26,7 @@ |
{ |
this.Subscription = Subscription; |
this.DownloadableSubscription = DownloadableSubscription; |
+ this.SpecialSubscription = SpecialSubscription; |
} |
with(require("whitelisting")) |
{ |
@@ -470,6 +471,33 @@ |
prepareNotificationIconAndPopup(); |
} |
+// This is a hack to speedup loading of the options page on Safari. |
+// Once we replaced the background page proxy with message passing |
+// this global function should removed. |
+function getUserFilter() |
Wladimir Palant
2014/04/16 17:25:39
Nit: getUserFilters() please (plural)
|
+{ |
+ var filters = []; |
+ var exceptions = []; |
+ |
+ for (var i = 0; i < FilterStorage.subscriptions.length; i++) |
+ { |
+ var subscription = FilterStorage.subscriptions[i]; |
+ if (!(subscription instanceof SpecialSubscription)) |
+ continue; |
+ |
+ for (var j = 0; j < subscription.filters.length; j++) |
+ { |
+ var filter = subscription.filters[j]; |
+ if (filter instanceof WhitelistFilter && /^@@\|\|([^\/:]+)\^\$document$/.test(filter.text)) |
+ exceptions.push(RegExp.$1); |
+ else |
+ filters.push(filter.text); |
+ } |
+ } |
+ |
+ return {filters: filters, exceptions: exceptions}; |
+} |
+ |
ext.onMessage.addListener(function (msg, sender, sendResponse) |
{ |
switch (msg.type) |