1
0
Эх сурвалжийг харах

fixed font validation testing

Former-commit-id: 3803060d818b4b8208af4946518a1521f374dd6d
Gildas 5 жил өмнө
parent
commit
3a81f980ea

+ 3 - 2
lib/single-file/modules/css-fonts-alt-minifier.js

@@ -206,7 +206,7 @@ this.singlefile.lib.modules.fontsAltMinifier = this.singlefile.lib.modules.fonts
 		removedNodes.pop();
 		removedNodes.forEach(node => ruleData.block.children.remove(node));
 		const srcDeclaration = ruleData.block.children.filter(node => node.property == "src").tail;
-		await Promise.all(fontInfo.map(async source => {
+		await Promise.all(fontInfo.map(async (source, sourceIndex) => {
 			if (FontFace) {
 				const fontFace = new FontFace("test-font", source.src);
 				try {
@@ -214,7 +214,8 @@ this.singlefile.lib.modules.fontsAltMinifier = this.singlefile.lib.modules.fonts
 					await fontFace.loaded;
 					source.valid = true;
 				} catch (error) {
-					const fontURL = fontURLs.get(srcDeclaration.data);
+					const declarationFontURLs = fontURLs.get(srcDeclaration.data);
+					const fontURL = declarationFontURLs[declarationFontURLs.length - sourceIndex - 1];
 					const fontFace = new FontFace("test-font", "url(" + fontURL + ")");
 					try {
 						await Promise.race(

+ 6 - 1
lib/single-file/single-file-core.js

@@ -1634,7 +1634,12 @@ this.singlefile.lib.core = this.singlefile.lib.core || (() => {
 							if (!Util.testIgnoredPath(resourceURL)) {
 								if (Util.testValidURL(resourceURL)) {
 									let { content } = await batchRequest.addURL(resourceURL, true);
-									fontURLs.set(declaration, resourceURL);
+									let resourceURLs = fontURLs.get(declaration);
+									if (!resourceURLs) {
+										resourceURLs = [];
+										fontURLs.set(declaration, resourceURLs);
+									}
+									resourceURLs.push(resourceURL);
 									replaceURLs(declaration, originalResourceURL, content);
 								}
 							}