diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2019-04-13 09:52:04 +0900 |
---|---|---|
committer | Shin'ya Ueoka <ueokande@i-beam.org> | 2019-04-14 20:42:59 +0900 |
commit | 70ab186541ef19592fdcafc859227b6753451ffa (patch) | |
tree | ff9a69ab59988c6e4bb49f3eb20a55d5ec7c8bc4 /src | |
parent | 9fe09eba97e962b96088f2b79a8364d51972b58a (diff) |
Relaod settings on local storage changed instead of message
Diffstat (limited to 'src')
-rw-r--r-- | src/background/index.js | 11 | ||||
-rw-r--r-- | src/background/infrastructures/ContentMessageListener.js | 6 | ||||
-rw-r--r-- | src/settings/actions/setting.js | 4 | ||||
-rw-r--r-- | src/shared/messages.js | 1 |
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', |