A fork of https://github.com/ueokande/vim-vixen
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1009 B
38 lines
1009 B
import { injectable } from 'tsyringe'; |
|
import * as messages from '../../shared/messages'; |
|
|
|
@injectable() |
|
export default class ContentMessageClient { |
|
async broadcastSettingsChanged(): Promise<void> { |
|
let tabs = await browser.tabs.query({}); |
|
for (let 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> { |
|
let enabled = await browser.tabs.sendMessage(tabId, { |
|
type: messages.ADDON_ENABLED_QUERY, |
|
}); |
|
return enabled as any as boolean; |
|
} |
|
|
|
toggleAddonEnabled(tabId: number): Promise<void> { |
|
return browser.tabs.sendMessage(tabId, { |
|
type: messages.ADDON_TOGGLE_ENABLED, |
|
}); |
|
} |
|
|
|
scrollTo(tabId: number, x: number, y: number): Promise<void> { |
|
return browser.tabs.sendMessage(tabId, { |
|
type: messages.TAB_SCROLL_TO, |
|
x, |
|
y, |
|
}); |
|
} |
|
}
|
|
|