Added markdown trace option for debugging user issues Fixes #24983 (#24985)

This commit is contained in:
Matt Bierner
2017-04-18 18:57:01 -07:00
committed by GitHub
parent 84af63a933
commit efd3efcb62
5 changed files with 106 additions and 5 deletions

View File

@@ -10,6 +10,7 @@ import * as path from 'path';
import { MarkdownEngine } from './markdownEngine';
import * as nls from 'vscode-nls';
import { Logger } from "./logger";
const localize = nls.loadMessageBundle();
export interface ContentSecurityPolicyArbiter {
@@ -109,7 +110,8 @@ export class MDDocumentContentProvider implements vscode.TextDocumentContentProv
constructor(
private engine: MarkdownEngine,
private context: vscode.ExtensionContext,
private cspArbiter: ContentSecurityPolicyArbiter
private cspArbiter: ContentSecurityPolicyArbiter,
private logger: Logger
) {
this.config = MarkdownPreviewConfig.getCurrentConfig();
}
@@ -191,6 +193,7 @@ export class MDDocumentContentProvider implements vscode.TextDocumentContentProv
public provideTextDocumentContent(uri: vscode.Uri): Thenable<string> {
const sourceUri = vscode.Uri.parse(uri.query);
return vscode.workspace.openTextDocument(sourceUri).then(document => {
this.config = MarkdownPreviewConfig.getCurrentConfig();
@@ -209,6 +212,8 @@ export class MDDocumentContentProvider implements vscode.TextDocumentContentProv
doubleClickToSwitchToEditor: this.config.doubleClickToSwitchToEditor
};
this.logger.log('provideTextDocumentContent', initialData);
// Content Security Policy
const nonce = new Date().getTime() + '' + new Date().getMilliseconds();
let csp = `<meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src 'self' http: https: data:; media-src 'self' http: https: data:; child-src 'none'; script-src 'nonce-${nonce}'; style-src 'self' 'unsafe-inline' http: https: data:; font-src 'self' http: https: data:;">`;