diff --git a/src/vs/workbench/api/browser/mainThreadWebviewPanelsAndViews.ts b/src/vs/workbench/api/browser/mainThreadWebviewPanelsAndViews.ts index 5d1e69ffcb0..ea94413c303 100644 --- a/src/vs/workbench/api/browser/mainThreadWebviewPanelsAndViews.ts +++ b/src/vs/workbench/api/browser/mainThreadWebviewPanelsAndViews.ts @@ -158,7 +158,7 @@ export class MainThreadWebviewPanelsAndViews extends Disposable implements extHo public get webviewInputs(): Iterable { return this._webviewInputs; } - public addWebviewInput(handle: extHostProtocol.WebviewPanelHandle, input: WebviewInput): void { + public addWebviewInput(handle: extHostProtocol.WebviewHandle, input: WebviewInput): void { this._webviewInputs.add(handle, input); this._mainThreadWebviews.addWebview(handle, input.webview); @@ -171,7 +171,7 @@ export class MainThreadWebviewPanelsAndViews extends Disposable implements extHo public $createWebviewPanel( extensionData: extHostProtocol.WebviewExtensionDescription, - handle: extHostProtocol.WebviewPanelHandle, + handle: extHostProtocol.WebviewHandle, viewType: string, title: string, showOptions: { viewColumn?: EditorViewColumn, preserveFocus?: boolean; }, @@ -196,23 +196,23 @@ export class MainThreadWebviewPanelsAndViews extends Disposable implements extHo this._telemetryService.publicLog('webviews:createWebviewPanel', { extensionId: extension.id.value }); } - public $disposeWebview(handle: extHostProtocol.WebviewPanelHandle): void { + public $disposeWebview(handle: extHostProtocol.WebviewHandle): void { const webview = this.getWebviewInput(handle); webview.dispose(); } - public $setTitle(handle: extHostProtocol.WebviewPanelHandle, value: string): void { + public $setTitle(handle: extHostProtocol.WebviewHandle, value: string): void { const webview = this.getWebviewInput(handle); webview.setName(value); } - public $setIconPath(handle: extHostProtocol.WebviewPanelHandle, value: { light: UriComponents, dark: UriComponents; } | undefined): void { + public $setIconPath(handle: extHostProtocol.WebviewHandle, value: { light: UriComponents, dark: UriComponents; } | undefined): void { const webview = this.getWebviewInput(handle); webview.iconPath = reviveWebviewIcon(value); } - public $reveal(handle: extHostProtocol.WebviewPanelHandle, showOptions: extHostProtocol.WebviewPanelShowOptions): void { + public $reveal(handle: extHostProtocol.WebviewHandle, showOptions: extHostProtocol.WebviewPanelShowOptions): void { const webview = this.getWebviewInput(handle); if (webview.isDisposed()) { return; @@ -336,7 +336,7 @@ export class MainThreadWebviewPanelsAndViews extends Disposable implements extHo } } - private getWebviewInput(handle: extHostProtocol.WebviewPanelHandle): WebviewInput { + private getWebviewInput(handle: extHostProtocol.WebviewHandle): WebviewInput { const webview = this.tryGetWebviewInput(handle); if (!webview) { throw new Error(`Unknown webview handle:${handle}`); @@ -344,7 +344,7 @@ export class MainThreadWebviewPanelsAndViews extends Disposable implements extHo return webview; } - private tryGetWebviewInput(handle: extHostProtocol.WebviewPanelHandle): WebviewInput | undefined { + private tryGetWebviewInput(handle: extHostProtocol.WebviewHandle): WebviewInput | undefined { return this._webviewInputs.getInputForHandle(handle); } } diff --git a/src/vs/workbench/api/browser/mainThreadWebviewViews.ts b/src/vs/workbench/api/browser/mainThreadWebviewViews.ts index 723de108e3d..df46e3c6e09 100644 --- a/src/vs/workbench/api/browser/mainThreadWebviewViews.ts +++ b/src/vs/workbench/api/browser/mainThreadWebviewViews.ts @@ -28,7 +28,7 @@ export class MainThreadWebviewsViews extends Disposable implements extHostProtoc this._proxyViews = context.getProxy(extHostProtocol.ExtHostContext.ExtHostWebviewViews); } - public $setWebviewViewTitle(handle: extHostProtocol.WebviewPanelHandle, value: string | undefined): void { + public $setWebviewViewTitle(handle: extHostProtocol.WebviewHandle, value: string | undefined): void { const webviewView = this._webviewViews.get(handle); if (!webviewView) { throw new Error('unknown webview view'); diff --git a/src/vs/workbench/api/browser/mainThreadWebviews.ts b/src/vs/workbench/api/browser/mainThreadWebviews.ts index 4f9bc90fe91..8180b9972ee 100644 --- a/src/vs/workbench/api/browser/mainThreadWebviews.ts +++ b/src/vs/workbench/api/browser/mainThreadWebviews.ts @@ -41,28 +41,28 @@ export class MainThreadWebviews extends Disposable implements extHostProtocol.Ma this._proxy = context.getProxy(extHostProtocol.ExtHostContext.ExtHostWebviews); } - public addWebview(handle: extHostProtocol.WebviewPanelHandle, webview: WebviewOverlay): void { + public addWebview(handle: extHostProtocol.WebviewHandle, webview: WebviewOverlay): void { this._webviews.set(handle, webview); this.hookupWebviewEventDelegate(handle, webview); } - public $setHtml(handle: extHostProtocol.WebviewPanelHandle, value: string): void { + public $setHtml(handle: extHostProtocol.WebviewHandle, value: string): void { const webview = this.getWebview(handle); webview.html = value; } - public $setOptions(handle: extHostProtocol.WebviewPanelHandle, options: IWebviewOptions): void { + public $setOptions(handle: extHostProtocol.WebviewHandle, options: IWebviewOptions): void { const webview = this.getWebview(handle); webview.contentOptions = reviveWebviewOptions(options); } - public async $postMessage(handle: extHostProtocol.WebviewPanelHandle, message: any): Promise { + public async $postMessage(handle: extHostProtocol.WebviewHandle, message: any): Promise { const webview = this.getWebview(handle); webview.postMessage(message); return true; } - private hookupWebviewEventDelegate(handle: extHostProtocol.WebviewPanelHandle, webview: WebviewOverlay) { + private hookupWebviewEventDelegate(handle: extHostProtocol.WebviewHandle, webview: WebviewOverlay) { const disposables = new DisposableStore(); disposables.add(webview.onDidClickLink((uri) => this.onDidClickLink(handle, uri))); @@ -75,7 +75,7 @@ export class MainThreadWebviews extends Disposable implements extHostProtocol.Ma })); } - private onDidClickLink(handle: extHostProtocol.WebviewPanelHandle, link: string): void { + private onDidClickLink(handle: extHostProtocol.WebviewHandle, link: string): void { const webview = this.getWebview(handle); if (this.isSupportedLink(webview, URI.parse(link))) { this._openerService.open(link, { fromUserGesture: true }); @@ -92,7 +92,7 @@ export class MainThreadWebviews extends Disposable implements extHostProtocol.Ma return !!webview.contentOptions.enableCommandUris && link.scheme === Schemas.command; } - private getWebview(handle: extHostProtocol.WebviewPanelHandle): Webview { + private getWebview(handle: extHostProtocol.WebviewHandle): Webview { const webview = this._webviews.get(handle); if (!webview) { throw new Error(`Unknown webview handle:${handle}`); diff --git a/src/vs/workbench/api/common/extHost.protocol.ts b/src/vs/workbench/api/common/extHost.protocol.ts index 4ec9a3af1f5..10ad9f81831 100644 --- a/src/vs/workbench/api/common/extHost.protocol.ts +++ b/src/vs/workbench/api/common/extHost.protocol.ts @@ -581,7 +581,7 @@ export interface ExtHostEditorInsetsShape { $onDidReceiveMessage(handle: number, message: any): void; } -export type WebviewPanelHandle = string; +export type WebviewHandle = string; export interface WebviewPanelShowOptions { readonly viewColumn?: EditorViewColumn; @@ -609,17 +609,17 @@ export interface CustomTextEditorCapabilities { } export interface MainThreadWebviewsShape extends IDisposable { - $setHtml(handle: WebviewPanelHandle, value: string): void; - $setOptions(handle: WebviewPanelHandle, options: modes.IWebviewOptions): void; - $postMessage(handle: WebviewPanelHandle, value: any): Promise + $setHtml(handle: WebviewHandle, value: string): void; + $setOptions(handle: WebviewHandle, options: modes.IWebviewOptions): void; + $postMessage(handle: WebviewHandle, value: any): Promise } export interface MainThreadWebviewPanelsAndViewsShape extends IDisposable { - $createWebviewPanel(extension: WebviewExtensionDescription, handle: WebviewPanelHandle, viewType: string, title: string, showOptions: WebviewPanelShowOptions, options: modes.IWebviewPanelOptions & modes.IWebviewOptions): void; - $disposeWebview(handle: WebviewPanelHandle): void; - $reveal(handle: WebviewPanelHandle, showOptions: WebviewPanelShowOptions): void; - $setTitle(handle: WebviewPanelHandle, value: string): void; - $setIconPath(handle: WebviewPanelHandle, value: { light: UriComponents, dark: UriComponents; } | undefined): void; + $createWebviewPanel(extension: WebviewExtensionDescription, handle: WebviewHandle, viewType: string, title: string, showOptions: WebviewPanelShowOptions, options: modes.IWebviewPanelOptions & modes.IWebviewOptions): void; + $disposeWebview(handle: WebviewHandle): void; + $reveal(handle: WebviewHandle, showOptions: WebviewPanelShowOptions): void; + $setTitle(handle: WebviewHandle, value: string): void; + $setIconPath(handle: WebviewHandle, value: { light: UriComponents, dark: UriComponents; } | undefined): void; $registerSerializer(viewType: string): void; $unregisterSerializer(viewType: string): void; @@ -638,7 +638,7 @@ export interface MainThreadWebviewViewsShape extends IDisposable { $registerWebviewViewProvider(viewType: string, options?: { retainContextWhenHidden?: boolean }): void; $unregisterWebviewViewProvider(viewType: string): void; - $setWebviewViewTitle(handle: WebviewPanelHandle, value: string | undefined): void; + $setWebviewViewTitle(handle: WebviewHandle, value: string | undefined): void; } export interface WebviewPanelViewStateData { @@ -650,18 +650,18 @@ export interface WebviewPanelViewStateData { } export interface ExtHostWebviewsShape { - $onMessage(handle: WebviewPanelHandle, message: any): void; - $onMissingCsp(handle: WebviewPanelHandle, extensionId: string): void; + $onMessage(handle: WebviewHandle, message: any): void; + $onMissingCsp(handle: WebviewHandle, extensionId: string): void; } export interface ExtHostWebviewPanelsShape { $onDidChangeWebviewPanelViewStates(newState: WebviewPanelViewStateData): void; - $onDidDisposeWebviewPanel(handle: WebviewPanelHandle): Promise; - $deserializeWebviewPanel(newWebviewHandle: WebviewPanelHandle, viewType: string, title: string, state: any, position: EditorViewColumn, options: modes.IWebviewOptions & modes.IWebviewPanelOptions): Promise; + $onDidDisposeWebviewPanel(handle: WebviewHandle): Promise; + $deserializeWebviewPanel(newWebviewHandle: WebviewHandle, viewType: string, title: string, state: any, position: EditorViewColumn, options: modes.IWebviewOptions & modes.IWebviewPanelOptions): Promise; } export interface ExtHostCustomEditorsShape { - $resolveWebviewEditor(resource: UriComponents, newWebviewHandle: WebviewPanelHandle, viewType: string, title: string, position: EditorViewColumn, options: modes.IWebviewOptions & modes.IWebviewPanelOptions, cancellation: CancellationToken): Promise; + $resolveWebviewEditor(resource: UriComponents, newWebviewHandle: WebviewHandle, viewType: string, title: string, position: EditorViewColumn, options: modes.IWebviewOptions & modes.IWebviewPanelOptions, cancellation: CancellationToken): Promise; $createCustomDocument(resource: UriComponents, viewType: string, backupId: string | undefined, cancellation: CancellationToken): Promise<{ editable: boolean }>; $disposeCustomDocument(resource: UriComponents, viewType: string): Promise; @@ -675,15 +675,15 @@ export interface ExtHostCustomEditorsShape { $backup(resource: UriComponents, viewType: string, cancellation: CancellationToken): Promise; - $onMoveCustomEditor(handle: WebviewPanelHandle, newResource: UriComponents, viewType: string): Promise; + $onMoveCustomEditor(handle: WebviewHandle, newResource: UriComponents, viewType: string): Promise; } export interface ExtHostWebviewViewsShape { - $resolveWebviewView(webviewHandle: WebviewPanelHandle, viewType: string, state: any, cancellation: CancellationToken): Promise; + $resolveWebviewView(webviewHandle: WebviewHandle, viewType: string, state: any, cancellation: CancellationToken): Promise; - $onDidChangeWebviewViewVisibility(webviewHandle: WebviewPanelHandle, visible: boolean): void; + $onDidChangeWebviewViewVisibility(webviewHandle: WebviewHandle, visible: boolean): void; - $disposeWebviewView(webviewHandle: WebviewPanelHandle): void; + $disposeWebviewView(webviewHandle: WebviewHandle): void; } export enum CellKind { diff --git a/src/vs/workbench/api/common/extHostCustomEditors.ts b/src/vs/workbench/api/common/extHostCustomEditors.ts index 285c9aaea17..779075db693 100644 --- a/src/vs/workbench/api/common/extHostCustomEditors.ts +++ b/src/vs/workbench/api/common/extHostCustomEditors.ts @@ -247,7 +247,7 @@ export class ExtHostCustomEditors implements extHostProtocol.ExtHostCustomEditor async $resolveWebviewEditor( resource: UriComponents, - handle: extHostProtocol.WebviewPanelHandle, + handle: extHostProtocol.WebviewHandle, viewType: string, title: string, position: EditorViewColumn, diff --git a/src/vs/workbench/api/common/extHostWebview.ts b/src/vs/workbench/api/common/extHostWebview.ts index 60486b693c2..a7836032cd9 100644 --- a/src/vs/workbench/api/common/extHostWebview.ts +++ b/src/vs/workbench/api/common/extHostWebview.ts @@ -21,7 +21,7 @@ import * as extHostTypes from './extHostTypes'; export class ExtHostWebview implements vscode.Webview { - readonly #handle: extHostProtocol.WebviewPanelHandle; + readonly #handle: extHostProtocol.WebviewHandle; readonly #proxy: extHostProtocol.MainThreadWebviewsShape; readonly #deprecationService: IExtHostApiDeprecationService; @@ -35,7 +35,7 @@ export class ExtHostWebview implements vscode.Webview { #hasCalledAsWebviewUri = false; constructor( - handle: extHostProtocol.WebviewPanelHandle, + handle: extHostProtocol.WebviewHandle, proxy: extHostProtocol.MainThreadWebviewsShape, options: vscode.WebviewOptions, initData: WebviewInitData, @@ -121,7 +121,7 @@ type IconPath = URI | { light: URI, dark: URI }; class ExtHostWebviewPanel extends Disposable implements vscode.WebviewPanel { - readonly #handle: extHostProtocol.WebviewPanelHandle; + readonly #handle: extHostProtocol.WebviewHandle; readonly #proxy: extHostProtocol.MainThreadWebviewPanelsAndViewsShape; readonly #viewType: string; @@ -142,7 +142,7 @@ class ExtHostWebviewPanel extends Disposable implements vscode.WebviewPanel { public readonly onDidChangeViewState = this.#onDidChangeViewState.event; constructor( - handle: extHostProtocol.WebviewPanelHandle, + handle: extHostProtocol.WebviewHandle, proxy: extHostProtocol.MainThreadWebviewPanelsAndViewsShape, viewType: string, title: string, @@ -265,15 +265,15 @@ class ExtHostWebviewPanel extends Disposable implements vscode.WebviewPanel { export class ExtHostWebviews implements extHostProtocol.ExtHostWebviewsShape, extHostProtocol.ExtHostWebviewPanelsShape { - private static newHandle(): extHostProtocol.WebviewPanelHandle { + private static newHandle(): extHostProtocol.WebviewHandle { return generateUuid(); } private readonly _proxy: extHostProtocol.MainThreadWebviewPanelsAndViewsShape; private readonly _webviewProxy: extHostProtocol.MainThreadWebviewsShape; - private readonly _webviews = new Map(); - private readonly _webviewPanels = new Map(); + private readonly _webviews = new Map(); + private readonly _webviewPanels = new Map(); private readonly _serializers = new Map { + async $onDidDisposeWebviewPanel(handle: extHostProtocol.WebviewHandle): Promise { const panel = this.getWebviewPanel(handle); panel?.dispose(); @@ -391,7 +391,7 @@ export class ExtHostWebviews implements extHostProtocol.ExtHostWebviewsShape, ex } async $deserializeWebviewPanel( - webviewHandle: extHostProtocol.WebviewPanelHandle, + webviewHandle: extHostProtocol.WebviewHandle, viewType: string, title: string, state: any, @@ -424,11 +424,11 @@ export class ExtHostWebviews implements extHostProtocol.ExtHostWebviewsShape, ex return webview; } - private getWebview(handle: extHostProtocol.WebviewPanelHandle): ExtHostWebview | undefined { + private getWebview(handle: extHostProtocol.WebviewHandle): ExtHostWebview | undefined { return this._webviews.get(handle); } - public getWebviewPanel(handle: extHostProtocol.WebviewPanelHandle): ExtHostWebviewPanel | undefined { + public getWebviewPanel(handle: extHostProtocol.WebviewHandle): ExtHostWebviewPanel | undefined { return this._webviewPanels.get(handle); } } diff --git a/src/vs/workbench/api/common/extHostWebviewView.ts b/src/vs/workbench/api/common/extHostWebviewView.ts index 86da3876486..cc23d2a1fcd 100644 --- a/src/vs/workbench/api/common/extHostWebviewView.ts +++ b/src/vs/workbench/api/common/extHostWebviewView.ts @@ -14,7 +14,7 @@ import * as extHostTypes from './extHostTypes'; class ExtHostWebviewView extends Disposable implements vscode.WebviewView { - readonly #handle: extHostProtocol.WebviewPanelHandle; + readonly #handle: extHostProtocol.WebviewHandle; readonly #proxy: extHostProtocol.MainThreadWebviewViewsShape; readonly #viewType: string; @@ -25,7 +25,7 @@ class ExtHostWebviewView extends Disposable implements vscode.WebviewView { #title: string | undefined; constructor( - handle: extHostProtocol.WebviewPanelHandle, + handle: extHostProtocol.WebviewHandle, proxy: extHostProtocol.MainThreadWebviewViewsShape, viewType: string, webview: ExtHostWebview, @@ -101,7 +101,7 @@ export class ExtHostWebviewViews implements extHostProtocol.ExtHostWebviewViewsS readonly extension: IExtensionDescription; }>(); - private readonly _webviewViews = new Map(); + private readonly _webviewViews = new Map(); constructor( mainContext: extHostProtocol.IMainContext,