From 616bac29a6de4f8658805848638718340b281640 Mon Sep 17 00:00:00 2001 From: Leonardo Carreiro Date: Sun, 23 Jun 2019 17:28:12 -0300 Subject: [PATCH] Fix #48403 broken images in markdown preview --- src/vs/workbench/contrib/webview/common/resourceLoader.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/contrib/webview/common/resourceLoader.ts b/src/vs/workbench/contrib/webview/common/resourceLoader.ts index 2d9971f7e4e99..f852c52b9a786 100644 --- a/src/vs/workbench/contrib/webview/common/resourceLoader.ts +++ b/src/vs/workbench/contrib/webview/common/resourceLoader.ts @@ -5,7 +5,7 @@ import { VSBuffer } from 'vs/base/common/buffer'; import { sep } from 'vs/base/common/path'; -import { startsWith } from 'vs/base/common/strings'; +import { startsWith, endsWith } from 'vs/base/common/strings'; import { URI } from 'vs/base/common/uri'; import { IFileService } from 'vs/platform/files/common/files'; import { REMOTE_HOST_SCHEME } from 'vs/platform/remote/common/remoteHosts'; @@ -45,10 +45,11 @@ export async function loadLocalResource( extensionLocation: URI | undefined, getRoots: () => ReadonlyArray ): Promise { - const requestPath = requestUri.path; + const requestPath = requestUri.authority ? `//${requestUri.authority}${requestUri.path}` : requestUri.path; const normalizedPath = URI.file(requestPath); for (const root of getRoots()) { - if (!startsWith(normalizedPath.fsPath, root.fsPath + sep)) { + const rootPath = root.fsPath + (endsWith(root.fsPath, sep) ? '' : sep); + if (!startsWith(normalizedPath.fsPath, rootPath)) { continue; }