aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2019-04-13 09:52:04 +0900
committerShin'ya Ueoka <ueokande@i-beam.org>2019-04-14 20:42:59 +0900
commit70ab186541ef19592fdcafc859227b6753451ffa (patch)
treeff9a69ab59988c6e4bb49f3eb20a55d5ec7c8bc4 /src
parent9fe09eba97e962b96088f2b79a8364d51972b58a (diff)
Relaod settings on local storage changed instead of message
Diffstat (limited to 'src')
-rw-r--r--src/background/index.js11
-rw-r--r--src/background/infrastructures/ContentMessageListener.js6
-rw-r--r--src/settings/actions/setting.js4
-rw-r--r--src/shared/messages.js1
4 files changed, 10 insertions, 12 deletions
diff --git a/src/background/index.js b/src/background/index.js
index 29aa92b..f9efd4d 100644
--- a/src/background/index.js
+++ b/src/background/index.js
@@ -2,7 +2,8 @@ import ContentMessageListener from './infrastructures/ContentMessageListener';
import SettingController from './controllers/SettingController';
import VersionController from './controllers/VersionController';
-new SettingController().reload();
+let settingController = new SettingController();
+settingController.reload();
browser.runtime.onInstalled.addListener((details) => {
if (details.reason !== 'install' && details.reason !== 'update') {
@@ -12,3 +13,11 @@ browser.runtime.onInstalled.addListener((details) => {
});
new ContentMessageListener().run();
+browser.storage.onChanged.addListener((changes, area) => {
+ if (area !== 'local') {
+ return;
+ }
+ if (changes.settings) {
+ settingController.reload();
+ }
+});
diff --git a/src/background/infrastructures/ContentMessageListener.js b/src/background/infrastructures/ContentMessageListener.js
index 1179a8c..5b0f62e 100644
--- a/src/background/infrastructures/ContentMessageListener.js
+++ b/src/background/infrastructures/ContentMessageListener.js
@@ -51,8 +51,6 @@ export default class ContentMessageListener {
return this.onConsoleEnterCommand(message.text);
case messages.SETTINGS_QUERY:
return this.onSettingsQuery();
- case messages.SETTINGS_RELOAD:
- return this.onSettingsReload();
case messages.FIND_GET_KEYWORD:
return this.onFindGetKeyword();
case messages.FIND_SET_KEYWORD:
@@ -87,10 +85,6 @@ export default class ContentMessageListener {
return this.settingController.getSetting();
}
- onSettingsReload() {
- return this.settingController.reload();
- }
-
onFindGetKeyword() {
return this.findController.getKeyword();
}
diff --git a/src/settings/actions/setting.js b/src/settings/actions/setting.js
index 3bb24be..0277159 100644
--- a/src/settings/actions/setting.js
+++ b/src/settings/actions/setting.js
@@ -1,5 +1,4 @@
import actions from 'settings/actions';
-import messages from 'shared/messages';
import * as validator from 'shared/settings/validator';
import KeymapsForm from '../components/form/keymaps-form';
import * as settingsValues from 'shared/settings/values';
@@ -24,9 +23,6 @@ const save = async(settings) => {
};
}
await settingsStorage.save(settings);
- await browser.runtime.sendMessage({
- type: messages.SETTINGS_RELOAD
- });
return set(settings);
};
diff --git a/src/shared/messages.js b/src/shared/messages.js
index e86600e..ddf3368 100644
--- a/src/shared/messages.js
+++ b/src/shared/messages.js
@@ -59,7 +59,6 @@ export default {
OPEN_URL: 'open.url',
- SETTINGS_RELOAD: 'settings.reload',
SETTINGS_CHANGED: 'settings.changed',
SETTINGS_QUERY: 'settings.query',