aboutsummaryrefslogtreecommitdiff
path: root/src/background
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2021-03-28 11:06:19 +0900
committerShin'ya Ueoka <ueokande@i-beam.org>2021-03-28 11:06:19 +0900
commita2a4531527c7786af18611e1d423c1504bb9245e (patch)
treea62e1a7d8e062a5be900a7e8dcee4d27c7aaa1b2 /src/background
parent94483920f2a32071505b913881eb7b342c910535 (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.ts4
-rw-r--r--src/background/infrastructures/ContentMessageListener.ts14
-rw-r--r--src/background/usecases/ConsoleUseCase.ts9
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);
}
}