33 * Licensed under the MIT License. See License.txt in the project root for license information.
44 *--------------------------------------------------------------------------------------------*/
55
6- import { Emitter , Event } from 'vs/base/common/event' ;
7- import { IAccessibilityService , AccessibilitySupport , CONTEXT_ACCESSIBILITY_MODE_ENABLED } from 'vs/platform/accessibility/common/accessibility' ;
8- import { Disposable } from 'vs/base/common/lifecycle' ;
9- import { IContextKeyService , IContextKey } from 'vs/platform/contextkey/common/contextkey' ;
6+ import { IAccessibilityService , AccessibilitySupport } from 'vs/platform/accessibility/common/accessibility' ;
7+ import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey' ;
108import { IConfigurationService } from 'vs/platform/configuration/common/configuration' ;
9+ import { AbstractAccessibilityService } from 'vs/platform/accessibility/common/abstractAccessibilityService' ;
1110
12- export class BrowserAccessibilityService extends Disposable implements IAccessibilityService {
11+ export class BrowserAccessibilityService extends AbstractAccessibilityService implements IAccessibilityService {
1312
1413 _serviceBrand : any ;
1514
1615 private _accessibilitySupport = AccessibilitySupport . Unknown ;
17- private _accessibilityModeEnabledContext : IContextKey < boolean > ;
18- private readonly _onDidChangeAccessibilitySupport = new Emitter < void > ( ) ;
19- readonly onDidChangeAccessibilitySupport : Event < void > = this . _onDidChangeAccessibilitySupport . event ;
2016
2117 constructor (
22- @IContextKeyService private readonly _contextKeyService : IContextKeyService ,
23- @IConfigurationService private readonly _configurationService : IConfigurationService ,
18+ @IContextKeyService readonly contextKeyService : IContextKeyService ,
19+ @IConfigurationService readonly configurationService : IConfigurationService ,
2420 ) {
25- super ( ) ;
26- this . _accessibilityModeEnabledContext = CONTEXT_ACCESSIBILITY_MODE_ENABLED . bindTo ( this . _contextKeyService ) ;
27- this . _register ( this . _configurationService . onDidChangeConfiguration ( e => {
28- if ( e . affectsConfiguration ( 'editor.accessibilitySupport' ) ) {
29- this . _updateContextKey ( ) ;
30- }
31- } ) ) ;
32- this . _updateContextKey ( ) ;
21+ super ( contextKeyService , configurationService ) ;
3322 }
3423
3524 alwaysUnderlineAccessKeys ( ) : Promise < boolean > {
@@ -43,16 +32,9 @@ export class BrowserAccessibilityService extends Disposable implements IAccessib
4332
4433 this . _accessibilitySupport = accessibilitySupport ;
4534 this . _onDidChangeAccessibilitySupport . fire ( ) ;
46- this . _updateContextKey ( ) ;
4735 }
4836
4937 getAccessibilitySupport ( ) : AccessibilitySupport {
5038 return this . _accessibilitySupport ;
5139 }
52-
53- private _updateContextKey ( ) : void {
54- const detected = this . getAccessibilitySupport ( ) === AccessibilitySupport . Enabled ;
55- const config = this . _configurationService . getValue ( 'editor.accessibilitySupport' ) ;
56- this . _accessibilityModeEnabledContext . set ( config === 'on' || ( config === 'auto' && detected ) ) ;
57- }
5840}
0 commit comments