Remove useParentPostMessage

This was only used in electron based webviews
This commit is contained in:
Matt Bierner 2021-07-07 14:28:15 -07:00
parent be81d88a5e
commit 612a37387b
No known key found for this signature in database
GPG key ID: 099C331567E11888
2 changed files with 4 additions and 10 deletions

View file

@ -112,7 +112,6 @@ createWebviewManager({
postMessage: hostMessaging.postMessage.bind(hostMessaging),
onMessage: hostMessaging.onMessage.bind(hostMessaging),
onElectron: onElectron,
useParentPostMessage: false,
onIframeLoaded: (frame) => {
unloadMonitor.onIframeLoaded(frame);
}

View file

@ -14,7 +14,6 @@
* ready?: Promise<void>,
* onIframeLoaded?: (iframe: HTMLIFrameElement) => void,
* onElectron?: boolean,
* useParentPostMessage: boolean,
* }} WebviewHost
*/
@ -164,20 +163,16 @@ defaultStyles.textContent = `
/**
* @param {boolean} allowMultipleAPIAcquire
* @param {boolean} useParentPostMessage
* @param {*} [state]
* @return {string}
*/
function getVsCodeApiScript(allowMultipleAPIAcquire, useParentPostMessage, state) {
function getVsCodeApiScript(allowMultipleAPIAcquire, state) {
const encodedState = state ? encodeURIComponent(state) : undefined;
return /* js */`
globalThis.acquireVsCodeApi = (function() {
const originalPostMessage = window.parent['${useParentPostMessage ? 'postMessage' : vscodePostMessageFuncName}'].bind(window.parent);
const originalPostMessage = window.parent['${vscodePostMessageFuncName}'].bind(window.parent);
const doPostMessage = (channel, data, transfer) => {
${useParentPostMessage
? `originalPostMessage({ command: channel, data: data }, '*', transfer);`
: `originalPostMessage(channel, data, transfer);`
}
originalPostMessage(channel, data, transfer);
};
let acquired = false;
@ -549,7 +544,7 @@ export async function createWebviewManager(host) {
if (options.allowScripts) {
const defaultScript = newDocument.createElement('script');
defaultScript.id = '_vscodeApiScript';
defaultScript.textContent = getVsCodeApiScript(options.allowMultipleAPIAcquire, host.useParentPostMessage, data.state);
defaultScript.textContent = getVsCodeApiScript(options.allowMultipleAPIAcquire, data.state);
newDocument.head.prepend(defaultScript);
}