mirror of
https://github.com/bitwarden/browser
synced 2025-12-13 14:53:33 +00:00
reload window popup when opened on safari
This commit is contained in:
@@ -17,10 +17,12 @@ export default class RuntimeBackground {
|
||||
private runtime: any;
|
||||
private autofillTimeout: number;
|
||||
private pageDetailsToAutoFill: any[] = [];
|
||||
private isSafari: boolean;
|
||||
|
||||
constructor(private main: MainBackground, private autofillService: AutofillService,
|
||||
private cipherService: CipherService, private platformUtilsService: PlatformUtilsService) {
|
||||
this.runtime = chrome.runtime;
|
||||
this.isSafari = this.platformUtilsService.isSafari();
|
||||
this.runtime = this.isSafari ? safari.application : chrome.runtime;
|
||||
}
|
||||
|
||||
async init() {
|
||||
@@ -28,6 +30,22 @@ export default class RuntimeBackground {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.isSafari) {
|
||||
// Reload the popup when it's opened
|
||||
this.runtime.addEventListener('popover', (event: any) => {
|
||||
const win: Window = event.target.contentWindow;
|
||||
const body = win.document.body;
|
||||
let child: Node = body.firstChild;
|
||||
while (child) {
|
||||
body.removeChild(child);
|
||||
child = body.firstChild;
|
||||
}
|
||||
win.location.reload();
|
||||
}, true);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.runtime.onInstalled) {
|
||||
this.runtime.onInstalled.addListener((details: any) => {
|
||||
(window as any).ga('send', {
|
||||
|
||||
Reference in New Issue
Block a user