diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2018-07-28 20:05:06 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-28 20:05:06 +0900 |
commit | ed2bd7d75ee1e7aa1db7d03c3f908c740ded1983 (patch) | |
tree | 6ac3f5ac5126e1a07c958549c782aedd586c6534 /src/background/components/background.js | |
parent | 84a9655bb39e5902b417e124a0eb23d80808a6a7 (diff) | |
parent | 4bd2084ba7b23327c26a2d8b24dc4169c14bfa17 (diff) |
Merge pull request #440 from ueokande/background-clean-architecture
Background clean architecture
Diffstat (limited to 'src/background/components/background.js')
-rw-r--r-- | src/background/components/background.js | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/src/background/components/background.js b/src/background/components/background.js deleted file mode 100644 index c7a79a1..0000000 --- a/src/background/components/background.js +++ /dev/null @@ -1,67 +0,0 @@ -import messages from 'shared/messages'; -import * as commandActions from 'background/actions/command'; -import * as settingActions from 'background/actions/setting'; -import * as findActions from 'background/actions/find'; -import * as tabActions from 'background/actions/tab'; -import * as completions from '../shared/completions'; - -export default class BackgroundComponent { - constructor(store) { - this.store = store; - - browser.runtime.onMessage.addListener((message, sender) => { - try { - return this.onMessage(message, sender); - } catch (e) { - return browser.tabs.sendMessage(sender.tab.id, { - type: messages.CONSOLE_SHOW_ERROR, - text: e.message, - }); - } - }); - } - - onMessage(message, sender) { - let settings = this.store.getState().setting; - let find = this.store.getState().find; - - switch (message.type) { - case messages.OPEN_URL: - if (message.newTab) { - let action = tabActions.openNewTab( - message.url, sender.tab.id, message.background, - settings.value.properties.adjacenttab); - return this.store.dispatch(action, sender); - } - return this.store.dispatch( - tabActions.openToTab(message.url, sender.tab), sender); - case messages.CONSOLE_ENTER_COMMAND: - this.store.dispatch( - commandActions.exec(sender.tab, message.text, settings.value), - sender - ); - return this.broadcastSettingsChanged(); - case messages.SETTINGS_QUERY: - return Promise.resolve(this.store.getState().setting.value); - case messages.CONSOLE_QUERY_COMPLETIONS: - return completions.complete(message.text, settings.value); - case messages.SETTINGS_RELOAD: - this.store.dispatch(settingActions.load()); - return this.broadcastSettingsChanged(); - case messages.FIND_GET_KEYWORD: - return Promise.resolve(find.keyword); - case messages.FIND_SET_KEYWORD: - this.store.dispatch(findActions.setKeyword(message.keyword)); - return Promise.resolve({}); - } - } - - async broadcastSettingsChanged() { - let tabs = await browser.tabs.query({}); - for (let tab of tabs) { - browser.tabs.sendMessage(tab.id, { - type: messages.SETTINGS_CHANGED, - }); - } - } -} |