Browse Source

defined getters to retrieve contants

Gildas 7 years ago
parent
commit
72aaf3af61

+ 20 - 8
lib/single-file/doc-helper.js

@@ -28,9 +28,9 @@ this.docHelper = this.docHelper || (() => {
 		preProcessDoc,
 		postProcessDoc,
 		serialize,
-		WIN_ID_ATTRIBUTE_NAME,
-		PRESERVED_SPACE_ELEMENT_ATTRIBUTE_NAME,
-		REMOVED_CONTENT_ATTRIBUTE_NAME
+		windowIdAttributeName,
+		preservedSpaceAttributeName,
+		removedContentAttributeName
 	};
 
 	function preProcessDoc(doc, win, options) {
@@ -46,7 +46,7 @@ this.docHelper = this.docHelper || (() => {
 			doc.querySelectorAll("html > body *:not(style):not(script):not(link):not(frame):not(iframe):not(object)").forEach(element => {
 				const style = win.getComputedStyle(element);
 				if (element instanceof win.HTMLElement && style && (element.hidden || style.display == "none" || ((style.opacity === 0 || style.visibility == "hidden") && !element.clientWidth && !element.clientHeight)) && !element.querySelector("iframe, frame, object[type=\"text/html\"][data]")) {
-					element.setAttribute(REMOVED_CONTENT_ATTRIBUTE_NAME, "");
+					element.setAttribute(removedContentAttributeName(), "");
 				}
 			});
 		}
@@ -54,7 +54,7 @@ this.docHelper = this.docHelper || (() => {
 			doc.querySelectorAll("*").forEach(element => {
 				const style = win.getComputedStyle(element);
 				if (style && style.whiteSpace.startsWith("pre")) {
-					element.setAttribute(PRESERVED_SPACE_ELEMENT_ATTRIBUTE_NAME, "");
+					element.setAttribute(preservedSpaceAttributeName(), "");
 				}
 			});
 		}
@@ -72,12 +72,24 @@ this.docHelper = this.docHelper || (() => {
 		});
 		doc.head.querySelectorAll("*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)").forEach(element => element.removeAttribute("hidden"));
 		if (options.removeHiddenElements) {
-			doc.querySelectorAll("[" + REMOVED_CONTENT_ATTRIBUTE_NAME + "]").forEach(element => element.removeAttribute(REMOVED_CONTENT_ATTRIBUTE_NAME));
+			doc.querySelectorAll("[" + removedContentAttributeName() + "]").forEach(element => element.removeAttribute(removedContentAttributeName()));
 		}
 		if (options.compressHTML) {
-			doc.querySelectorAll("[" + PRESERVED_SPACE_ELEMENT_ATTRIBUTE_NAME + "]").forEach(element => element.removeAttribute(PRESERVED_SPACE_ELEMENT_ATTRIBUTE_NAME));
+			doc.querySelectorAll("[" + preservedSpaceAttributeName() + "]").forEach(element => element.removeAttribute(preservedSpaceAttributeName()));
 		}
-		doc.querySelectorAll("[" + WIN_ID_ATTRIBUTE_NAME + "]").forEach(element => element.removeAttribute(WIN_ID_ATTRIBUTE_NAME));
+		doc.querySelectorAll("[" + windowIdAttributeName() + "]").forEach(element => element.removeAttribute(windowIdAttributeName()));
+	}
+
+	function preservedSpaceAttributeName() {
+		return PRESERVED_SPACE_ELEMENT_ATTRIBUTE_NAME;
+	}
+
+	function removedContentAttributeName() {
+		return REMOVED_CONTENT_ATTRIBUTE_NAME;
+	}
+
+	function windowIdAttributeName() {
+		return WIN_ID_ATTRIBUTE_NAME;
 	}
 
 	function getCanvasData(doc) {

+ 1 - 1
lib/single-file/frame-tree.js

@@ -116,7 +116,7 @@ this.frameTree = this.frameTree || (() => {
 		let framesData = [];
 		frameElements.forEach((frameElement, frameIndex) => {
 			const frameWindowId = windowId + "." + frameIndex;
-			frameElement.setAttribute(docHelper.WIN_ID_ATTRIBUTE_NAME, frameWindowId);
+			frameElement.setAttribute(docHelper.windowIdAttributeName(), frameWindowId);
 			framesData.push({ windowId: frameWindowId });
 			if (!frameElement.contentDocument) {
 				try {

+ 4 - 4
lib/single-file/single-file-browser.js

@@ -146,16 +146,16 @@ this.SingleFile = this.SingleFile || (() => {
 			docHelper.postProcessDoc(doc, options);
 		}
 
-		static winIdAttributeName() {
-			return docHelper.WIN_ID_ATTRIBUTE_NAME;
+		static windowIdAttributeName() {
+			return docHelper.windowIdAttributeName();
 		}
 
 		static preservedSpaceAttributeName() {
-			return docHelper.PRESERVED_SPACE_ELEMENT_ATTRIBUTE_NAME;
+			return docHelper.preservedSpaceAttributeName();
 		}
 
 		static removedContentAttributeName() {
-			return docHelper.REMOVED_CONTENT_ATTRIBUTE_NAME;
+			return docHelper.removedContentAttributeName();
 		}
 	}
 

+ 2 - 2
lib/single-file/single-file-core.js

@@ -509,7 +509,7 @@ this.SingleFileCore = this.SingleFileCore || (() => {
 			await Promise.all(frameElements.map(async frameElement => {
 				DomProcessorHelper.setFrameEmptySrc(frameElement);
 				frameElement.setAttribute("sandbox", "");
-				const frameWindowId = frameElement.getAttribute(DOM.winIdAttributeName());
+				const frameWindowId = frameElement.getAttribute(DOM.windowIdAttributeName());
 				if (frameWindowId) {
 					const frameData = this.options.framesData.find(frame => frame.windowId == frameWindowId);
 					if (frameData) {
@@ -535,7 +535,7 @@ this.SingleFileCore = this.SingleFileCore || (() => {
 								this.stats.add("processed", "frames", 1);
 								await frameData.processor.preparePageData();
 								const pageData = await frameData.processor.getPageData();
-								frameElement.removeAttribute(DOM.winIdAttributeName());
+								frameElement.removeAttribute(DOM.windowIdAttributeName());
 								DomProcessorHelper.setFrameContent(frameElement, pageData.content);
 								this.stats.addAll(pageData);
 							} else {