aboutsummaryrefslogtreecommitdiff
path: root/src/background/components/background.js
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2018-07-28 20:05:06 +0900
committerGitHub <noreply@github.com>2018-07-28 20:05:06 +0900
commited2bd7d75ee1e7aa1db7d03c3f908c740ded1983 (patch)
tree6ac3f5ac5126e1a07c958549c782aedd586c6534 /src/background/components/background.js
parent84a9655bb39e5902b417e124a0eb23d80808a6a7 (diff)
parent4bd2084ba7b23327c26a2d8b24dc4169c14bfa17 (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.js67
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,
- });
- }
- }
-}