Browse Source

ensure error is defined when calling toString

Gildas 5 năm trước cách đây
mục cha
commit
01ecfb7102

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

@@ -147,7 +147,7 @@ function getPageDataScript() {
 	const [options, callback] = arguments;
 	getPageData()
 		.then(pageData => callback({ pageData }))
-		.catch(error => callback({ error: error.toString() }));
+		.catch(error => callback({ error: error && error.toString() }));
 
 	async function getPageData() {
 		const pageData = await singlefile.lib.getPageData(options);

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

@@ -156,7 +156,7 @@ function getPageDataScript() {
 	let [options, callback] = arguments;
 	getPageData()
 		.then(pageData => callback({ pageData }))
-		.catch(error => callback({ error: error.toString() }));
+		.catch(error => callback({ error: error && error.toString() }));
 
 	async function getPageData() {
 		const pageData = await window.singlefile.lib.getPageData(options);

+ 2 - 2
extension/lib/single-file/fetch/content/content-fetch.js

@@ -56,7 +56,7 @@ this.singlefile.extension.lib.fetch.content.resources = this.singlefile.extensio
 			};
 		} catch (error) {
 			return {
-				error: error.toString()
+				error: error && error.toString()
 			};
 		}
 	}
@@ -92,7 +92,7 @@ this.singlefile.extension.lib.fetch.content.resources = this.singlefile.extensio
 	async function sendMessage(message) {
 		const response = await browser.runtime.sendMessage(message);
 		if (!response || response.error) {
-			throw new Error(response && response.error.toString());
+			throw new Error(response && response.error && response.error.toString());
 		} else {
 			return response;
 		}

+ 2 - 2
lib/single-file/processors/hooks/content/content-hooks-web.js

@@ -31,7 +31,7 @@
 	const CustomEvent = window.CustomEvent;
 	const fetch = window.fetch;
 	const addEventListener = (type, listener, options) => window.addEventListener(type, listener, options);
-	const dispatchEvent = event => window.dispatchEvent(event);	
+	const dispatchEvent = event => window.dispatchEvent(event);
 
 	addEventListener(FETCH_REQUEST_EVENT, async event => {
 		const url = event.detail;
@@ -40,7 +40,7 @@
 			const response = await fetch(url, { cache: "force-cache" });
 			detail = { url, response: await response.arrayBuffer(), headers: [...response.headers], status: response.status };
 		} catch (error) {
-			detail = { url, error: error.toString() };
+			detail = { url, error: error && error.toString() };
 		}
 		dispatchEvent(new CustomEvent(FETCH_RESPONSE_EVENT, { detail }));
 	});