Index: messageResponder.js |
diff --git a/messageResponder.js b/messageResponder.js |
index e8b911a4519f8a20e86cb53a04d9b330753b127f..a285990a4c62801d2e5c946c9a9f34e917dfc0db 100644 |
--- a/messageResponder.js |
+++ b/messageResponder.js |
@@ -18,7 +18,8 @@ |
"use strict"; |
{ |
- var ext = ext || require("ext_background"); |
+ if (typeof ext == "undefined") |
kzar
2017/03/08 14:15:54
I'm a bit confused by the discussion in https://co
|
+ window.ext = require("ext_background"); |
const {port} = require("messaging"); |
const {Prefs} = require("prefs"); |
@@ -78,28 +79,27 @@ |
let listenedPreferences = Object.create(null); |
let listenedFilterChanges = Object.create(null); |
let messageTypes = { |
- "app": "app.respond", |
- "filter": "filters.respond", |
- "pref": "prefs.respond", |
- "subscription": "subscriptions.respond" |
+ app: "app.respond", |
+ filter: "filters.respond", |
+ pref: "prefs.respond", |
+ subscription: "subscriptions.respond" |
}; |
- function sendMessage(type, action) |
+ function sendMessage(type, action, ...args) |
{ |
let pages = changeListeners.keys(); |
if (pages.length == 0) |
return; |
- let args = []; |
- for (let i = 2; i < arguments.length; i++) |
+ let convertedArgs = []; |
+ for (let arg of args) |
{ |
- let arg = arguments[i]; |
if (arg instanceof Subscription) |
- args.push(convertSubscription(arg)); |
+ convertedArgs.push(convertSubscription(arg)); |
else if (arg instanceof Filter) |
- args.push(convertFilter(arg)); |
+ convertedArgs.push(convertFilter(arg)); |
else |
- args.push(arg); |
+ convertedArgs.push(arg); |
} |
for (let page of pages) |
@@ -110,8 +110,8 @@ |
{ |
page.sendMessage({ |
type: messageTypes[type], |
- action: action, |
- args: args |
+ action, |
+ args: convertedArgs |
}); |
} |
} |
@@ -130,12 +130,9 @@ |
if (!(name in listenedFilterChanges)) |
{ |
listenedFilterChanges[name] = null; |
- FilterNotifier.on(name, function() |
+ FilterNotifier.on(name, (...args) => |
{ |
- let args = [type, action]; |
- for (let arg of arguments) |
- args.push(arg); |
- sendMessage.apply(null, args); |
+ sendMessage(type, action, ...args); |
}); |
} |
} |
@@ -158,7 +155,8 @@ |
{ |
let subscriptionInit = tryRequire("subscriptionInit"); |
return { |
- filterlistsReinitialized: subscriptionInit ? subscriptionInit.reinitialized : false |
+ filterlistsReinitialized: subscriptionInit |
+ ? subscriptionInit.reinitialized : false |
}; |
} |
@@ -169,11 +167,14 @@ |
{ |
let bidiDir; |
if ("chromeRegistry" in Utils) |
- bidiDir = Utils.chromeRegistry.isLocaleRTL("adblockplus") ? "rtl" : "ltr"; |
+ { |
+ let isRtl = Utils.chromeRegistry.isLocaleRTL("adblockplus"); |
+ bidiDir = isRtl ? "rtl" : "ltr"; |
+ } |
else |
bidiDir = ext.i18n.getMessage("@@bidi_dir"); |
- return {locale: Utils.appLocale, bidiDir: bidiDir}; |
+ return {locale: Utils.appLocale, bidiDir}; |
} |
if (message.what == "features") |
@@ -229,7 +230,7 @@ |
RegExpFilter.typeMap.DOCUMENT | |
RegExpFilter.typeMap.ELEMHIDE)) |
{ |
- let hostname = sender.frame.url.hostname; |
+ let {hostname} = sender.frame.url; |
filters = ElemHideEmulation.getRulesForDomain(hostname); |
filters = filters.map(filter => |
{ |
@@ -280,7 +281,7 @@ |
for (let j = subscription.filters.length - 1; j >= 0; j--) |
{ |
let filter = subscription.filters[j]; |
- if (/^@@\|\|([^\/:]+)\^\$document$/.test(filter.text)) |
+ if (/^@@\|\|([^/:]+)\^\$document$/.test(filter.text)) |
continue; |
if (!(filter.text in seenFilter)) |
@@ -359,7 +360,8 @@ |
subscription.disabled = false; |
FilterStorage.addSubscription(subscription); |
- if (subscription instanceof DownloadableSubscription && !subscription.lastDownload) |
+ if (subscription instanceof DownloadableSubscription && |
+ !subscription.lastDownload) |
Synchronizer.execute(subscription); |
} |
}); |
@@ -416,8 +418,10 @@ |
port.on("subscriptions.update", (message, sender) => |
{ |
- let subscriptions = message.url ? [Subscription.fromURL(message.url)] : |
- FilterStorage.subscriptions; |
+ let {subscriptions} = FilterStorage; |
+ if (message.url) |
+ subscriptions = [Subscription.fromURL(message.url)]; |
+ |
for (let subscription of subscriptions) |
{ |
if (subscription instanceof DownloadableSubscription) |