From 6e81adc78f03e587fdcd1846e0fb534977edc052 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Tue, 29 May 2018 16:29:11 -0700 Subject: [PATCH] Try serializing webviews even if they have not called setState Fixes #50752 --- .../api/electron-browser/mainThreadWebview.ts | 12 +++++++----- .../electron-browser/webviewEditorInputFactory.ts | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/vs/workbench/api/electron-browser/mainThreadWebview.ts b/src/vs/workbench/api/electron-browser/mainThreadWebview.ts index 4b616c0bc6ce0..941021d0ee809 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadWebview.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadWebview.ts @@ -134,11 +134,13 @@ export class MainThreadWebviews implements MainThreadWebviewsShape, WebviewReviv this._webviews.set(handle, webview); webview._events = this.createWebviewEventDelegate(handle); - let state; - try { - state = JSON.parse(webview.state.state); - } catch { - state = {}; + let state = undefined; + if (webview.state.state) { + try { + state = JSON.parse(webview.state.state); + } catch { + // noop + } } return this._proxy.$deserializeWebviewPanel(handle, webview.state.viewType, webview.getTitle(), state, webview.position, webview.options) diff --git a/src/vs/workbench/parts/webview/electron-browser/webviewEditorInputFactory.ts b/src/vs/workbench/parts/webview/electron-browser/webviewEditorInputFactory.ts index 8038b5ba4cfe8..094c71d62a290 100644 --- a/src/vs/workbench/parts/webview/electron-browser/webviewEditorInputFactory.ts +++ b/src/vs/workbench/parts/webview/electron-browser/webviewEditorInputFactory.ts @@ -33,7 +33,7 @@ export class WebviewEditorInputFactory implements IEditorInputFactory { input: WebviewEditorInput ): string { // Has no state, don't revive - if (!input.state || !input.webviewState) { + if (!input.state) { return null; }