From 4ea3acf80bac58f6a682862c6c543fd0949f7825 Mon Sep 17 00:00:00 2001 From: Matt Smith Date: Mon, 17 Aug 2020 14:49:01 -0500 Subject: [PATCH] Centralized BrowserAPI call to refresh firefox --- src/browser/browserApi.ts | 11 +++++++++++ src/popup/accounts/sso.component.ts | 5 ++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/browser/browserApi.ts b/src/browser/browserApi.ts index a536f7a694..5d8282df12 100644 --- a/src/browser/browserApi.ts +++ b/src/browser/browserApi.ts @@ -213,4 +213,15 @@ export class BrowserApi { return chrome.runtime.reload(); } } + + static reloadOpenWindows() { + if(!BrowserApi.isSafariApi) + { + var sidebarName : string = 'sidebar'; + var sidebarWindows = chrome.extension.getViews({ type: sidebarName }); + if(sidebarWindows && sidebarWindows.length > 0) { + sidebarWindows[0].location.reload(); + } + } + } } diff --git a/src/popup/accounts/sso.component.ts b/src/popup/accounts/sso.component.ts index 8a3116e690..e4f9a07c84 100644 --- a/src/popup/accounts/sso.component.ts +++ b/src/popup/accounts/sso.component.ts @@ -7,7 +7,6 @@ import { import { ApiService } from 'jslib/abstractions/api.service'; import { AuthService } from 'jslib/abstractions/auth.service'; -import BrowserPlatformUtilsService from '../../services/browserPlatformUtils.service'; import { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service'; import { EnvironmentService } from 'jslib/abstractions/environment.service'; import { I18nService } from 'jslib/abstractions/i18n.service'; @@ -18,6 +17,7 @@ import { StorageService } from 'jslib/abstractions/storage.service'; import { SyncService } from 'jslib/abstractions/sync.service'; import { SsoComponent as BaseSsoComponent } from 'jslib/angular/components/sso.component'; +import { BrowserApi } from '../../browser/browserApi'; @Component({ selector: 'app-sso', @@ -42,6 +42,9 @@ export class SsoComponent extends BaseSsoComponent { this.clientId = 'browser'; super.onSuccessfulLogin = () => { + BrowserApi.reloadOpenWindows(); + const thisWindow = window.open('', '_self'); + thisWindow.close(); return syncService.fullSync(true); }; }