Skip to content

Commit ca72122

Browse files
fix 235221: Encode and decode markdown content to escape illegal chars
1 parent da1d8b9 commit ca72122

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

extensions/markdown-language-features/preview-src/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,10 @@ document.addEventListener('click', event => {
355355

356356
window.addEventListener('load', () => {
357357
const htmlParser = new DOMParser();
358-
const markDownHtml = htmlParser.parseFromString(getData('data-md-content'), 'text/html');
358+
const markDownHtml = htmlParser.parseFromString(
359+
decodeURIComponent(getData('data-md-content')),
360+
'text/html'
361+
);
359362
document.body.appendChild(markDownHtml.body);
360363
});
361364

extensions/markdown-language-features/src/preview/documentRenderer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ export class MdDocumentRenderer {
9999
data-settings="${escapeAttribute(JSON.stringify(initialData))}"
100100
data-strings="${escapeAttribute(JSON.stringify(previewStrings))}"
101101
data-state="${escapeAttribute(JSON.stringify(state || {}))}"
102-
data-md-content="${escapeAttribute(JSON.stringify(body.html))}">
102+
data-md-content="${escapeAttribute(JSON.stringify(encodeURIComponent(body.html)))}">
103103
<script src="${this._extensionResourcePath(resourceProvider, 'pre.js')}" nonce="${nonce}"></script>
104104
${this._getStyles(resourceProvider, sourceUri, config, imageInfo)}
105105
<base href="${resourceProvider.asWebviewUri(markdownDocument.uri)}">

0 commit comments

Comments
 (0)