From fae59489573e401eb50eda22e0710165886c25ec Mon Sep 17 00:00:00 2001 From: Rachel Macfarlane Date: Thu, 6 Sep 2018 16:20:54 -0700 Subject: [PATCH] Update integrity once, not on each window create --- src/vs/platform/integrity/node/integrityServiceImpl.ts | 6 +++++- .../workbench/browser/parts/titlebar/titlebarPart.ts | 6 ++---- src/vs/workbench/electron-browser/window.ts | 10 +--------- src/vs/workbench/services/title/common/titleService.ts | 1 - 4 files changed, 8 insertions(+), 15 deletions(-) diff --git a/src/vs/platform/integrity/node/integrityServiceImpl.ts b/src/vs/platform/integrity/node/integrityServiceImpl.ts index 5174f67fdeb..694a134719d 100644 --- a/src/vs/platform/integrity/node/integrityServiceImpl.ts +++ b/src/vs/platform/integrity/node/integrityServiceImpl.ts @@ -15,6 +15,7 @@ import Severity from 'vs/base/common/severity'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { ILifecycleService, LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle'; import { INotificationService } from 'vs/platform/notification/common/notification'; +import { IWindowsService } from 'vs/platform/windows/common/windows'; interface IStorageData { dontShowPrompt: boolean; @@ -64,7 +65,8 @@ export class IntegrityServiceImpl implements IIntegrityService { constructor( @INotificationService private notificationService: INotificationService, @IStorageService storageService: IStorageService, - @ILifecycleService private lifecycleService: ILifecycleService + @ILifecycleService private lifecycleService: ILifecycleService, + @IWindowsService private windowsService: IWindowsService ) { this._storage = new IntegrityStorage(storageService); @@ -76,6 +78,8 @@ export class IntegrityServiceImpl implements IIntegrityService { return; } this._prompt(); + + this.windowsService.updateIntegrity(r.isPure); }); } diff --git a/src/vs/workbench/browser/parts/titlebar/titlebarPart.ts b/src/vs/workbench/browser/parts/titlebar/titlebarPart.ts index 72443974415..23fe19023cd 100644 --- a/src/vs/workbench/browser/parts/titlebar/titlebarPart.ts +++ b/src/vs/workbench/browser/parts/titlebar/titlebarPart.ts @@ -86,7 +86,7 @@ export class TitlebarPart extends Part implements ITitleService { ) { super(id, { hasTitle: false }, themeService); - this.properties = { isPure: true, isAdmin: false }; + this.properties = { isAdmin: false }; this.activeEditorListeners = []; this.registerListeners(); @@ -193,11 +193,9 @@ export class TitlebarPart extends Part implements ITitleService { updateProperties(properties: ITitleProperties): void { const isAdmin = typeof properties.isAdmin === 'boolean' ? properties.isAdmin : this.properties.isAdmin; - const isPure = typeof properties.isPure === 'boolean' ? properties.isPure : this.properties.isPure; - if (isAdmin !== this.properties.isAdmin || isPure !== this.properties.isPure) { + if (isAdmin !== this.properties.isAdmin) { this.properties.isAdmin = isAdmin; - this.properties.isPure = isPure; this.setTitle(this.getWindowTitle()); } diff --git a/src/vs/workbench/electron-browser/window.ts b/src/vs/workbench/electron-browser/window.ts index 61c9fb6d067..c9f7680280d 100644 --- a/src/vs/workbench/electron-browser/window.ts +++ b/src/vs/workbench/electron-browser/window.ts @@ -37,7 +37,6 @@ import { RunOnceScheduler } from 'vs/base/common/async'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { LifecyclePhase, ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle'; import { IWorkspaceFolderCreationData } from 'vs/platform/workspaces/common/workspaces'; -import { IIntegrityService } from 'vs/platform/integrity/common/integrity'; import { AccessibilitySupport, isRootUser, isWindows, isMacintosh } from 'vs/base/common/platform'; import product from 'vs/platform/node/product'; import { INotificationService } from 'vs/platform/notification/common/notification'; @@ -84,8 +83,7 @@ export class ElectronWindow extends Themable { @IWorkspaceEditingService private workspaceEditingService: IWorkspaceEditingService, @IFileService private fileService: IFileService, @IMenuService private menuService: IMenuService, - @ILifecycleService private lifecycleService: ILifecycleService, - @IIntegrityService private integrityService: IIntegrityService + @ILifecycleService private lifecycleService: ILifecycleService ) { super(themeService); @@ -286,12 +284,6 @@ export class ElectronWindow extends Themable { ipc.send('vscode:workbenchLoaded', this.windowService.getCurrentWindowId()); }); - // Integrity warning - this.integrityService.isPure().then(res => { - this.titleService.updateProperties({ isPure: res.isPure }); - this.windowsService.updateIntegrity(res.isPure); - }); - // Root warning this.lifecycleService.when(LifecyclePhase.Running).then(() => { let isAdminPromise: Promise; diff --git a/src/vs/workbench/services/title/common/titleService.ts b/src/vs/workbench/services/title/common/titleService.ts index 90f21a505df..6ccb939faeb 100644 --- a/src/vs/workbench/services/title/common/titleService.ts +++ b/src/vs/workbench/services/title/common/titleService.ts @@ -9,7 +9,6 @@ import { createDecorator } from 'vs/platform/instantiation/common/instantiation' export const ITitleService = createDecorator('titleService'); export interface ITitleProperties { - isPure?: boolean; isAdmin?: boolean; } -- GitLab