ソースを参照

update built files

Gildas 1 年間 前
コミット
08d79c2b32

ファイルの差分が大きいため隠しています
+ 0 - 0
lib/single-file-extension-background.js


ファイルの差分が大きいため隠しています
+ 0 - 0
lib/single-file-extension-editor-helper.js


+ 140 - 8
lib/single-file-extension-editor.js

@@ -26,15 +26,15 @@
 
 	/* global document, globalThis, getComputedStyle, FileReader, Image, OffscreenCanvas, createImageBitmap */
 
-	const singlefile = globalThis.singlefile;
+	const singlefile$1 = globalThis.singlefile;
 
 	const CLOSE_ICON = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABhmlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AYht+mSlUqHewg4hChOogFURFHqWIRLJS2QqsOJpf+CE0akhQXR8G14ODPYtXBxVlXB1dBEPwBcXNzUnSREr9LCi1ivOO4h/e+9+XuO0Col5lqdowDqmYZqXhMzOZWxMAruhGiOYohiZl6Ir2Qgef4uoeP73dRnuVd9+foVfImA3wi8SzTDYt4nXh609I57xOHWUlSiM+Jxwy6IPEj12WX3zgXHRZ4ZtjIpOaIw8RisY3lNmYlQyWeIo4oqkb5QtZlhfMWZ7VcZc178hcG89pymuu0BhHHIhJIQoSMKjZQhoUo7RopJlJ0HvPwDzj+JLlkcm2AkWMeFaiQHD/4H/zurVmYnHCTgjGg88W2P4aBwC7QqNn297FtN04A/zNwpbX8lTow80l6raVFjoDQNnBx3dLkPeByB+h/0iVDciQ/LaFQAN7P6JtyQN8t0LPq9q15jtMHIEO9WroBDg6BkSJlr3m8u6u9b//WNPv3A6mTcr3f/E/sAAAABmJLR0QAigCKAIrj2uckAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5QkPDysvCdPVuwAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAELSURBVHja7ZpLFsIwDAPj3v/OsGHDe1BIa8tKO7Mnlkw+dpoxAAAAAGCfx4ur6Yx/B337UUS4mp/VuWUEcjSfOgO+BXCZCWe0hSqQo/npBLglIUNLdAV2MH84Ad1JyIwdLkK6YoabIHWscBWmihHuAqvHtv+XqmdXOK9TxdKy3axUm2vZkXXGgPJksTuz1bVFeeU2Y6ijsLIpXbtKa1kDs2ews69o7+A+ihJ2lvI+/lcS1G21zUVG18XKNm4OS4BNkGOQQohSmGaIdpgLESvzyiRwKepsXjE2H0ZWMF8Zi4+jK5mviM0DiRXNZ2rhkdTK5jO0xermz2o8dCnq+FS2XNNVH0sDAAAA3JYnre9cH8BZmhEAAAAASUVORK5CYII=";
 
-	const SINGLE_FILE_UI_ELEMENT_CLASS = singlefile.helper.SINGLE_FILE_UI_ELEMENT_CLASS;
+	const SINGLE_FILE_UI_ELEMENT_CLASS$1 = singlefile$1.helper.SINGLE_FILE_UI_ELEMENT_CLASS;
 	const SHARE_PAGE_BAR_TAGNAME = "singlefile-share-page-bar";
 	let EMBEDDED_IMAGE_BUTTON_MESSAGE$1, SHARE_PAGE_BUTTON_MESSAGE$1, SHARE_SELECTION_BUTTON_MESSAGE$1, ERROR_TITLE_MESSAGE$1;
 
