src/vs/workbench/api/browser/mainThreadStorage.ts/MainThreadStorage/constructor
class MainThreadStorage:	constructor(
		extHostContext: IExtHostContext,
		@IStorageService storageService: IStorageService,
		@IExtensionsStorageSyncService extensionsStorageSyncService: IExtensionsStorageSyncService,
	) {
		this._storageService = storageService;
		this._extensionsStorageSyncService = extensionsStorageSyncService;
		this._proxy = extHostContext.getProxy(ExtHostContext.ExtHostStorage);

		this._storageListener = this._storageService.onDidChangeValue(e => {
			const shared = e.scope === StorageScope.GLOBAL;
			if (shared && this._sharedStorageKeysToWatch.has(e.key)) {
				try {
					this._proxy.$acceptValue(shared, e.key, this._getValue(shared, e.key));
				} catch (error) {
					// ignore parsing errors that can happen
				}
			}
		});
	}