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.
35 lines
985 B
35 lines
985 B
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(); |
|
} |
|
}); |
|
} |
|
}
|
|
|