66import { Disposable , IDisposable , dispose } from 'vs/base/common/lifecycle' ;
77import { Event , Emitter } from 'vs/base/common/event' ;
88import { ILogService , LogLevel } from 'vs/platform/log/common/log' ;
9- import { IWorkspaceStorageChangeEvent , IStorageService , StorageScope } from 'vs/platform/storage/common/storage' ;
9+ import { IWorkspaceStorageChangeEvent , IStorageService , StorageScope , IWillSaveStateEvent , WillSaveStateReason } from 'vs/platform/storage/common/storage' ;
1010import { Storage , ISQLiteStorageDatabaseLoggingOptions , IStorage , StorageHint , IStorageDatabase , SQLiteStorageDatabase } from 'vs/base/node/storage' ;
1111import { IStorageLegacyService , StorageLegacyScope } from 'vs/platform/storage/common/storageLegacyService' ;
1212import { startsWith , endsWith } from 'vs/base/common/strings' ;
@@ -31,8 +31,8 @@ export class StorageService extends Disposable implements IStorageService {
3131 private _onDidChangeStorage : Emitter < IWorkspaceStorageChangeEvent > = this . _register ( new Emitter < IWorkspaceStorageChangeEvent > ( ) ) ;
3232 get onDidChangeStorage ( ) : Event < IWorkspaceStorageChangeEvent > { return this . _onDidChangeStorage . event ; }
3333
34- private _onWillSaveState : Emitter < void > = this . _register ( new Emitter < void > ( ) ) ;
35- get onWillSaveState ( ) : Event < void > { return this . _onWillSaveState . event ; }
34+ private _onWillSaveState : Emitter < IWillSaveStateEvent > = this . _register ( new Emitter < IWillSaveStateEvent > ( ) ) ;
35+ get onWillSaveState ( ) : Event < IWillSaveStateEvent > { return this . _onWillSaveState . event ; }
3636
3737 private _hasErrors = false ;
3838 get hasErrors ( ) : boolean { return this . _hasErrors ; }
@@ -373,7 +373,7 @@ export class StorageService extends Disposable implements IStorageService {
373373 this . workspaceStorage . beforeClose ( ) ;
374374
375375 // Signal as event so that clients can still store data
376- this . _onWillSaveState . fire ( ) ;
376+ this . _onWillSaveState . fire ( { reason : WillSaveStateReason . SHUTDOWN } ) ;
377377
378378 // Do it
379379 mark ( 'willCloseGlobalStorage' ) ;
@@ -499,8 +499,8 @@ export class DelegatingStorageService extends Disposable implements IStorageServ
499499 private _onDidChangeStorage : Emitter < IWorkspaceStorageChangeEvent > = this . _register ( new Emitter < IWorkspaceStorageChangeEvent > ( ) ) ;
500500 get onDidChangeStorage ( ) : Event < IWorkspaceStorageChangeEvent > { return this . _onDidChangeStorage . event ; }
501501
502- private _onWillSaveState : Emitter < void > = this . _register ( new Emitter < void > ( ) ) ;
503- get onWillSaveState ( ) : Event < void > { return this . _onWillSaveState . event ; }
502+ private _onWillSaveState : Emitter < IWillSaveStateEvent > = this . _register ( new Emitter < IWillSaveStateEvent > ( ) ) ;
503+ get onWillSaveState ( ) : Event < IWillSaveStateEvent > { return this . _onWillSaveState . event ; }
504504
505505 private closed : boolean ;
506506 private useLegacyWorkspaceStorage : boolean ;
@@ -520,7 +520,7 @@ export class DelegatingStorageService extends Disposable implements IStorageServ
520520
521521 private registerListeners ( ) : void {
522522 this . _register ( this . storageService . onDidChangeStorage ( e => this . _onDidChangeStorage . fire ( e ) ) ) ;
523- this . _register ( this . storageService . onWillSaveState ( ( ) => this . _onWillSaveState . fire ( ) ) ) ;
523+ this . _register ( this . storageService . onWillSaveState ( e => this . _onWillSaveState . fire ( e ) ) ) ;
524524
525525 const globalKeyMarker = 'storage://global/' ;
526526
0 commit comments