From ad5cb8ea76d410c0a62c1eb23c13e374e66b87c4 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Wed, 23 Sep 2020 07:47:24 +0200 Subject: [PATCH] debt - memoize windows reg key entry --- .../contrib/tags/electron-browser/workspaceTags.ts | 2 +- .../electron-sandbox/accessibilityService.ts | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/contrib/tags/electron-browser/workspaceTags.ts b/src/vs/workbench/contrib/tags/electron-browser/workspaceTags.ts index 1d722fdf6ec..357ede3af3e 100644 --- a/src/vs/workbench/contrib/tags/electron-browser/workspaceTags.ts +++ b/src/vs/workbench/contrib/tags/electron-browser/workspaceTags.ts @@ -58,7 +58,7 @@ export class WorkspaceTags implements IWorkbenchContribution { this.getWorkspaceInformation().then(stats => this.diagnosticsService.reportWorkspaceStats(stats)); } - async reportWindowsEdition(): Promise { + private async reportWindowsEdition(): Promise { if (!isWindows) { return; } diff --git a/src/vs/workbench/services/accessibility/electron-sandbox/accessibilityService.ts b/src/vs/workbench/services/accessibility/electron-sandbox/accessibilityService.ts index 2532a631061..bc250461016 100644 --- a/src/vs/workbench/services/accessibility/electron-sandbox/accessibilityService.ts +++ b/src/vs/workbench/services/accessibility/electron-sandbox/accessibilityService.ts @@ -29,6 +29,7 @@ export class NativeAccessibilityService extends AccessibilityService implements declare readonly _serviceBrand: undefined; private didSendTelemetry = false; + private shouldAlwaysUnderlineAccessKeys: boolean | undefined = undefined; constructor( @INativeWorkbenchEnvironmentService environmentService: INativeWorkbenchEnvironmentService, @@ -46,8 +47,12 @@ export class NativeAccessibilityService extends AccessibilityService implements return false; } - const value = await this.nativeHostService.windowsGetStringRegKey('HKEY_CURRENT_USER', 'Control Panel\\Accessibility\\Keyboard Preference', 'On'); - return value === '1'; + if (typeof this.shouldAlwaysUnderlineAccessKeys !== 'boolean') { + const windowsKeyboardAccessibility = await this.nativeHostService.windowsGetStringRegKey('HKEY_CURRENT_USER', 'Control Panel\\Accessibility\\Keyboard Preference', 'On'); + this.shouldAlwaysUnderlineAccessKeys = (windowsKeyboardAccessibility === '1'); + } + + return this.shouldAlwaysUnderlineAccessKeys; } setAccessibilitySupport(accessibilitySupport: AccessibilitySupport): void { -- GitLab