mirror of
https://github.com/microsoft/vscode.git
synced 2026-08-24 08:45:18 +01:00
Disable dragging of links in rendered markdown (#198362)
These links don't work properly. Better to disable them for now instead of allowing invalid drags
This commit is contained in:
@@ -12,7 +12,7 @@ import { StandardMouseEvent } from 'vs/base/browser/mouseEvent';
|
||||
import { renderLabelWithIcons } from 'vs/base/browser/ui/iconLabel/iconLabels';
|
||||
import { onUnexpectedError } from 'vs/base/common/errors';
|
||||
import { Event } from 'vs/base/common/event';
|
||||
import { IMarkdownString, escapeDoubleQuotes, parseHrefAndDimensions, removeMarkdownEscapes, MarkdownStringTrustedOptions } from 'vs/base/common/htmlContent';
|
||||
import { escapeDoubleQuotes, IMarkdownString, MarkdownStringTrustedOptions, parseHrefAndDimensions, removeMarkdownEscapes } from 'vs/base/common/htmlContent';
|
||||
import { markdownEscapeEscapedIcons } from 'vs/base/common/iconLabels';
|
||||
import { defaultGenerator } from 'vs/base/common/idGenerator';
|
||||
import { KeyCode } from 'vs/base/common/keyCodes';
|
||||
@@ -80,7 +80,8 @@ const defaultMarkedRenderers = Object.freeze({
|
||||
.replace(/>/g, '>')
|
||||
.replace(/"/g, '"')
|
||||
.replace(/'/g, ''');
|
||||
return `<a href="${href}" title="${title || href}">${text}</a>`;
|
||||
|
||||
return `<a href="${href}" title="${title || href}" draggable="false">${text}</a>`;
|
||||
},
|
||||
});
|
||||
|
||||
@@ -408,6 +409,7 @@ export const allowedMarkdownAttr = [
|
||||
'controls',
|
||||
'data-code',
|
||||
'data-href',
|
||||
'draggable',
|
||||
'height',
|
||||
'href',
|
||||
'loop',
|
||||
|
||||
@@ -166,7 +166,7 @@ suite('MarkdownRenderer', () => {
|
||||
mds.appendMarkdown(`[$(zap)-link](#link)`);
|
||||
|
||||
const result: HTMLElement = store.add(renderMarkdown(mds)).element;
|
||||
assert.strictEqual(result.innerHTML, `<p><a data-href="#link" href="" title="#link"><span class="codicon codicon-zap"></span>-link</a></p>`);
|
||||
assert.strictEqual(result.innerHTML, `<p><a data-href="#link" href="" title="#link" draggable="false"><span class="codicon codicon-zap"></span>-link</a></p>`);
|
||||
});
|
||||
|
||||
test('render icon in table', () => {
|
||||
@@ -186,7 +186,7 @@ suite('MarkdownRenderer', () => {
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td><span class="codicon codicon-zap"></span></td>
|
||||
<td><a data-href="#link" href="" title="#link"><span class="codicon codicon-zap"></span>-link</a></td>
|
||||
<td><a data-href="#link" href="" title="#link" draggable="false"><span class="codicon codicon-zap"></span>-link</a></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
`);
|
||||
@@ -253,7 +253,7 @@ suite('MarkdownRenderer', () => {
|
||||
});
|
||||
|
||||
const result: HTMLElement = store.add(renderMarkdown(md)).element;
|
||||
assert.strictEqual(result.innerHTML, `<p><a data-href="command:doFoo" href="" title="command:doFoo">command1</a> <a data-href="command:doFoo" href="">command2</a></p>`);
|
||||
assert.strictEqual(result.innerHTML, `<p><a data-href="command:doFoo" href="" title="command:doFoo" draggable="false">command1</a> <a data-href="command:doFoo" href="">command2</a></p>`);
|
||||
});
|
||||
|
||||
suite('PlaintextMarkdownRender', () => {
|
||||
|
||||
Reference in New Issue
Block a user