aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorispedals <ispedals@users.noreply.github.com>2016-06-18 19:42:00 -0400
committerispedals <ispedals@users.noreply.github.com>2016-06-19 12:54:12 -0400
commitb4fe1f1fa6064162adfa7b6eee5f397f190ae8bf (patch)
tree7092535d6b8142d34ffb254a54369c710225baa9
parentf12660af91726bebc39866f30a9c760733478fc8 (diff)
Add polyfills for Gecko's WebExtension implementation
Gecko currently does not support chrome.storage.sync and chrome.runtime.onInstalled. Use chrome.storage.local instead of sync and ignore calls to onInstalled. The implication of not having runtime.onInstalled is that the options page is not shown on first-run.
-rw-r--r--ext/bg/background.html1
-rw-r--r--ext/bg/js/polyfill-gecko.js15
-rw-r--r--ext/bg/options.html1
3 files changed, 17 insertions, 0 deletions
diff --git a/ext/bg/background.html b/ext/bg/background.html
index c35e917d..c6a84636 100644
--- a/ext/bg/background.html
+++ b/ext/bg/background.html
@@ -1,6 +1,7 @@
<!DOCTYPE html>
<html lang="en">
<body>
+ <script src="js/polyfill-gecko.js"></script>
<script src="../lib/handlebars.min.js"></script>
<script src="js/templates.js"></script>
<script src="js/dictionary.js"></script>
diff --git a/ext/bg/js/polyfill-gecko.js b/ext/bg/js/polyfill-gecko.js
new file mode 100644
index 00000000..8c7cc403
--- /dev/null
+++ b/ext/bg/js/polyfill-gecko.js
@@ -0,0 +1,15 @@
+// Gecko does not currently support chrome.storage.sync, use storage.local instead
+// https://bugzilla.mozilla.org/show_bug.cgi?id=1220494
+if (!chrome.storage.sync) {
+ chrome.storage.sync = chrome.storage.local;
+}
+
+// Gecko does not currently support chrome.runtime.onInstalled, just ignore calls to it
+// (https://bugzilla.mozilla.org/show_bug.cgi?id=1252871)
+if (!chrome.runtime.onInstalled) {
+ chrome.runtime.onInstalled = {
+ 'addListener' : function(){},
+ 'hasListener' : function(){},
+ 'removeListener' : function(){}
+ };
+} \ No newline at end of file
diff --git a/ext/bg/options.html b/ext/bg/options.html
index 289a0f60..a2b4a56b 100644
--- a/ext/bg/options.html
+++ b/ext/bg/options.html
@@ -163,6 +163,7 @@
<script src="../lib/jquery-2.2.2.min.js"></script>
<script src="../lib/bootstrap-3.3.6-dist/js/bootstrap.min.js"></script>
+ <script src="js/polyfill-gecko.js"></script>
<script src="js/options.js"></script>
<script src="js/options-form.js"></script>
</body>