mirror of
https://github.com/bitwarden/browser
synced 2025-12-19 01:33:33 +00:00
safari tabs apis
This commit is contained in:
@@ -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();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user