From 366dfed75c2e3fba8ce619d45bb45894acd55ef5 Mon Sep 17 00:00:00 2001 From: lstocchi Date: Wed, 5 Jul 2023 22:36:58 +0200 Subject: [PATCH] generate whole browser url from server side Signed-off-by: lstocchi --- packages/main/src/plugin/icon-registry.spec.ts | 2 +- packages/main/src/plugin/icon-registry.ts | 5 +++-- packages/renderer/src/lib/style/IconsStyle.svelte | 6 +----- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/packages/main/src/plugin/icon-registry.spec.ts b/packages/main/src/plugin/icon-registry.spec.ts index 588458c9181be..5fac141c303d6 100644 --- a/packages/main/src/plugin/icon-registry.spec.ts +++ b/packages/main/src/plugin/icon-registry.spec.ts @@ -81,7 +81,7 @@ test('should register icon contribution', async () => { { format: 'woff2', location: `${extensionPath}/${fontPath}`, - browserURL: `${extensionPath}/${fontPath}`, + browserURL: `url('file://${extensionPath}/${fontPath}')`, }, ]); expect(icon.definition.font?.fontId).toBe(`${extensionId}-${fontPath}`); diff --git a/packages/main/src/plugin/icon-registry.ts b/packages/main/src/plugin/icon-registry.ts index 802935a7517c3..180831d81339f 100644 --- a/packages/main/src/plugin/icon-registry.ts +++ b/packages/main/src/plugin/icon-registry.ts @@ -96,10 +96,11 @@ export class IconRegistry { // fontId is based on the extension id and the font path const fontId = `${extension.id}-${defaultAttributes.fontPath}`; - let browserURL = iconFontLocation; + let cleanedIconFontLocation = iconFontLocation.replace(/'/g, '%27'); if (isWindows()) { - browserURL = browserURL.replace(/\\/g, '/'); + cleanedIconFontLocation = cleanedIconFontLocation.replace(/\\/g, '/'); } + const browserURL = `url('file://${cleanedIconFontLocation}')`; // font definition const fontDefinition: FontDefinition = { diff --git a/packages/renderer/src/lib/style/IconsStyle.svelte b/packages/renderer/src/lib/style/IconsStyle.svelte index 8aa90483c9b2b..1ab622e5b5b60 100644 --- a/packages/renderer/src/lib/style/IconsStyle.svelte +++ b/packages/renderer/src/lib/style/IconsStyle.svelte @@ -18,10 +18,6 @@ function createStyleSheet(): HTMLStyleElement { return style; } -export function toUrl(location: string) { - return `url('file://${location.replace(/'/g, '%27')}')`; -} - onMount(() => { createStyleSheet(); @@ -46,7 +42,7 @@ onMount(() => { }); fontsToAdd.forEach(font => { - const src = font.src.map(l => `${toUrl(l.browserURL)} format('${l.format}')`).join(', '); + const src = font.src.map(l => `${l.browserURL} format('${l.format}')`).join(', '); styles.push( `@font-face { src: ${src}; font-family: '${font.fontId.replace(/'/g, '%27')}'; font-display: block; }`, );