diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2021-03-28 11:06:19 +0900 |
---|---|---|
committer | Shin'ya Ueoka <ueokande@i-beam.org> | 2021-03-28 11:06:19 +0900 |
commit | a2a4531527c7786af18611e1d423c1504bb9245e (patch) | |
tree | a62e1a7d8e062a5be900a7e8dcee4d27c7aaa1b2 /src/background | |
parent | 94483920f2a32071505b913881eb7b342c910535 (diff) |
Send resize message to the sender tab instead of the current tab.
Sending resize message to the current table occurs an error, just after
switching the tab by a `tabopen` command. The background script unable
to connect the current (new tab) because it is in an initialization.
Diffstat (limited to 'src/background')
-rw-r--r-- | src/background/controllers/ConsoleController.ts | 4 | ||||
-rw-r--r-- | src/background/infrastructures/ContentMessageListener.ts | 14 | ||||
-rw-r--r-- | src/background/usecases/ConsoleUseCase.ts | 9 |
3 files changed, 14 insertions, 13 deletions
diff --git a/src/background/controllers/ConsoleController.ts b/src/background/controllers/ConsoleController.ts index 72b9b8e..2a0d75f 100644 --- a/src/background/controllers/ConsoleController.ts +++ b/src/background/controllers/ConsoleController.ts @@ -5,7 +5,7 @@ import ConsoleUseCase from "../usecases/ConsoleUseCase"; export default class ConsoleController { constructor(private readonly consoleUseCase: ConsoleUseCase) {} - resize(width: number, height: number) { - return this.consoleUseCase.resize(width, height); + resize(senderTabId: number, width: number, height: number) { + return this.consoleUseCase.resize(senderTabId, width, height); } } diff --git a/src/background/infrastructures/ContentMessageListener.ts b/src/background/infrastructures/ContentMessageListener.ts index ec87938..6023047 100644 --- a/src/background/infrastructures/ContentMessageListener.ts +++ b/src/background/infrastructures/ContentMessageListener.ts @@ -81,7 +81,11 @@ export default class ContentMessageListener { case messages.CONSOLE_ENTER_COMMAND: return this.onConsoleEnterCommand(message.text); case messages.CONSOLE_RESIZE: - return this.onConsoleResize(message.width, message.height); + return this.onConsoleResize( + senderTab.id!, + message.width, + message.height + ); case messages.SETTINGS_QUERY: return this.onSettingsQuery(); case messages.FIND_GET_KEYWORD: @@ -116,8 +120,12 @@ export default class ContentMessageListener { return this.commandController.exec(text); } - onConsoleResize(width: number, height: number): Promise<void> { - return this.consoleController.resize(width, height); + onConsoleResize( + senderTabId: number, + width: number, + height: number + ): Promise<void> { + return this.consoleController.resize(senderTabId, width, height); } async onSettingsQuery(): Promise<unknown> { diff --git a/src/background/usecases/ConsoleUseCase.ts b/src/background/usecases/ConsoleUseCase.ts index 329e4ee..7b461e5 100644 --- a/src/background/usecases/ConsoleUseCase.ts +++ b/src/background/usecases/ConsoleUseCase.ts @@ -1,21 +1,14 @@ import { inject, injectable } from "tsyringe"; import ConsoleFrameClient from "../clients/ConsoleFrameClient"; -import TabPresenter from "../presenters/TabPresenter"; @injectable() export default class ConsoleUseCase { constructor( - @inject("TabPresenter") - private readonly tabPresenter: TabPresenter, @inject("ConsoleFrameClient") private readonly consoleFrameClient: ConsoleFrameClient ) {} - async resize(width: number, height: number): Promise<void> { - const tabId = (await this.tabPresenter.getCurrent()).id; - if (typeof tabId === "undefined") { - return; - } + async resize(tabId: number, width: number, height: number): Promise<void> { return this.consoleFrameClient.resize(tabId, width, height); } } |