From 4b2b5b59afcd4a50ef0156fdbd163c21aa776180 Mon Sep 17 00:00:00 2001 From: Lalle <29478339+LalleSX@users.noreply.github.com> Date: Mon, 15 May 2023 23:29:42 +0200 Subject: [PATCH] Made renderContent faster --- src/entries/contentScript/renderContent.ts | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/entries/contentScript/renderContent.ts b/src/entries/contentScript/renderContent.ts index fae5e25..ad08c63 100644 --- a/src/entries/contentScript/renderContent.ts +++ b/src/entries/contentScript/renderContent.ts @@ -17,12 +17,20 @@ export default async function renderContent( await addViteStyleTarget(shadowRoot) } else { - cssPaths.forEach((cssPath: string) => { - const styleEl = document.createElement("link") - styleEl.setAttribute("rel", "stylesheet") - styleEl.setAttribute("href", browser.runtime.getURL(cssPath)) - shadowRoot.appendChild(styleEl) - }) + const fragment = document.createDocumentFragment() + await Promise.all( + cssPaths.map((cssPath: string) => { + return new Promise((resolve, reject) => { + const styleEl = document.createElement("link") + styleEl.setAttribute("rel", "stylesheet") + styleEl.setAttribute("href", browser.runtime.getURL(cssPath)) + styleEl.onload = resolve + styleEl.onerror = reject + fragment.appendChild(styleEl) + }) + }) + ) + shadowRoot.appendChild(fragment) } shadowRoot.appendChild(appRoot)