-	const CSS_PROPERTIES = new Set(Array.from(getComputedStyle(document.documentElement)));
+	const CSS_PROPERTIES$1 = new Set(Array.from(getComputedStyle(document.documentElement)));
 
 	function setLabels(labels) {
 		({ EMBEDDED_IMAGE_BUTTON_MESSAGE: EMBEDDED_IMAGE_BUTTON_MESSAGE$1, SHARE_PAGE_BUTTON_MESSAGE: SHARE_PAGE_BUTTON_MESSAGE$1, SHARE_SELECTION_BUTTON_MESSAGE: SHARE_SELECTION_BUTTON_MESSAGE$1, ERROR_TITLE_MESSAGE: ERROR_TITLE_MESSAGE$1 } = labels);
@@ -71,7 +71,7 @@
 		try {
 			const barElement = document.querySelector(tagName);
 			if (!barElement) {
-				const barElement = createElement(tagName);
+				const barElement = createElement$1(tagName);
 				const shadowRoot = barElement.attachShadow({ mode: "open" });
 				const styleElement = document.createElement("style");
 				styleElement.textContent = `
@@ -178,13 +178,13 @@
 		}
 	}
 
-	function createElement(tagName, parentElement) {
+	function createElement$1(tagName, parentElement) {
 		const element = document.createElement(tagName);
-		element.className = SINGLE_FILE_UI_ELEMENT_CLASS;
+		element.className = SINGLE_FILE_UI_ELEMENT_CLASS$1;
 		if (parentElement) {
 			parentElement.appendChild(element);
 		}
-		CSS_PROPERTIES.forEach(property => element.style.setProperty(property, "initial", "important"));
+		CSS_PROPERTIES$1.forEach(property => element.style.setProperty(property, "initial", "important"));
 		return element;
 	}
 
@@ -816,6 +816,128 @@
 		return typeof value == "symbol";
 	}
 
+	/*
+	 * Copyright 2010-2020 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.
+	 */
+
+	/* global browser, document, globalThis, prompt, getComputedStyle, addEventListener, removeEventListener, requestAnimationFrame, setTimeout, getSelection, Node */
+
+	const singlefile = globalThis.singlefile;
+
+	singlefile.helper.SELECTED_CONTENT_ATTRIBUTE_NAME;
+	const LOGS_WINDOW_TAGNAME = "singlefile-logs-window";
+	const LOGS_CLASSNAME = "singlefile-logs";
+	const LOGS_LINE_CLASSNAME = "singlefile-logs-line";
+	const LOGS_LINE_TEXT_ELEMENT_CLASSNAME = "singlefile-logs-line-text";
+	const LOGS_LINE_STATUS_ELEMENT_CLASSNAME = "singlefile-logs-line-icon";
+	const SINGLE_FILE_UI_ELEMENT_CLASS = singlefile.helper.SINGLE_FILE_UI_ELEMENT_CLASS;
+	const CSS_PROPERTIES = new Set(Array.from(getComputedStyle(document.documentElement)));
+	let LOG_PANEL_WIDTH, LOG_PANEL_DEFERRED_IMAGES_MESSAGE, LOG_PANEL_FRAME_CONTENTS_MESSAGE, LOG_PANEL_EMBEDDED_IMAGE_MESSAGE, LOG_PANEL_STEP_MESSAGE;
+	try {
+		LOG_PANEL_WIDTH = browser.i18n.getMessage("logPanelWidth");
+		LOG_PANEL_DEFERRED_IMAGES_MESSAGE = browser.i18n.getMessage("logPanelDeferredImages");
+		LOG_PANEL_FRAME_CONTENTS_MESSAGE = browser.i18n.getMessage("logPanelFrameContents");
+		LOG_PANEL_EMBEDDED_IMAGE_MESSAGE = browser.i18n.getMessage("logPanelEmbeddedImage");
+		LOG_PANEL_STEP_MESSAGE = browser.i18n.getMessage("logPanelStep");
+	} catch (error) {
+		// ignored
+	}
+
+	let logsWindowElement;
+	createLogsWindowElement();
+
+	function promptMessage(message, defaultValue) {
+		return prompt(message, defaultValue);
+	}
+
+	function createLogsWindowElement() {
+		try {
+			logsWindowElement = document.querySelector(LOGS_WINDOW_TAGNAME);
+			if (!logsWindowElement) {
+				logsWindowElement = createElement(LOGS_WINDOW_TAGNAME);
+				const shadowRoot = logsWindowElement.attachShadow({ mode: "open" });
+				const styleElement = document.createElement("style");
+				styleElement.textContent = `
+				@keyframes single-file-pulse { 
+					0% { 
+						opacity: .25;
+					} 
+					100% { 
+						opacity: 1;
+					} 
+				}
+				.${LOGS_CLASSNAME} {
+					position: fixed;
+					bottom: 24px;
+					left: 8px;
+					z-index: 2147483647;
+					opacity: 0.9;
+					padding: 4px;
+					background-color: white;
+					min-width: ${LOG_PANEL_WIDTH}px;
+					min-height: 16px;
+					transition: height 100ms;
+				}
+				.${LOGS_LINE_CLASSNAME} {
+					display: flex;
+					justify-content: space-between;
+					padding: 2px;
+					font-family: arial, sans-serif;
+					color: black;
+					background-color: white;
+				}
+				.${LOGS_LINE_TEXT_ELEMENT_CLASSNAME} {
+					font-size: 13px;
+					opacity: 1;
+					transition: opacity 200ms;
+				}
+				.${LOGS_LINE_STATUS_ELEMENT_CLASSNAME} {
+					font-size: 11px;
+					min-width: 15px;
+					text-align: center;
+					position: relative;
+					top: 1px;
+				}
+			`;
+				shadowRoot.appendChild(styleElement);
+				const logsContentElement = document.createElement("div");
+				logsContentElement.classList.add(LOGS_CLASSNAME);
+				shadowRoot.appendChild(logsContentElement);
+			}
+		} catch (error) {
+			// ignored
+		}
+	}
+
+	function createElement(tagName, parentElement) {
+		const element = document.createElement(tagName);
+		element.className = SINGLE_FILE_UI_ELEMENT_CLASS;
+		if (parentElement) {
+			parentElement.appendChild(element);
+		}
+		CSS_PROPERTIES.forEach(property => element.style.setProperty(property, "initial", "important"));
+		return element;
+	}
+
 	/*
 	 * Copyright 2010-2020 Gildas Lormeau
 	 * contact : gildas.lormeau <at> gmail.com
@@ -865,7 +987,17 @@
 		if (options.sharePage && navigator.share) {
 			await sharePage(pageData, options);
 		} else {
-			if (pageData.filename && pageData.filename.length) {
+			let filename = pageData.filename;
+			if (options.confirmFilename) {
+				filename = promptMessage("Save as", pageData.filename);
+				if (filename) {
+					pageData.filename = filename;
+				} else {
+					browser.runtime.sendMessage({ method: "downloads.cancel" });
+					browser.runtime.sendMessage({ method: "ui.processCancelled" });
+				}
+			}
+			if (filename) {
 				const link = document.createElement("a");
 				link.download = pageData.filename;
 				link.href = URL.createObjectURL(new Blob([pageData.content], { type: pageData.mimeType }));

ファイルの差分が大きいため隠しています
+ 0 - 0
lib/single-file-extension.js


この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません