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.
This commit is contained in:
parent
f12660af91
commit
b4fe1f1fa6
@ -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>
|
||||
|
15
ext/bg/js/polyfill-gecko.js
Normal file
15
ext/bg/js/polyfill-gecko.js
Normal file
@ -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(){}
|
||||
};
|
||||
}
|
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user