blob: e889392d7470eafe2c2a7c7245a707ffa0c1e757 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import { injectable } from "tsyringe";
import * as messages from "../../shared/messages";
@injectable()
export default class ContentMessageClient {
async broadcastSettingsChanged(): Promise<void> {
const tabs = await browser.tabs.query({});
for (const tab of tabs) {
if (!tab.id || (tab.url && tab.url.startsWith("about:"))) {
continue;
}
browser.tabs.sendMessage(tab.id, {
type: messages.SETTINGS_CHANGED,
});
}
}
async getAddonEnabled(tabId: number): Promise<boolean> {
const enabled = await browser.tabs.sendMessage(tabId, {
type: messages.ADDON_ENABLED_QUERY,
});
return (enabled as any) as boolean;
}
async toggleAddonEnabled(tabId: number): Promise<void> {
await browser.tabs.sendMessage(tabId, {
type: messages.ADDON_TOGGLE_ENABLED,
});
}
async scrollTo(tabId: number, x: number, y: number): Promise<void> {
await browser.tabs.sendMessage(tabId, {
type: messages.TAB_SCROLL_TO,
x,
y,
});
}
}
|