Skip to content
This repository has been archived by the owner on Feb 25, 2023. It is now read-only.

Commit

Permalink
Merge pull request #7 from ispedals/firefox
Browse files Browse the repository at this point in the history
Firefox
  • Loading branch information
FooSoft authored Jun 20, 2016
2 parents 655807c + 31d51ef commit a0cdb5b
Show file tree
Hide file tree
Showing 7 changed files with 52 additions and 7 deletions.
1 change: 1 addition & 0 deletions ext/bg/background.html
Original file line number Diff line number Diff line change
@@ -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>
Expand Down
15 changes: 15 additions & 0 deletions ext/bg/js/polyfill-gecko.js
Original file line number Diff line number Diff line change
@@ -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(){}
};
}
10 changes: 10 additions & 0 deletions ext/bg/js/translator.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,17 @@ class Translator {

const pendingLoads = [];
for (let key of files) {
/*
Spidermonkey does not implement lexical bindings for for-of loop
(see https://bugzilla.mozilla.org/show_bug.cgi?id=449811)
so we need to manually make a new declaration for key.
Otherwise key will always remain the same in the callback to loadData
and the dictionary data will not be set correctly
*/
let key_ = key;
pendingLoads.push(key);
Translator.loadData(this.paths[key], (response) => {
let key = key_
switch (key) {
case 'rules':
this.deinflector.setRules(JSON.parse(response));
Expand Down Expand Up @@ -228,6 +237,7 @@ class Translator {

static loadData(url, callback) {
const xhr = new XMLHttpRequest();
xhr.overrideMimeType("application/json");
xhr.addEventListener('load', () => callback(xhr.responseText));
xhr.open('GET', chrome.extension.getURL(url), true);
xhr.send();
Expand Down
1 change: 1 addition & 0 deletions ext/bg/options.html
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ <h2>Anki</h2>

<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>
Expand Down
6 changes: 2 additions & 4 deletions ext/fg/js/popup.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,8 @@ class Popup {
return;
}

const doc = this.popup.contentDocument;
doc.open();
doc.write(content);
doc.close();
const doc = this.popup;
doc.srcdoc=content;
}

sendMessage(action, params, callback) {
Expand Down
13 changes: 13 additions & 0 deletions ext/fg/js/range.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,19 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

// Polyfill caretRangeFromPoint() using the newer caretPositionFromPoint()
if (!document.caretRangeFromPoint){
document.caretRangeFromPoint = function polyfillcaretRangeFromPoint(x,y){
let range = document.createRange();
let position = document.caretPositionFromPoint(x,y);
if (!position) {
return null;
}
range.setStart(position.offsetNode, position.offset);
range.setEnd(position.offsetNode, position.offset);
return range;
};
}

class Range {
constructor(range) {
Expand Down
13 changes: 10 additions & 3 deletions ext/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,10 @@
"css": ["fg/css/client.css"]
}],
"minimum_chrome_version": "45.0.0.0",
"options_page": "bg/options.html",
"permissions": ["storage"],
"options_ui": {
"page": "bg/options.html"
},
"permissions": ["*://127.0.0.1/*", "storage"],
"web_accessible_resources": [
"fg/css/frame.css",
"fg/img/add_kanji.png",
Expand All @@ -26,5 +28,10 @@
"fg/js/frame.js",
"fg/ttf/kanji-stroke-orders.ttf",
"fg/ttf/vl-gothic-regular.ttf"
]
],
"applications": {
"gecko": {
"id": "yomichan-gecko@example.com"
}
}
}

0 comments on commit a0cdb5b

Please sign in to comment.