aboutsummaryrefslogtreecommitdiff
path: root/src/background/infrastructures
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2018-07-22 17:09:14 +0900
committerShin'ya Ueoka <ueokande@i-beam.org>2018-07-22 17:09:14 +0900
commit0846587baf8ff04d2183985a61f14ccdea7263d3 (patch)
tree828223c0aa96d1e7323d67fdda148aade5022f0f /src/background/infrastructures
parent42d902982a1d2edbca8ca2edb5fb25e642794e2a (diff)
Open link as Clean Architecture
Diffstat (limited to 'src/background/infrastructures')
-rw-r--r--src/background/infrastructures/content-message-listener.js14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/background/infrastructures/content-message-listener.js b/src/background/infrastructures/content-message-listener.js
index 8a361c1..f16804f 100644
--- a/src/background/infrastructures/content-message-listener.js
+++ b/src/background/infrastructures/content-message-listener.js
@@ -3,6 +3,7 @@ import CompletionsController from '../controllers/completions';
import SettingController from '../controllers/setting';
import FindController from '../controllers/find';
import AddonEnabledController from '../controllers/addon-enabled';
+import LinkController from '../controllers/link';
export default class ContentMessageListener {
constructor() {
@@ -10,6 +11,7 @@ export default class ContentMessageListener {
this.completionsController = new CompletionsController();
this.findController = new FindController();
this.addonEnabledController = new AddonEnabledController();
+ this.linkController = new LinkController();
}
run() {
@@ -25,7 +27,7 @@ export default class ContentMessageListener {
});
}
- onMessage(message) {
+ onMessage(message, sender) {
switch (message.type) {
case messages.CONSOLE_QUERY_COMPLETIONS:
return this.onConsoleQueryCompletions(message.text);
@@ -39,6 +41,9 @@ export default class ContentMessageListener {
return this.onFindSetKeyword(message.keyword);
case messages.ADDON_ENABLED_RESPONSE:
return this.onAddonEnabledResponse(message.enabled);
+ case messages.OPEN_URL:
+ return this.onOpenUrl(
+ message.newTab, message.url, sender.tab.id, message.background);
}
}
@@ -66,4 +71,11 @@ export default class ContentMessageListener {
onAddonEnabledResponse(enabled) {
return this.addonEnabledController.indicate(enabled);
}
+
+ onOpenUrl(newTab, url, openerId, background) {
+ if (newTab) {
+ return this.linkController.openNewTab(url, openerId, background);
+ }
+ return this.linkController.openToTab(url, openerId);
+ }
}