Relaod settings on local storage changed instead of message

jh-changes
Shin'ya Ueoka 6 years ago
parent 9fe09eba97
commit 70ab186541
  1. 11
      src/background/index.js
  2. 6
      src/background/infrastructures/ContentMessageListener.js
  3. 4
      src/settings/actions/setting.js
  4. 1
      src/shared/messages.js

@ -2,7 +2,8 @@ import ContentMessageListener from './infrastructures/ContentMessageListener';
import SettingController from './controllers/SettingController'; import SettingController from './controllers/SettingController';
import VersionController from './controllers/VersionController'; import VersionController from './controllers/VersionController';
new SettingController().reload(); let settingController = new SettingController();
settingController.reload();
browser.runtime.onInstalled.addListener((details) => { browser.runtime.onInstalled.addListener((details) => {
if (details.reason !== 'install' && details.reason !== 'update') { if (details.reason !== 'install' && details.reason !== 'update') {
@ -12,3 +13,11 @@ browser.runtime.onInstalled.addListener((details) => {
}); });
new ContentMessageListener().run(); new ContentMessageListener().run();
browser.storage.onChanged.addListener((changes, area) => {
if (area !== 'local') {
return;
}
if (changes.settings) {
settingController.reload();
}
});

@ -51,8 +51,6 @@ export default class ContentMessageListener {
return this.onConsoleEnterCommand(message.text); return this.onConsoleEnterCommand(message.text);
case messages.SETTINGS_QUERY: case messages.SETTINGS_QUERY:
return this.onSettingsQuery(); return this.onSettingsQuery();
case messages.SETTINGS_RELOAD:
return this.onSettingsReload();
case messages.FIND_GET_KEYWORD: case messages.FIND_GET_KEYWORD:
return this.onFindGetKeyword(); return this.onFindGetKeyword();
case messages.FIND_SET_KEYWORD: case messages.FIND_SET_KEYWORD:
@ -87,10 +85,6 @@ export default class ContentMessageListener {
return this.settingController.getSetting(); return this.settingController.getSetting();
} }
onSettingsReload() {
return this.settingController.reload();
}
onFindGetKeyword() { onFindGetKeyword() {
return this.findController.getKeyword(); return this.findController.getKeyword();
} }

@ -1,5 +1,4 @@
import actions from 'settings/actions'; import actions from 'settings/actions';
import messages from 'shared/messages';
import * as validator from 'shared/settings/validator'; import * as validator from 'shared/settings/validator';
import KeymapsForm from '../components/form/keymaps-form'; import KeymapsForm from '../components/form/keymaps-form';
import * as settingsValues from 'shared/settings/values'; import * as settingsValues from 'shared/settings/values';
@ -24,9 +23,6 @@ const save = async(settings) => {
}; };
} }
await settingsStorage.save(settings); await settingsStorage.save(settings);
await browser.runtime.sendMessage({
type: messages.SETTINGS_RELOAD
});
return set(settings); return set(settings);
}; };

@ -59,7 +59,6 @@ export default {
OPEN_URL: 'open.url', OPEN_URL: 'open.url',
SETTINGS_RELOAD: 'settings.reload',
SETTINGS_CHANGED: 'settings.changed', SETTINGS_CHANGED: 'settings.changed',
SETTINGS_QUERY: 'settings.query', SETTINGS_QUERY: 'settings.query',