mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-22 09:38:38 +01:00
Make postMessage's behavior more sane
Fixes #146253 Two parts to this change: - Make postMessage return false if a message cannot be delivered to a webview - Don't queue messages for hidden (and non-retained) webviews. This was potentially causing a huge flood of messages to be dumped into the webview once it becomes visible again
This commit is contained in:
@@ -65,8 +65,7 @@ export class MainThreadWebviews extends Disposable implements extHostProtocol.Ma
|
||||
public async $postMessage(handle: extHostProtocol.WebviewHandle, jsonMessage: string, ...buffers: VSBuffer[]): Promise<boolean> {
|
||||
const webview = this.getWebview(handle);
|
||||
const { message, arrayBuffers } = deserializeWebviewMessage(jsonMessage, buffers);
|
||||
webview.postMessage(message, arrayBuffers);
|
||||
return true;
|
||||
return webview.postMessage(message, arrayBuffers);
|
||||
}
|
||||
|
||||
private hookupWebviewEventDelegate(handle: extHostProtocol.WebviewHandle, webview: IOverlayWebview, options: { serializeBuffersForPostMessage: boolean }) {
|
||||
|
||||
Reference in New Issue
Block a user