1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-09-27 04:03:00 +02:00

reload window popup when opened on safari

This commit is contained in:
Kyle Spearrin 2018-01-12 12:22:55 -05:00
parent a4bda84a3c
commit c5c95aacb3
2 changed files with 20 additions and 2 deletions

View File

@ -162,11 +162,11 @@ export default class MainBackground {
await new Analytics(window).init();
this.containerService.attachToWindow(window);
await this.runtimeBackground.init();
if (!this.isSafari) {
await this.commandsBackground.init();
await this.contextMenusBackground.init();
await this.idleBackground.init();
await this.runtimeBackground.init();
await this.tabsBackground.init();
await this.webRequestBackground.init();
await this.windowsBackground.init();

View File

@ -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', {