summaryrefslogtreecommitdiff
path: root/ext/bg/js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/bg/js')
-rw-r--r--ext/bg/js/import.js13
-rw-r--r--ext/bg/js/options.js10
-rw-r--r--ext/bg/js/yomichan.js2
3 files changed, 20 insertions, 5 deletions
diff --git a/ext/bg/js/import.js b/ext/bg/js/import.js
index 905b4580..ebc7c7be 100644
--- a/ext/bg/js/import.js
+++ b/ext/bg/js/import.js
@@ -17,7 +17,16 @@
*/
-chrome.runtime.onMessage.addListener(({state, progress}, sender, callback) => {
- $('.progress-bar').css('width', progress + '%');
+function api_setProgress({state, progress}) {
+ const str = `${progress}%`;
+ $('.progress-bar').css('width', str).text(str);
+}
+
+chrome.runtime.onMessage.addListener(({action, params}, sender, callback) => {
+ const method = this['api_' + action];
+ if (typeof(method) === 'function') {
+ method.call(this, params);
+ }
+
callback();
});
diff --git a/ext/bg/js/options.js b/ext/bg/js/options.js
index 290b5b05..83eb1f0a 100644
--- a/ext/bg/js/options.js
+++ b/ext/bg/js/options.js
@@ -47,9 +47,15 @@ function sanitizeOptions(options) {
}
function loadOptions() {
- return new Promise((resolve, reject) => chrome.storage.sync.get(null, resolve));
+ return new Promise((resolve, reject) => {
+ chrome.storage.sync.get(null, opts => {
+ resolve(sanitizeOptions(opts));
+ });
+ });
}
function saveOptions(opts) {
- return new Promise((resolve, reject) => chrome.storage.sync.set(sanitizeOptions(opts), resolve));
+ return new Promise((resolve, reject) => {
+ chrome.storage.sync.set(sanitizeOptions(opts), resolve);
+ });
}
diff --git a/ext/bg/js/yomichan.js b/ext/bg/js/yomichan.js
index bec34691..24ddf92d 100644
--- a/ext/bg/js/yomichan.js
+++ b/ext/bg/js/yomichan.js
@@ -54,7 +54,7 @@ class Yomichan {
}
if (this.importTabId !== null) {
- chrome.tabs.sendMessage(this.importTabId, {state, progress}, () => null);
+ this.tabInvoke(this.importTabId, 'setProgress', {state, progress});
}
if (state === 'end') {