diff options
Diffstat (limited to 'src/background/infrastructures')
-rw-r--r-- | src/background/infrastructures/content-message-listener.js | 14 |
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); + } } |