Restore a webview panel from its serialized state.
Called when a serialized webview first becomes visible.
Webview panel to restore. The serializer should take ownership of this panel. The
serializer must restore the webview's .html and hook up all webview events.
Persisted state from the webview content.
PromiseLike indicating that the webview has been fully restored.
Restore webview panels that have been persisted when vscode shuts down.
There are two types of webview persistence:
A
WebviewPanelSerializeris only required for the second case: persisting a webview across sessions.Persistence within a session allows a webview to save its state when it becomes hidden and restore its content from this state when it becomes visible again. It is powered entirely by the webview content itself. To save off a persisted state, call
acquireVsCodeApi().setState()with any json serializable object. To restore the state again, callgetState()A
WebviewPanelSerializerextends this persistence across restarts of Theia. When the editor is shutdown, Theia will save off the state fromsetStateof all webviews that have a serializer. When the webview first becomes visible after the restart, this state is passed todeserializeWebviewPanel. The extension can then restore the oldWebviewPanelfrom this state.