1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-19 01:33:33 +00:00

safari tabs apis

This commit is contained in:
Kyle Spearrin
2018-01-13 14:56:38 -05:00
parent 97d1e0c98a
commit 698632a1df
3 changed files with 28 additions and 4 deletions

View File

@@ -1,10 +1,14 @@
import MainBackground from './main.background';
import { PlatformUtilsService } from 'jslib/abstractions';
export default class TabsBackground {
private tabs: any;
private isSafari: boolean;
constructor(private main: MainBackground) {
this.tabs = chrome.tabs;
constructor(private main: MainBackground, private platformUtilsService: PlatformUtilsService) {
this.isSafari = this.platformUtilsService.isSafari();
this.tabs = this.isSafari ? safari.application : chrome.tabs;
}
async init() {
@@ -12,6 +16,19 @@ export default class TabsBackground {
return;
}
if (this.isSafari) {
this.tabs.addEventListener('activate', async (ev: any) => {
await this.main.refreshBadgeAndMenu();
}, true);
this.tabs.addEventListener('navigate', async (ev: any) => {
await this.main.checkLoginsToAdd();
await this.main.refreshBadgeAndMenu();
}, true);
return;
}
this.tabs.onActivated.addListener(async (activeInfo: any) => {
await this.main.refreshBadgeAndMenu();
});