Jelajahi Sumber

fix double-save bug

Gildas 2 tahun lalu
induk
melakukan
7f232c11f2
1 mengubah file dengan 12 tambahan dan 5 penghapusan
  1. 12 5
      src/core/content/content.js

+ 12 - 5
src/core/content/content.js

@@ -35,12 +35,19 @@ const MOZ_EXTENSION_PROTOCOL = "moz-extension:";
 
 let processor, processing;
 
-singlefile.init({ fetch, frameFetch });
-browser.runtime.onMessage.addListener(message => {
-	if (message.method == "content.save" || message.method == "content.cancelSave" || message.method == "content.getSelectedLinks" || message.method == "content.error"|| message.method == "content.prompt") {
-		return onMessage(message);
+if (!bootstrap || !bootstrap.initializedSingleFile) {
+	singlefile.init({ fetch, frameFetch });
+	browser.runtime.onMessage.addListener(message => {
+		if (message.method == "content.save" || message.method == "content.cancelSave" || message.method == "content.getSelectedLinks" || message.method == "content.error" || message.method == "content.prompt") {
+			return onMessage(message);
+		}
+	});
+	if (bootstrap) {
+		bootstrap.initializedSingleFile = true;
+	} else {
+		globalThis.singlefileBootstrap = { initializedSingleFile: true };
 	}
-});
+}
 
 async function onMessage(message) {
 	if (!location.href.startsWith(MOZ_EXTENSION_PROTOCOL)) {