From 5a6e8dc0d39e4676486c333795db17f8c636851c Mon Sep 17 00:00:00 2001 From: Sandeep Somavarapu Date: Fri, 15 Dec 2017 09:47:37 +0100 Subject: [PATCH] #40169 Remove usage of custom marshaller --- .../mainThreadConfiguration.ts | 22 ++++++++++++++----- src/vs/workbench/api/node/extHost.protocol.ts | 6 ++--- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/vs/workbench/api/electron-browser/mainThreadConfiguration.ts b/src/vs/workbench/api/electron-browser/mainThreadConfiguration.ts index 04b312408b0..2b307d2d019 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadConfiguration.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadConfiguration.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; -import URI from 'vs/base/common/uri'; +import URI, { UriComponents } from 'vs/base/common/uri'; import { TPromise } from 'vs/base/common/winjs.base'; import { IDisposable } from 'vs/base/common/lifecycle'; import { Registry } from 'vs/platform/registry/common/platform'; @@ -13,7 +13,7 @@ import { IWorkspaceContextService, WorkbenchState } from 'vs/platform/workspace/ import { IWorkspaceConfigurationService } from 'vs/workbench/services/configuration/common/configuration'; import { MainThreadConfigurationShape, MainContext, ExtHostContext, IExtHostContext, IWorkspaceConfigurationChangeEventData } from '../node/extHost.protocol'; import { extHostNamedCustomer } from 'vs/workbench/api/electron-browser/extHostCustomers'; -import { ConfigurationTarget, IConfigurationChangeEvent } from 'vs/platform/configuration/common/configuration'; +import { ConfigurationTarget, IConfigurationChangeEvent, IConfigurationModel } from 'vs/platform/configuration/common/configuration'; @extHostNamedCustomer(MainContext.MainThreadConfiguration) export class MainThreadConfiguration implements MainThreadConfigurationShape { @@ -36,11 +36,13 @@ export class MainThreadConfiguration implements MainThreadConfigurationShape { this._configurationListener.dispose(); } - $updateConfigurationOption(target: ConfigurationTarget, key: string, value: any, resource: URI): TPromise { + $updateConfigurationOption(target: ConfigurationTarget, key: string, value: any, resourceUriComponenets: UriComponents): TPromise { + const resource = resourceUriComponenets ? URI.revive(resourceUriComponenets) : null; return this.writeConfiguration(target, key, value, resource); } - $removeConfigurationOption(target: ConfigurationTarget, key: string, resource: URI): TPromise { + $removeConfigurationOption(target: ConfigurationTarget, key: string, resourceUriComponenets: UriComponents): TPromise { + const resource = resourceUriComponenets ? URI.revive(resourceUriComponenets) : null; return this.writeConfiguration(target, key, undefined, resource); } @@ -61,11 +63,19 @@ export class MainThreadConfiguration implements MainThreadConfigurationShape { private toConfigurationChangeEventData(event: IConfigurationChangeEvent): IWorkspaceConfigurationChangeEventData { return { - changedConfiguration: event.changedConfiguration, + changedConfiguration: this.toJSONConfiguration(event.changedConfiguration), changedConfigurationByResource: event.changedConfigurationByResource.keys().reduce((result, resource) => { - result[resource.toString()] = event.changedConfigurationByResource.get(resource); + result[resource.toString()] = this.toJSONConfiguration(event.changedConfigurationByResource.get(resource)); return result; }, Object.create({})) }; } + + private toJSONConfiguration({ contents, keys, overrides }: IConfigurationModel = { contents: {}, keys: [], overrides: [] }): IConfigurationModel { + return { + contents, + keys, + overrides + }; + } } diff --git a/src/vs/workbench/api/node/extHost.protocol.ts b/src/vs/workbench/api/node/extHost.protocol.ts index 6fd6f4c9b30..3519c9f7ab4 100644 --- a/src/vs/workbench/api/node/extHost.protocol.ts +++ b/src/vs/workbench/api/node/extHost.protocol.ts @@ -109,8 +109,8 @@ export interface MainThreadCommandsShape extends IDisposable { } export interface MainThreadConfigurationShape extends IDisposable { - $updateConfigurationOption(target: ConfigurationTarget, key: string, value: any, resource: URI): TPromise; - $removeConfigurationOption(target: ConfigurationTarget, key: string, resource: URI): TPromise; + $updateConfigurationOption(target: ConfigurationTarget, key: string, value: any, resource: UriComponents): TPromise; + $removeConfigurationOption(target: ConfigurationTarget, key: string, resource: UriComponents): TPromise; } export interface MainThreadDiagnosticsShape extends IDisposable { @@ -733,7 +733,7 @@ export interface ExtHostWindowShape { export const MainContext = { MainThreadCommands: >createMainId('MainThreadCommands'), - MainThreadConfiguration: createMainId('MainThreadConfiguration', ProxyType.CustomMarshaller), + MainThreadConfiguration: createMainId('MainThreadConfiguration'), MainThreadDebugService: createMainId('MainThreadDebugService'), MainThreadDecorations: createMainId('MainThreadDecorations'), MainThreadDiagnostics: createMainId('MainThreadDiagnostics'), -- GitLab