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

Unified Diff: ext/common.js

Issue 29374674: Issue 4864 - Start using ESLint for adblockpluschrome (Closed)
Patch Set: Rebased. Created March 7, 2017, 10:44 a.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « dependencies ('k') | include.preload.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ext/common.js
diff --git a/ext/common.js b/ext/common.js
index 445dc73ad58621eae3adf7a5170a687e093707bd..e3fbdc16d29aae9d0e71dd1d29ec4ec10ed80668 100644
--- a/ext/common.js
+++ b/ext/common.js
@@ -18,7 +18,9 @@
"use strict";
{
+ /* eslint-disable no-var */
var ext = {};
+ /* eslint-enable no-var */
let EventTarget = ext._EventTarget = function()
{
@@ -36,15 +38,45 @@
if (idx != -1)
this._listeners.splice(idx, 1);
},
- _dispatch()
+ _dispatch(...args)
{
let results = [];
let listeners = this._listeners.slice();
for (let listener of listeners)
- results.push(listener.apply(null, arguments));
+ results.push(listener(...args));
return results;
}
};
+
+ // Workaround since HTMLCollection and NodeList didn't have iterator support
+ // before Chrome 51.
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=401699
+ let arrayIterator = Array.prototype[Symbol.iterator];
+ if (!(Symbol.iterator in HTMLCollection.prototype))
+ HTMLCollection.prototype[Symbol.iterator] = arrayIterator;
+ if (!(Symbol.iterator in NodeList.prototype))
+ NodeList.prototype[Symbol.iterator] = arrayIterator;
+
+ /* Message passing */
+
+ ext.onMessage = new ext._EventTarget();
+
+
+ /* Background page */
+
+ ext.backgroundPage = {
+ sendMessage: chrome.runtime.sendMessage,
+ getWindow()
+ {
+ return chrome.extension.getBackgroundPage();
+ }
+ };
+
+
+ /* Utils */
+
+ ext.getURL = chrome.extension.getURL;
+ ext.i18n = chrome.i18n;
}
« no previous file with comments | « dependencies ('k') | include.preload.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld