Gildas 7 лет назад
Родитель
Сommit
b565967b1b

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

@@ -39,7 +39,7 @@ singlefile.core = (() => {
 		"/extension/core/content/content.js"
 		"/extension/core/content/content.js"
 	];
 	];
 
 
-	browser.runtime.onMessage.addListener(async (request, sender) => {
+	browser.runtime.onMessage.addListener((request, sender) => {
 		if (request.getConfig) {
 		if (request.getConfig) {
 			return singlefile.config.get();
 			return singlefile.config.get();
 		}
 		}
@@ -56,7 +56,6 @@ singlefile.core = (() => {
 		}
 		}
 		if (request.processContent) {
 		if (request.processContent) {
 			processBackgroundTab(sender.tab.id, request);
 			processBackgroundTab(sender.tab.id, request);
-			return {};
 		}
 		}
 	});
 	});
 
 

+ 1 - 2
extension/core/content/content-autosave-unload.js

@@ -27,10 +27,9 @@ this.singlefile.autoSave = this.singlefile.autoSave || (async () => {
 
 
 	enableAutoSaveUnload(enabled);
 	enableAutoSaveUnload(enabled);
 
 
-	browser.runtime.onMessage.addListener(async message => {
+	browser.runtime.onMessage.addListener(message => {
 		if (message.autoSaveUnloadEnabled) {
 		if (message.autoSaveUnloadEnabled) {
 			refreshAutoSaveUnload();
 			refreshAutoSaveUnload();
-			return {};
 		}
 		}
 	});
 	});
 
 

+ 1 - 2
extension/core/content/content-frame.js

@@ -23,7 +23,7 @@
 this.singlefile.frame = this.singlefile.frame || (() => {
 this.singlefile.frame = this.singlefile.frame || (() => {
 
 
 	if (window != top) {
 	if (window != top) {
-		browser.runtime.onMessage.addListener(async message => {
+		browser.runtime.onMessage.addListener(message => {
 			if (message.processStartFrame) {
 			if (message.processStartFrame) {
 				message.options.content = docHelper.serialize(document);
 				message.options.content = docHelper.serialize(document);
 				message.processStartFrame = null;
 				message.processStartFrame = null;
@@ -31,7 +31,6 @@ this.singlefile.frame = this.singlefile.frame || (() => {
 				message.processStart = true;
 				message.processStart = true;
 				message.options.url = document.location.href;
 				message.options.url = document.location.href;
 				top.postMessage("__SingleFile__::" + JSON.stringify(message), "*");
 				top.postMessage("__SingleFile__::" + JSON.stringify(message), "*");
-				return {};
 			}
 			}
 		});
 		});
 	}
 	}

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

@@ -25,10 +25,9 @@ this.singlefile.top = this.singlefile.top || (() => {
 	let processing = false;
 	let processing = false;
 	let autoSaveTimeout;
 	let autoSaveTimeout;
 
 
-	browser.runtime.onMessage.addListener(async message => {
+	browser.runtime.onMessage.addListener(message => {
 		if (message.processStart) {
 		if (message.processStart) {
 			savePage(message);
 			savePage(message);
-			return {};
 		}
 		}
 	});
 	});
 
 

+ 1 - 4
extension/ui/bg/ui.js

@@ -72,23 +72,20 @@ singlefile.ui = (() => {
 		await onTabActivated(tab);
 		await onTabActivated(tab);
 	});
 	});
 	browser.tabs.onRemoved.addListener(tabId => onTabRemoved(tabId));
 	browser.tabs.onRemoved.addListener(tabId => onTabRemoved(tabId));
-	browser.runtime.onMessage.addListener(async (request, sender) => {
+	browser.runtime.onMessage.addListener((request, sender) => {
 		if (request.processProgress) {
 		if (request.processProgress) {
 			if (request.maxIndex) {
 			if (request.maxIndex) {
 				onTabProgress(sender.tab.id, request.index, request.maxIndex, request.options);
 				onTabProgress(sender.tab.id, request.index, request.maxIndex, request.options);
 			}
 			}
-			return {};
 		}
 		}
 		if (request.processEnd) {
 		if (request.processEnd) {
 			onTabEnd(sender.tab.id, request.options);
 			onTabEnd(sender.tab.id, request.options);
-			return {};
 		}
 		}
 		if (request.processError) {
 		if (request.processError) {
 			if (request.error) {
 			if (request.error) {
 				console.error("Initialization error", request.error); // eslint-disable-line no-console
 				console.error("Initialization error", request.error); // eslint-disable-line no-console
 			}
 			}
 			onTabError(sender.tab.id, request.options);
 			onTabError(sender.tab.id, request.options);
-			return {};
 		}
 		}
 		if (request.isAutoSaveUnloadEnabled) {
 		if (request.isAutoSaveUnloadEnabled) {
 			return isAutoSaveUnloadEnabled(sender.tab.id);
 			return isAutoSaveUnloadEnabled(sender.tab.id);

+ 10 - 2
lib/browser-polyfill/custom-browser-polyfill.js

@@ -169,7 +169,11 @@
 				sendMessage: message => new Promise((resolve, reject) =>
 				sendMessage: message => new Promise((resolve, reject) =>
 					chrome.runtime.sendMessage(message, response => {
 					chrome.runtime.sendMessage(message, response => {
 						if (chrome.runtime.lastError) {
 						if (chrome.runtime.lastError) {
-							reject(chrome.runtime.lastError);
+							if (chrome.runtime.lastError.message == "The message port closed before a response was received.") {
+								resolve();
+							} else {
+								reject(chrome.runtime.lastError);
+							}
 						} else {
 						} else {
 							resolve(response);
 							resolve(response);
 						}
 						}
@@ -256,7 +260,11 @@
 				sendMessage: (tabId, message, options = {}) => new Promise((resolve, reject) =>
 				sendMessage: (tabId, message, options = {}) => new Promise((resolve, reject) =>
 					chrome.tabs.sendMessage(tabId, message, options, response => {
 					chrome.tabs.sendMessage(tabId, message, options, response => {
 						if (chrome.runtime.lastError) {
 						if (chrome.runtime.lastError) {
-							reject(chrome.runtime.lastError);
+							if (chrome.runtime.lastError.message == "The message port closed before a response was received.") {
+								resolve();
+							} else {
+								reject(chrome.runtime.lastError);
+							}
 						} else {
 						} else {
 							resolve(response);
 							resolve(response);
 						}
 						}

+ 1 - 1
lib/fetch/bg/fetch.js

@@ -26,7 +26,7 @@
 
 
 	let requestId = 1;
 	let requestId = 1;
 
 
-	browser.runtime.onMessage.addListener(async request => {
+	browser.runtime.onMessage.addListener(request => {
 		if (request.method && request.method.startsWith("fetch")) {
 		if (request.method && request.method.startsWith("fetch")) {
 			return new Promise(resolve => {
 			return new Promise(resolve => {
 				onRequest(request)
 				onRequest(request)

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

@@ -24,21 +24,18 @@ this.FrameTree = (() => {
 
 
 	const tabsData = {};
 	const tabsData = {};
 
 
-	browser.runtime.onMessage.addListener(async (message, sender) => {
+	browser.runtime.onMessage.addListener((message, sender) => {
 		if (message.method == "FrameTree.initResponse") {
 		if (message.method == "FrameTree.initResponse") {
 			if (tabsData[sender.tab.id]) {
 			if (tabsData[sender.tab.id]) {
 				tabsData[sender.tab.id].forEach(resolve => resolve());
 				tabsData[sender.tab.id].forEach(resolve => resolve());
 				tabsData[sender.tab.id] = null;
 				tabsData[sender.tab.id] = null;
 			}
 			}
-			return {};
 		}
 		}
 		if (message.method == "FrameTree.getDataRequest") {
 		if (message.method == "FrameTree.getDataRequest") {
 			browser.tabs.sendMessage(sender.tab.id, { method: "FrameTree.getDataRequest", windowId: message.windowId, tabId: sender.tab.id, options: message.options });
 			browser.tabs.sendMessage(sender.tab.id, { method: "FrameTree.getDataRequest", windowId: message.windowId, tabId: sender.tab.id, options: message.options });
-			return {};
 		}
 		}
 		if (message.method == "FrameTree.getDataResponse") {
 		if (message.method == "FrameTree.getDataResponse") {
 			browser.tabs.sendMessage(message.tabId, { method: "FrameTree.getDataResponse", windowId: message.windowId, content: message.content, baseURI: message.baseURI, emptyStyleRulesText: message.emptyStyleRulesText });
 			browser.tabs.sendMessage(message.tabId, { method: "FrameTree.getDataResponse", windowId: message.windowId, content: message.content, baseURI: message.baseURI, emptyStyleRulesText: message.emptyStyleRulesText });
-			return {};
 		}
 		}
 	});
 	});
 
 

+ 2 - 4
lib/single-file/frame-tree/content/frame-tree.js

@@ -60,13 +60,12 @@ this.FrameTree = this.FrameTree || (() => {
 	let framesData, dataRequestCallbacks, initResponseSent;
 	let framesData, dataRequestCallbacks, initResponseSent;
 
 
 	if (window == top) {
 	if (window == top) {
-		browser.runtime.onMessage.addListener(async message => {
+		browser.runtime.onMessage.addListener(message => {
 			if (message.method == "FrameTree.initRequest" && document.documentElement instanceof HTMLHtmlElement) {
 			if (message.method == "FrameTree.initRequest" && document.documentElement instanceof HTMLHtmlElement) {
 				dataRequestCallbacks = new Map();
 				dataRequestCallbacks = new Map();
 				framesData = [];
 				framesData = [];
 				initResponseSent = false;
 				initResponseSent = false;
 				initRequest(message);
 				initRequest(message);
-				return {};
 			}
 			}
 			if (message.method == "FrameTree.getDataResponse") {
 			if (message.method == "FrameTree.getDataResponse") {
 				getDataResponse(message);
 				getDataResponse(message);
@@ -74,7 +73,7 @@ this.FrameTree = this.FrameTree || (() => {
 		});
 		});
 	}
 	}
 
 
-	browser.runtime.onMessage.addListener(async message => {
+	browser.runtime.onMessage.addListener(message => {
 		if (message.method == "FrameTree.getDataRequest" && FrameTree.windowId == message.windowId) {
 		if (message.method == "FrameTree.getDataRequest" && FrameTree.windowId == message.windowId) {
 			const docData = docHelper.preProcessDoc(document, window, message.options);
 			const docData = docHelper.preProcessDoc(document, window, message.options);
 			browser.runtime.sendMessage({
 			browser.runtime.sendMessage({
@@ -88,7 +87,6 @@ this.FrameTree = this.FrameTree || (() => {
 				title: document.title
 				title: document.title
 			});
 			});
 			docHelper.postProcessDoc(document, message.options);
 			docHelper.postProcessDoc(document, message.options);
-			return {};
 		}
 		}
 	});
 	});