From aaa01eac73a265fcd190403040ed34a67839d773 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Thu, 21 Nov 2019 20:36:39 -0800 Subject: [PATCH] Make previewManager implement WebviewEditorProvider directly --- extensions/image-preview/src/extension.ts | 8 +------- extensions/image-preview/src/preview.ts | 10 +++++----- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/extensions/image-preview/src/extension.ts b/extensions/image-preview/src/extension.ts index 63bc3973e49..5cdc665ab5f 100644 --- a/extensions/image-preview/src/extension.ts +++ b/extensions/image-preview/src/extension.ts @@ -23,13 +23,7 @@ export function activate(context: vscode.ExtensionContext) { const previewManager = new PreviewManager(extensionRoot, sizeStatusBarEntry, binarySizeStatusBarEntry, zoomStatusBarEntry); - context.subscriptions.push(vscode.window.registerWebviewEditorProvider( - PreviewManager.viewType, - { - async resolveWebviewEditor({ resource }, editor: vscode.WebviewPanel): Promise { - return previewManager.resolve(resource, editor); - } - })); + context.subscriptions.push(vscode.window.registerWebviewEditorProvider(PreviewManager.viewType, previewManager)); context.subscriptions.push(vscode.commands.registerCommand('imagePreview.zoomIn', () => { previewManager.activePreview?.zoomIn(); diff --git a/extensions/image-preview/src/preview.ts b/extensions/image-preview/src/preview.ts index 1a3207c22d0..83fcaafaaaf 100644 --- a/extensions/image-preview/src/preview.ts +++ b/extensions/image-preview/src/preview.ts @@ -13,7 +13,7 @@ import { BinarySizeStatusBarEntry } from './binarySizeStatusBarEntry'; const localize = nls.loadMessageBundle(); -export class PreviewManager { +export class PreviewManager implements vscode.WebviewEditorProvider { public static readonly viewType = 'imagePreview.previewEditor'; @@ -27,11 +27,11 @@ export class PreviewManager { private readonly zoomStatusBarEntry: ZoomStatusBarEntry, ) { } - public resolve( - resource: vscode.Uri, + public async resolveWebviewEditor( + input: { readonly resource: vscode.Uri, }, webviewEditor: vscode.WebviewPanel, - ): vscode.WebviewEditorCapabilities { - const preview = new Preview(this.extensionRoot, resource, webviewEditor, this.sizeStatusBarEntry, this.binarySizeStatusBarEntry, this.zoomStatusBarEntry); + ): Promise { + const preview = new Preview(this.extensionRoot, input.resource, webviewEditor, this.sizeStatusBarEntry, this.binarySizeStatusBarEntry, this.zoomStatusBarEntry); this._previews.add(preview); this.setActivePreview(preview);