ソースを参照

moved redundant code from parseDocContent function into DocUtilCore

Gildas 7 年 前
コミット
ef6f227c98

+ 2 - 12
lib/single-file/single-file-browser.js

@@ -116,18 +116,8 @@ this.SingleFileBrowser = this.SingleFileBrowser || (() => {
 		return hexCodes.join("");
 	}
 
-	function parseDocContent(content, baseURI) {
-		const doc = (new DOMParser()).parseFromString(content, "text/html");
-		let baseElement = doc.querySelector("base");
-		if (!baseElement || !baseElement.getAttribute("href")) {
-			if (baseElement) {
-				baseElement.remove();
-			}
-			baseElement = doc.createElement("base");
-			baseElement.setAttribute("href", baseURI);
-			doc.head.insertBefore(baseElement, doc.head.firstChild);
-		}
-		return doc;
+	function parseDocContent(content) {
+		return (new DOMParser()).parseFromString(content, "text/html");
 	}
 
 	function parseSVGContent(content) {

+ 11 - 1
lib/single-file/util/doc-util-core.js

@@ -130,7 +130,17 @@ this.DocUtilCore = this.DocUtilCore || (() => {
 				}
 
 				static parseDocContent(content, baseURI) {
-					return domUtil.parseDocContent(content, baseURI);
+					const doc = domUtil.parseDocContent(content);
+					let baseElement = doc.querySelector("base");
+					if (!baseElement || !baseElement.getAttribute("href")) {
+						if (baseElement) {
+							baseElement.remove();
+						}
+						baseElement = doc.createElement("base");
+						baseElement.setAttribute("href", baseURI);
+						doc.head.insertBefore(baseElement, doc.head.firstChild);
+					}
+					return doc;
 				}
 
 				static parseSVGContent(content) {

+ 2 - 12
node-jsdom/single-file-jsdom.js

@@ -82,20 +82,10 @@ exports.getClass = () => {
 	return this.SingleFileCore.getClass(DocUtil, this.cssTree);
 };
 
-function parseDocContent(content, baseURI) {
-	const doc = (new JSDOM(content, {
+function parseDocContent(content) {
+	return (new JSDOM(content, {
 		contentType: "text/html"
 	})).window.document;
-	let baseElement = doc.querySelector("base");
-	if (!baseElement || !baseElement.getAttribute("href")) {
-		if (baseElement) {
-			baseElement.remove();
-		}
-		baseElement = doc.createElement("base");
-		baseElement.setAttribute("href", baseURI);
-		doc.head.insertBefore(baseElement, doc.head.firstChild);
-	}
-	return doc;
 }
 
 function parseSVGContent(content) {