Bläddra i källkod

moved infobar scripts into "/common"

Former-commit-id: 1a81ade09079f5db7f4efb1507fe2e98cc937e44
Gildas 6 år sedan
förälder
incheckning
a180171b61

+ 4 - 4
cli/back-ends/jsdom.js

@@ -51,8 +51,8 @@ const SCRIPTS = [
 	"../../lib/single-file/modules/html-images-alt-minifier.js",
 	"../../lib/single-file/modules/html-serializer.js",
 	"../../lib/single-file/single-file-core.js",
-	"../../extension/index.js",
-	"../../extension/core/common/infobar.js"
+	"../../common/index.js",
+	"../../common/ui/content/content-infobar.js"
 ];
 
 exports.getPageData = async options => {
@@ -90,7 +90,7 @@ exports.getPageData = async options => {
 		const fileContents = {
 			"/lib/hooks/content/content-hooks-web.js": fs.readFileSync(require.resolve("../../lib/hooks/content/content-hooks-web.js")).toString(),
 			"/lib/hooks/content/content-hooks-frames-web.js": fs.readFileSync(require.resolve("../../lib/hooks/content/content-hooks-frames-web.js")).toString(),
-			"/extension/ui/content/content-ui-infobar.js": fs.readFileSync(require.resolve("../..//extension/ui/content/content-ui-infobar.js")).toString()
+			"/common/ui/content/content-infobar-web.js": fs.readFileSync(require.resolve("../../common/ui/content/content-infobar-web.js")).toString()
 		};
 		scripts = scripts + ";this.singlefile.lib.getFileContent = filename => (" + JSON.stringify(fileContents) + ")[filename];";
 		dom.window.eval(scripts);
@@ -110,7 +110,7 @@ exports.getPageData = async options => {
 		await singleFile.run();
 		const pageData = await singleFile.getPageData();
 		if (options.includeInfobar) {
-			await win.singlefile.extension.core.common.infobar.includeScript(pageData);
+			await win.singlefile.common.ui.content.infobar.includeScript(pageData);
 		}
 		return pageData;
 	} finally {

+ 4 - 4
cli/back-ends/puppeteer.js

@@ -50,8 +50,8 @@ const SCRIPTS = [
 	"../../lib/single-file/modules/html-serializer.js",
 	"../../lib/single-file/single-file-core.js",
 	"../../lib/single-file/single-file.js",
-	"../../extension/index.js",
-	"../../extension/core/common/infobar.js"
+	"../../common/index.js",
+	"../../common/ui/content/content-infobar.js"
 ];
 
 exports.getPageData = async options => {
@@ -93,7 +93,7 @@ exports.getPageData = async options => {
 		const fileContents = {
 			"/lib/hooks/content/content-hooks-web.js": fs.readFileSync(require.resolve("../../lib/hooks/content/content-hooks-web.js")).toString(),
 			"/lib/hooks/content/content-hooks-frames-web.js": fs.readFileSync(require.resolve("../../lib/hooks/content/content-hooks-frames-web.js")).toString(),
-			"/extension/ui/content/content-ui-infobar.js": fs.readFileSync(require.resolve("../..//extension/ui/content/content-ui-infobar.js")).toString()
+			"/common/ui/content/content-infobar-web.js": fs.readFileSync(require.resolve("../../common/ui/content/content-infobar-web.js")).toString()
 		};
 		scripts = scripts + ";this.singlefile.lib.getFileContent = filename => (" + JSON.stringify(fileContents) + ")[filename];";
 		await page.evaluateOnNewDocument(scripts);
@@ -126,7 +126,7 @@ exports.getPageData = async options => {
 				await singleFile.run();
 				const pageData = await singleFile.getPageData();
 				if (options.includeInfobar) {
-					await singlefile.extension.core.common.infobar.includeScript(pageData);
+					await singlefile.common.ui.content.infobar.includeScript(pageData);
 				}
 				return pageData;
 			}, options);

+ 4 - 4
cli/back-ends/webdriver-chromium.js

@@ -52,8 +52,8 @@ const SCRIPTS = [
 	"../../lib/single-file/modules/html-serializer.js",
 	"../../lib/single-file/single-file-core.js",
 	"../../lib/single-file/single-file.js",
-	"../../extension/index.js",
-	"../../extension/core/common/infobar.js"
+	"../../common/index.js",
+	"../../common/ui/content/content-infobar.js"
 ];
 
 exports.getPageData = async options => {
@@ -118,7 +118,7 @@ exports.getPageData = async options => {
 		const fileContents = {
 			"/lib/hooks/content/content-hooks-web.js": fs.readFileSync(require.resolve("../../lib/hooks/content/content-hooks-web.js")).toString(),
 			"/lib/hooks/content/content-hooks-frames-web.js": fs.readFileSync(require.resolve("../../lib/hooks/content/content-hooks-frames-web.js")).toString(),
-			"/extension/ui/content/content-ui-infobar.js": fs.readFileSync(require.resolve("../..//extension/ui/content/content-ui-infobar.js")).toString()
+			"/common/ui/content/content-infobar-web.js": fs.readFileSync(require.resolve("../../common/ui/content/content-infobar-web.js")).toString()
 		};
 		scripts = scripts + ";this.singlefile.lib.getFileContent = filename => (" + JSON.stringify(fileContents) + ")[filename];";
 		if (options.browserDebug) {
@@ -191,7 +191,7 @@ function getPageDataScript() {
 		await singleFile.run();
 		const pageData = await singleFile.getPageData();
 		if (options.includeInfobar) {
-			await singlefile.extension.core.common.infobar.includeScript(pageData);
+			await singlefile.common.ui.content.infobar.includeScript(pageData);
 		}
 		return pageData;
 	}

+ 4 - 4
cli/back-ends/webdriver-gecko.js

@@ -52,8 +52,8 @@ const SCRIPTS = [
 	"../../lib/single-file/modules/html-serializer.js",
 	"../../lib/single-file/single-file-core.js",
 	"../../lib/single-file/single-file.js",
-	"../../extension/index.js",
-	"../../extension/core/common/infobar.js"
+	"../../common/index.js",
+	"../../common/ui/content/content-infobar.js"
 ];
 
 exports.getPageData = async options => {
@@ -108,7 +108,7 @@ exports.getPageData = async options => {
 		const fileContents = {
 			"/lib/hooks/content/content-hooks-web.js": fs.readFileSync(require.resolve("../../lib/hooks/content/content-hooks-web.js")).toString(),
 			"/lib/hooks/content/content-hooks-frames-web.js": fs.readFileSync(require.resolve("../../lib/hooks/content/content-hooks-frames-web.js")).toString(),
-			"/extension/ui/content/content-ui-infobar.js": fs.readFileSync(require.resolve("../..//extension/ui/content/content-ui-infobar.js")).toString()
+			"/common/ui/content/content-infobar-web.js": fs.readFileSync(require.resolve("../../common/ui/content/content-infobar-web.js")).toString()
 		};
 		scripts = scripts + ";this.singlefile.lib.getFileContent = filename => (" + JSON.stringify(fileContents) + ")[filename];";
 		if (options.browserDebug) {
@@ -198,7 +198,7 @@ function getPageDataScript() {
 		await singleFile.run();
 		const pageData = await singleFile.getPageData();
 		if (options.includeInfobar) {
-			await singlefile.extension.core.common.infobar.includeScript(pageData);
+			await singlefile.common.ui.content.infobar.includeScript(pageData);
 		}
 		return pageData;
 	}

+ 28 - 0
common/index.js

@@ -0,0 +1,28 @@
+/*
+ * Copyright 2010-2019 Gildas Lormeau
+ * contact : gildas.lormeau <at> gmail.com
+ * 
+ * This file is part of SingleFile.
+ *
+ *   The code in this file is free software: you can redistribute it and/or 
+ *   modify it under the terms of the GNU Affero General Public License 
+ *   (GNU AGPL) as published by the Free Software Foundation, either version 3
+ *   of the License, or (at your option) any later version.
+ * 
+ *   The code in this file is distributed in the hope that it will be useful, 
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of 
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero 
+ *   General Public License for more details.
+ *
+ *   As additional permission under GNU AGPL version 3 section 7, you may 
+ *   distribute UNMODIFIED VERSIONS OF THIS file without the copy of the GNU 
+ *   AGPL normally required by section 4, provided you include this license 
+ *   notice and a URL through which recipients can access the Corresponding 
+ *   Source.
+ */
+
+this.singlefile.common = this.singlefile.common || {
+	ui: {
+		content: {}
+	}
+};

+ 1 - 2
extension/ui/content/content-ui-infobar.js → common/ui/content/content-infobar-web.js

@@ -23,7 +23,7 @@
 
 /* global document, Node, window, top, getComputedStyle, location, setTimeout */
 
-this.singlefile.extension.ui.content.infobar = this.singlefile.extension.ui.content.infobar || (() => {
+(() => {
 
 	const INFOBAR_TAGNAME = "singlefile-infobar";
 	const LINK_ICON = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABmJLR0QABQDuAACS38mlAAAACXBIWXMAACfuAAAn7gExzuVDAAAAB3RJTUUH4ggCDDcMnYqGGAAAATtJREFUOMvNk19LwlAYxp+zhOoqpxJ1la3patFVINk/oRDBLuyreiPFMmcj/QQRSOOwpEINDCpwRr7d1HBMc4sufO7Oe877e5/zcA4wbWLDi8urGr2+vXsOFfJZdnPboDtuueoRcQEH6RQDgNBP8bxcpfvmA0QxPHF6u/MMInLVHFDP7kMUwyjks2xU8+ZGkgGAbtSp1e5gRhBc+0KQHHSjTg2TY0tVEItF/wYqV6+pYXKoiox0atvjOuQXYnILqiJj/ztceXUlGEirGGRyC0pCciDDmfm6mlYxiFtNKAkJmb0dV2OxpFGxpNFE0NmFTtxqQpbiHsgojQX1bBuyFMfR4S7zk+PYjE5PcizI0xD+6685jubnZvH41MJwgL+p233B8tKiF7SeXMPnYIB+/8OXg2hERO44wzC1+gJYGGpVbtoqiAAAAABJRU5ErkJggg==";
@@ -39,7 +39,6 @@ this.singlefile.extension.ui.content.infobar = this.singlefile.extension.ui.cont
 			displayIcon();
 		}
 	}
-	return {};
 
 	async function displayIcon() {
 		let singleFileComment = document.documentElement.childNodes[0];

+ 2 - 2
extension/core/common/infobar.js → common/ui/content/content-infobar.js

@@ -23,9 +23,9 @@
 
 /* global singlefile, fetch */
 
-singlefile.extension.core.common.infobar = (() => {
+singlefile.common.ui.content.infobar = singlefile.common.ui.content.infobar || (() => {
 
-	const SCRIPT_PATH = "/extension/ui/content/content-ui-infobar.js";
+	const SCRIPT_PATH = "/common/ui/content/content-infobar-web.js";
 
 	const browser = this.browser;
 

+ 1 - 1
extension/core/bg/autosave.js

@@ -124,7 +124,7 @@ singlefile.extension.core.bg.autosave = (() => {
 		await processor.run();
 		const pageData = await processor.getPageData();
 		if (options.includeInfobar) {
-			await singlefile.extension.core.common.infobar.includeScript(pageData);
+			await singlefile.common.ui.content.infobar.includeScript(pageData);
 		}
 		pageData.url = URL.createObjectURL(new Blob([pageData.content], { type: "text/html" }));
 		try {

+ 4 - 3
extension/core/bg/business.js

@@ -36,12 +36,13 @@ singlefile.extension.core.bg.business = (() => {
 		"/lib/single-file/single-file-helper.js",
 		"/lib/single-file/single-file-core.js",
 		"/lib/single-file/single-file.js",
+		"/common/index.js",
+		"/common/ui/content/content-infobar.js",
 		"/extension/index.js",
 		"/extension/lib/browser-polyfill/chrome-browser-polyfill.js",
 		"/extension/lib/fetch/content/content-fetch-resources.js",
-		"/extension/ui/content/content-ui-main.js",
-		"/extension/core/common/infobar.js",
-		"/extension/core/content/content-main.js"
+		"/extension/core/content/content-main.js",
+		"/extension/ui/content/content-ui-main.js"
 	];
 
 	const frameScriptFiles = [

+ 1 - 1
extension/core/content/content-main.js

@@ -201,7 +201,7 @@ this.singlefile.extension.core.content.main = this.singlefile.extension.core.con
 
 	async function downloadPage(pageData, options) {
 		if (options.includeInfobar) {
-			await singlefile.extension.core.common.infobar.includeScript(pageData);
+			await singlefile.common.ui.content.infobar.includeScript(pageData);
 		}
 		if (options.backgroundSave) {
 			for (let blockIndex = 0; blockIndex * MAX_CONTENT_SIZE < pageData.content.length; blockIndex++) {

+ 4 - 5
manifest.json

@@ -32,9 +32,7 @@
 				"<all_urls>"
 			],
 			"js": [
-				"lib/index.js",
-				"extension/index.js",
-				"extension/ui/content/content-ui-infobar.js"
+				"common/ui/content/content-infobar-web.js"
 			]
 		},
 		{
@@ -70,6 +68,8 @@
 			"lib/single-file/modules/html-images-alt-minifier.js",
 			"lib/single-file/single-file-core.js",
 			"lib/single-file/single-file.js",
+			"common/index.js",
+			"common/ui/content/content-infobar.js",
 			"extension/index.js",
 			"extension/lib/browser-polyfill/chrome-browser-polyfill.js",
 			"extension/lib/fetch/content/content-fetch-resources.js",
@@ -83,7 +83,6 @@
 			"extension/core/bg/tabs.js",
 			"extension/core/bg/downloads.js",
 			"extension/core/bg/autosave.js",
-			"extension/core/common/infobar.js",
 			"extension/core/bg/devtools.js",
 			"extension/ui/bg/ui-main.js",
 			"extension/ui/bg/ui-menus.js",
@@ -130,7 +129,7 @@
 	"web_accessible_resources": [
 		"lib/hooks/content/content-hooks-web.js",
 		"lib/hooks/content/content-hooks-frames-web.js",
-		"extension/ui/content/content-ui-infobar.js"
+		"common/ui/content/content-infobar-web.js"
 	],
 	"permissions": [
 		"menus",