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.
36 lines
985 B
36 lines
985 B
5 years ago
|
import { injectable } from 'tsyringe';
|
||
|
import ContentMessageListener from './infrastructures/ContentMessageListener';
|
||
|
import SettingController from './controllers/SettingController';
|
||
|
import VersionController from './controllers/VersionController';
|
||
|
|
||
|
@injectable()
|
||
|
export default class Application {
|
||
|
constructor(
|
||
|
private contentMessageListener: ContentMessageListener,
|
||
|
private settingController: SettingController,
|
||
|
private versionController: VersionController,
|
||
|
) {
|
||
|
}
|
||
|
|
||
|
run() {
|
||
|
this.settingController.reload();
|
||
|
|
||
|
browser.runtime.onInstalled.addListener((details) => {
|
||
|
if (details.reason !== 'install' && details.reason !== 'update') {
|
||
|
return;
|
||
|
}
|
||
|
this.versionController.notify();
|
||
|
});
|
||
|
|
||
|
this.contentMessageListener.run();
|
||
|
browser.storage.onChanged.addListener((changes, area) => {
|
||
|
if (area !== 'local') {
|
||
|
return;
|
||
|
}
|
||
|
if (changes.settings) {
|
||
|
this.settingController.reload();
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
}
|