Ver código fonte

merge setMetadata en(dis)ableFormatPage and onInit handlers

Gildas 5 anos atrás
pai
commit
46cf1a15e4

+ 12 - 20
extension/ui/bg/ui-editor.js

@@ -253,18 +253,6 @@ singlefile.extension.ui.bg.editor = (() => {
 	window.onresize = viewportSizeChange;
 	window.onmessage = event => {
 		const message = JSON.parse(event.data);
-		if (message.method == "setMetadata") {
-			document.title = "[SingleFile] " + message.title;
-			if (message.filename) {
-				tabData.filename = message.filename;
-			}
-			if (message.icon) {
-				const linkElement = document.createElement("link");
-				linkElement.rel = "icon";
-				linkElement.href = message.icon;
-				document.head.appendChild(linkElement);
-			}
-		}
 		if (message.method == "setContent") {
 			const pageData = {
 				content: message.content,
@@ -273,18 +261,22 @@ singlefile.extension.ui.bg.editor = (() => {
 			tabData.options.openEditor = false;
 			singlefile.extension.core.content.download.downloadPage(pageData, tabData.options);
 		}
-		if (message.method == "enableFormatPage") {
-			tabData.options.disableFormatPage = false;
-			formatPageButton.hidden = false;
-		}
-		if (message.method == "disableFormatPage") {
-			tabData.options.disableFormatPage = true;
-			formatPageButton.hidden = true;
-		}
 		if (message.method == "onUpdate") {
 			tabData.docSaved = message.saved;
 		}
 		if (message.method == "onInit") {
+			tabData.options.disableFormatPage = !message.formatPageEnabled;
+			formatPageButton.hidden = !message.formatPageEnabled;
+			document.title = "[SingleFile] " + message.title;
+			if (message.filename) {
+				tabData.filename = message.filename;
+			}
+			if (message.icon) {
+				const linkElement = document.createElement("link");
+				linkElement.rel = "icon";
+				linkElement.href = message.icon;
+				document.head.appendChild(linkElement);
+			}
 			tabData.docSaved = true;
 			const defaultEditorMode = tabData.options.defaultEditorMode;
 			if (defaultEditorMode == "edit") {

+ 8 - 8
extension/ui/content/content-ui-editor-web.js

@@ -956,13 +956,6 @@ table {
 			});
 			document.replaceChild(contentDocument.documentElement, document.documentElement);
 			deserializeShadowRoots(document);
-			const iconElement = document.querySelector("link[rel*=icon]");
-			window.parent.postMessage(JSON.stringify({ "method": "setMetadata", title: document.title, icon: iconElement && iconElement.href, filename }), "*");
-			if (isProbablyReaderable(document)) {
-				window.parent.postMessage(JSON.stringify({ "method": "enableFormatPage" }), "*");
-			} else {
-				window.parent.postMessage(JSON.stringify({ "method": "disableFormatPage" }), "*");
-			}
 			document.querySelectorAll(NOTE_TAGNAME).forEach(containerElement => attachNoteListeners(containerElement, true));
 			document.documentElement.appendChild(getStyleElement(HIGHLIGHTS_WEB_STYLESHEET));
 			maskPageElement = getMaskElement(PAGE_MASK_CLASS, PAGE_MASK_CONTAINER_CLASS);
@@ -973,7 +966,14 @@ table {
 			document.documentElement.onmouseout = onMouseOut;
 			document.documentElement.onkeydown = onKeyDown;
 			window.onclick = event => event.preventDefault();
-			window.parent.postMessage(JSON.stringify({ "method": "onInit" }), "*");
+			const iconElement = document.querySelector("link[rel*=icon]");
+			window.parent.postMessage(JSON.stringify({
+				method: "onInit",
+				title: document.title,
+				icon: iconElement && iconElement.href,
+				filename,
+				formatPageEnabled: isProbablyReaderable(document)
+			}), "*");
 		}
 	}