Explorar el Código

removed unneeded qsa call

Gildas hace 7 años
padre
commit
1f59d21893
Se han modificado 1 ficheros con 9 adiciones y 19 borrados
  1. 9 19
      lib/single-file/css-rules-minifier.js

+ 9 - 19
lib/single-file/css-rules-minifier.js

@@ -32,7 +32,6 @@ this.cssMinifier = this.cssMinifier || (() => {
 			const rulesMatcher = RulesMatcher.create(doc);
 			const mediaAllInfo = rulesMatcher.getAllMatchedRules();
 			const stats = { processed: 0, discarded: 0 };
-			const selectorsCache = new Map();
 			doc.querySelectorAll("style").forEach(styleElement => {
 				if (styleElement.sheet) {
 					let mediaInfo;
@@ -41,7 +40,7 @@ this.cssMinifier = this.cssMinifier || (() => {
 					} else {
 						mediaInfo = mediaAllInfo;
 					}
-					processRules(doc, styleElement.sheet.cssRules, mediaInfo, selectorsCache, stats);
+					processRules(doc, styleElement.sheet.cssRules, mediaInfo, stats);
 					styleElement.textContent = serializeRules(styleElement.sheet.cssRules);
 				}
 			});
@@ -52,12 +51,12 @@ this.cssMinifier = this.cssMinifier || (() => {
 		}
 	};
 
-	function processRules(doc, cssRules, mediaInfo, selectorsCache, stats) {
+	function processRules(doc, cssRules, mediaInfo, stats) {
 		stats.processed += cssRules.length;
 		stats.discarded += cssRules.length;
 		Array.from(cssRules).forEach(cssRule => {
 			if (cssRule.type == CSSRule.MEDIA_RULE) {
-				processRules(doc, cssRule.cssRules, mediaInfo.medias.get(cssRule.media), selectorsCache, stats);
+				processRules(doc, cssRule.cssRules, mediaInfo.medias.get(cssRule.media), stats);
 			} else if (cssRule.type == CSSRule.STYLE_RULE) {
 				const ruleInfo = mediaInfo.rules.get(cssRule);
 				if (ruleInfo) {
@@ -71,22 +70,13 @@ this.cssMinifier = this.cssMinifier || (() => {
 					}
 				} else {
 					if (!IGNORED_SELECTORS.find(selector => cssRule.selectorText.toLowerCase().includes(selector)) && !testFilterSelector(cssRule.selectorText)) {
-						let noElementsFound;
-						if (selectorsCache.has(cssRule.selectorText)) {
-							noElementsFound = selectorsCache.get(cssRule.selectorText);
-						} else {
-							noElementsFound = !doc.querySelector(getFilteredSelector(cssRule.selectorText));
-							selectorsCache.set(cssRule.selectorText, noElementsFound);
+						const parent = cssRule.parentRule || cssRule.parentStyleSheet;
+						let indexRule = 0;
+						while (cssRule != parent.cssRules[indexRule] && indexRule < parent.cssRules.length) {
+							indexRule++;
 						}
-						if (noElementsFound) {
-							const parent = cssRule.parentRule || cssRule.parentStyleSheet;
-							let indexRule = 0;
-							while (cssRule != parent.cssRules[indexRule] && indexRule < parent.cssRules.length) {
-								indexRule++;
-							}
-							if (cssRule == parent.cssRules[indexRule]) {
-								parent.deleteRule(indexRule);
-							}
+						if (cssRule == parent.cssRules[indexRule]) {
+							parent.deleteRule(indexRule);
 						}
 					}
 				}