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; |
+}()); |