Quellcode durchsuchen

merged lib.initializeOptions into lib.getPageData

Former-commit-id: 547452a851ced6dfe87684ea4b6f13c171c28f9d
Gildas vor 6 Jahren
Ursprung
Commit
e2a7a9a0bb

+ 0 - 1
cli/back-ends/jsdom.js

@@ -83,7 +83,6 @@ exports.getPageData = async options => {
 		}
 		executeFrameScripts(doc, scripts);
 		options.removeHiddenElements = false;
-		await win.singlefile.lib.initializeOptions(options, doc, win);
 		const pageData = await win.singlefile.lib.getPageData(options, { fetch: url => fetchResource(url, options) });
 		if (options.includeInfobar) {
 			await win.singlefile.common.ui.content.infobar.includeScript(pageData);

+ 0 - 1
cli/back-ends/puppeteer.js

@@ -71,7 +71,6 @@ exports.getPageData = async options => {
 		});
 		try {
 			return await page.evaluate(async options => {
-				options = await singlefile.lib.initializeOptions(options);
 				const pageData = await singlefile.lib.getPageData(options);
 				if (options.includeInfobar) {
 					await singlefile.common.ui.content.infobar.includeScript(pageData);

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

@@ -137,7 +137,6 @@ function getPageDataScript() {
 		.catch(error => callback({ error: error.toString() }));
 
 	async function getPageData() {
-		options = await singlefile.lib.initializeOptions(options);
 		const pageData = await singlefile.lib.getPageData(options);
 		if (options.includeInfobar) {
 			await singlefile.common.ui.content.infobar.includeScript(pageData);

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

@@ -148,7 +148,6 @@ function getPageDataScript() {
 		.catch(error => callback({ error: error.toString() }));
 
 	async function getPageData() {
-		options = await window.singlefile.lib.initializeOptions(options);
 		const pageData = await window.singlefile.lib.getPageData(options);
 		if (options.includeInfobar) {
 			await window.singlefile.common.ui.content.infobar.includeScript(pageData);

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

@@ -118,7 +118,7 @@ singlefile.extension.core.bg.autosave = (() => {
 		options.incognito = tab.incognito;
 		options.tabId = tabId;
 		options.tabIndex = tab.index;
-		const pageData = await singlefile.lib.getPageData(options, { fetch: singlefile.extension.lib.fetch.content.resources.fetch });
+		const pageData = await singlefile.lib.getPageData(options, { fetch: singlefile.extension.lib.fetch.content.resources.fetch }, null, null);
 		if (options.includeInfobar) {
 			await singlefile.common.ui.content.infobar.includeScript(pageData);
 		}

+ 13 - 14
lib/index.js

@@ -36,26 +36,25 @@ this.singlefile = this.singlefile || {
 		},
 		vendor: {},
 		modules: {},
-		async initializeOptions(options = {}, doc = window.document, win = window) {
-			this.helper.initDoc(doc);
-			const preInitializationPromises = [];
-			if (!options.saveRawPage) {
-				if (!options.removeFrames) {
-					preInitializationPromises.push(this.frameTree.content.frames.getAsync(options));
-				}
-				if (options.loadDeferredImages) {
-					preInitializationPromises.push(this.lazy.content.loader.process(options));
+		async getPageData(options = {}, initOptions, doc = window.document, win = window) {
+			this.main.init(initOptions);
+			if (doc && window) {
+				this.helper.initDoc(doc);
+				const preInitializationPromises = [];
+				if (!options.saveRawPage) {
+					if (!options.removeFrames) {
+						preInitializationPromises.push(this.frameTree.content.frames.getAsync(options));
+					}
+					if (options.loadDeferredImages) {
+						preInitializationPromises.push(this.lazy.content.loader.process(options));
+					}
 				}
+				[options.frames] = await Promise.all(preInitializationPromises);
 			}
-			[options.frames] = await Promise.all(preInitializationPromises);
 			options.doc = doc;
 			options.win = win;
-			return options;
-		},
-		async getPageData(options = {}, initOptions) {
 			options.insertSingleFileComment = true;
 			options.insertFaviconLink = true;
-			this.main.init(initOptions);
 			const singleFile = new this.SingleFile(options);
 			await singleFile.run();
 			return await singleFile.getPageData();