提交 a118203d 编写于 作者: M Matt Bierner

Remove old html post message logic

This internal command has been replaced by the webview api's `postMessage` command.
上级 b6087b20
......@@ -18,14 +18,6 @@ import { IExtensionsWorkbenchService } from 'vs/workbench/parts/extensions/commo
import { IEditorRegistry, EditorDescriptor, Extensions as EditorExtensions } from 'vs/workbench/browser/editor';
import { registerWebViewCommands } from 'vs/workbench/parts/webview/electron-browser/webview.contribution';
function getActivePreviewsForResource(accessor: ServicesAccessor, resource: URI | string) {
const uri = resource instanceof URI ? resource : URI.parse(resource);
return accessor.get(IEditorService).visibleControls
.filter(c => c instanceof HtmlPreviewPart && c.model)
.map(e => e as HtmlPreviewPart)
.filter(e => e.model!.uri.scheme === uri.scheme && e.model!.uri.toString() === uri.toString());
}
// --- Register Editor
(Registry.as<IEditorRegistry>(EditorExtensions.Editors)).registerEditor(new EditorDescriptor(
......@@ -86,16 +78,4 @@ CommandsRegistry.registerCommand('_workbench.previewHtml', function (
.then(editor => true);
});
CommandsRegistry.registerCommand('_workbench.htmlPreview.postMessage', function (
accessor: ServicesAccessor,
resource: URI | string,
message: any
) {
const activePreviews = getActivePreviewsForResource(accessor, resource);
for (const preview of activePreviews) {
preview.sendMessage(message);
}
return activePreviews.length > 0;
});
registerWebViewCommands(HtmlPreviewPart.ID);
\ No newline at end of file
......@@ -57,7 +57,6 @@
let firstLoad = true;
let loadTimeout;
let pendingMessages = [];
let enableWrappedPostMessage = false;
let isInDevelopmentMode = false;
const initData = {
......@@ -190,11 +189,8 @@
// update iframe-contents
ipcRenderer.on('content', (_event, data) => {
const options = data.options;
enableWrappedPostMessage = options && options.enableWrappedPostMessage;
if (enableWrappedPostMessage) {
registerVscodeResourceScheme();
}
registerVscodeResourceScheme();
const text = data.contents;
const newDocument = new DOMParser().parseFromString(text, 'text/html');
......@@ -213,7 +209,7 @@
}
// apply default script
if (enableWrappedPostMessage && options.allowScripts) {
if (options.allowScripts) {
const defaultScript = newDocument.createElement('script');
defaultScript.textContent = `
const acquireVsCodeApi = (function() {
......
......@@ -184,7 +184,6 @@ export class WebviewEditor extends BaseWebviewEditor {
webview.update(input.html, {
allowScripts: input.options.enableScripts,
allowSvgs: true,
enableWrappedPostMessage: true,
useSameOriginForRoot: false,
localResourceRoots: input.options.localResourceRoots || this.getDefaultLocalResourceRoots(),
extensionLocation: input.extensionLocation
......@@ -224,7 +223,6 @@ export class WebviewEditor extends BaseWebviewEditor {
this._webview = this._instantiationService.createInstance(WebviewElement,
this._partService.getContainer(Parts.EDITOR_PART),
{
enableWrappedPostMessage: true,
useSameOriginForRoot: false,
extensionLocation: input.extensionLocation
});
......
......@@ -208,7 +208,6 @@ export class WebviewEditorInput extends EditorInput {
this._webview.options = {
allowScripts: this._options.enableScripts,
allowSvgs: true,
enableWrappedPostMessage: true,
useSameOriginForRoot: false,
localResourceRoots: this._options.localResourceRoots
};
......
......@@ -24,7 +24,6 @@ export interface WebviewOptions {
readonly allowScripts?: boolean;
readonly allowSvgs?: boolean;
readonly svgWhiteList?: string[];
readonly enableWrappedPostMessage?: boolean;
readonly useSameOriginForRoot?: boolean;
readonly localResourceRoots?: ReadonlyArray<URI>;
readonly extensionLocation?: URI;
......@@ -304,7 +303,7 @@ export class WebviewElement extends Disposable {
this._register(addDisposableListener(this._webview, 'ipc-message', (event) => {
switch (event.channel) {
case 'onmessage':
if (this._options.enableWrappedPostMessage && event.args && event.args.length) {
if (event.args && event.args.length) {
this._onMessage.fire(event.args[0]);
}
return;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册