| Index: ext/common.js |
| =================================================================== |
| --- a/ext/common.js |
| +++ b/ext/common.js |
| @@ -44,8 +44,41 @@ |
| for (let listener of listeners) |
| results.push(listener(...args)); |
| return results; |
| } |
| }; |
| }()); |
| + |
| +(function() |
|
Sebastian Noack
2017/04/05 11:05:49
No need to create a new IFEE. Just add the code to
Jon Sonesen
2017/04/05 11:39:00
Done.
|
| +{ |
| + // 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; |
| +}()); |