diff options
Diffstat (limited to 'ext/bg')
-rw-r--r-- | ext/bg/background.html | 1 | ||||
-rw-r--r-- | ext/bg/js/anki-connect.js | 2 | ||||
-rw-r--r-- | ext/bg/js/translator.js | 2 | ||||
-rw-r--r-- | ext/bg/js/util.js | 40 | ||||
-rw-r--r-- | ext/bg/js/yomichan.js | 8 | ||||
-rw-r--r-- | ext/bg/popup.html | 1 | ||||
-rw-r--r-- | ext/bg/search.html | 1 | ||||
-rw-r--r-- | ext/bg/settings.html | 1 |
8 files changed, 14 insertions, 42 deletions
diff --git a/ext/bg/background.html b/ext/bg/background.html index 61bc17a0..7d352561 100644 --- a/ext/bg/background.html +++ b/ext/bg/background.html @@ -14,6 +14,7 @@ <script src="/bg/js/handlebars.js"></script> <script src="/bg/js/dictionary.js"></script> <script src="/mixed/js/japanese.js"></script> + <script src="/mixed/js/request.js"></script> <script src="/bg/js/options.js"></script> <script src="/bg/js/anki-connect.js"></script> <script src="/bg/js/anki-null.js"></script> diff --git a/ext/bg/js/anki-connect.js b/ext/bg/js/anki-connect.js index a4d8ba3f..567e8d3f 100644 --- a/ext/bg/js/anki-connect.js +++ b/ext/bg/js/anki-connect.js @@ -64,6 +64,6 @@ class AnkiConnect { } ankiInvoke(action, params) { - return jsonRequest(this.server, 'POST', {action, params, version: this.localVersion}); + return requestJson(this.server, 'POST', {action, params, version: this.localVersion}); } } diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js index 9232e529..1be485c7 100644 --- a/ext/bg/js/translator.js +++ b/ext/bg/js/translator.js @@ -31,7 +31,7 @@ class Translator { if (!this.deinflector) { const url = chrome.extension.getURL('/bg/lang/deinflect.json'); - const reasons = await jsonRequest(url, 'GET'); + const reasons = await requestJson(url, 'GET'); this.deinflector = new Deinflector(reasons); } } diff --git a/ext/bg/js/util.js b/ext/bg/js/util.js index 6e86c2a6..c7ebbb0e 100644 --- a/ext/bg/js/util.js +++ b/ext/bg/js/util.js @@ -18,19 +18,6 @@ /* - * Promise - */ - -function promiseCallback(promise, callback) { - return promise.then(result => { - callback({result}); - }).catch(error => { - callback({error}); - }); -} - - -/* * Commands */ @@ -71,30 +58,3 @@ function fgBroadcast(action, params) { function fgOptionsSet(options) { fgBroadcast('optionsSet', options); } - - -/* - * JSON - */ - -function jsonRequest(url, action, params) { - return new Promise((resolve, reject) => { - const xhr = new XMLHttpRequest(); - xhr.overrideMimeType('application/json'); - xhr.addEventListener('load', () => resolve(xhr.responseText)); - xhr.addEventListener('error', () => reject('failed to execute network request')); - xhr.open(action, url); - if (params) { - xhr.send(JSON.stringify(params)); - } else { - xhr.send(); - } - }).then(responseText => { - try { - return JSON.parse(responseText); - } - catch (e) { - return Promise.reject('invalid JSON response'); - } - }); -} diff --git a/ext/bg/js/yomichan.js b/ext/bg/js/yomichan.js index acc560ce..eb083396 100644 --- a/ext/bg/js/yomichan.js +++ b/ext/bg/js/yomichan.js @@ -195,6 +195,14 @@ window.yomichan = new class { } onMessage({action, params}, sender, callback) { + const promiseCallback = (promise, callback) => { + return promise.then(result => { + callback({result}); + }).catch(error => { + callback({error}); + }); + }; + const handlers = { optionsGet: ({callback}) => { promiseCallback(optionsLoad(), callback); diff --git a/ext/bg/popup.html b/ext/bg/popup.html index db9097bd..b3d38533 100644 --- a/ext/bg/popup.html +++ b/ext/bg/popup.html @@ -32,6 +32,7 @@ <script src="/mixed/lib/handlebars.min.js"></script> <script src="/bg/js/util.js"></script> <script src="/bg/js/dictionary.js"></script> + <script src="/mixed/js/request.js"></script> <script src="/mixed/js/japanese.js"></script> <script src="/bg/js/options.js"></script> <script src="/bg/js/popup.js"></script> diff --git a/ext/bg/search.html b/ext/bg/search.html index b30b8910..45603f17 100644 --- a/ext/bg/search.html +++ b/ext/bg/search.html @@ -35,6 +35,7 @@ <script src="/mixed/lib/jquery.min.js"></script> <script src="/bg/js/util.js"></script> <script src="/bg/js/dictionary.js"></script> + <script src="/mixed/js/request.js"></script> <script src="/mixed/js/japanese.js"></script> <script src="/mixed/js/audio.js"></script> <script src="/mixed/js/display.js"></script> diff --git a/ext/bg/settings.html b/ext/bg/settings.html index 9b21b4d8..4c7198c3 100644 --- a/ext/bg/settings.html +++ b/ext/bg/settings.html @@ -280,6 +280,7 @@ <script src="/bg/js/handlebars.js"></script> <script src="/bg/js/dictionary.js"></script> <script src="/mixed/js/japanese.js"></script> + <script src="/mixed/js/request.js"></script> <script src="/bg/js/options.js"></script> <script src="/bg/js/settings.js"></script> </body> |