Gildas 7 лет назад
Родитель
Сommit
9371058e32
1 измененных файлов с 30 добавлено и 21 удалено
  1. 30 21
      extension/core/scripts/content/content.js

+ 30 - 21
extension/core/scripts/content/content.js

@@ -70,7 +70,36 @@
 		}
 		document.querySelectorAll("[" + SELECTED_CONTENT_ATTRIBUTE_NAME + "]").forEach(selectedContent => selectedContent.removeAttribute(SELECTED_CONTENT_ATTRIBUTE_NAME));
 		options.jsEnabled = true;
-		options.onprogress = onProgress;
+		let indexLoaded = 0;
+		let indexLoading = 0;
+		options.onprogress = event => {
+			if (event.type == event.RESOURCES_INITIALIZED) {
+				browser.runtime.sendMessage({
+					processStart: true,
+					index: event.details.index,
+					maxIndex: event.details.max
+				});
+			}
+			if (event.type == event.RESOURCE_LOADED) {
+				indexLoaded = event.details.index;
+				browser.runtime.sendMessage({
+					processProgress: true,
+					index: (event.details.index * 2) + indexLoading,
+					maxIndex: event.details.max * 3
+				});
+			}
+			if (event.type == event.RESOURCE_LOADING) {
+				indexLoading = event.details.index;
+				browser.runtime.sendMessage({
+					processProgress: true,
+					index: event.details.index + (indexLoaded * 2),
+					maxIndex: event.details.max * 3
+				});
+			}
+			if (event.type == event.PAGE_ENDED) {
+				browser.runtime.sendMessage({ processEnd: true });
+			}
+		};
 		return options;
 	}
 
@@ -117,26 +146,6 @@
 		return "";
 	}
 
-	function onProgress(event) {
-		if (event.type == event.RESOURCES_INITIALIZED) {
-			browser.runtime.sendMessage({
-				processStart: true,
-				index: event.details.index,
-				maxIndex: event.details.max
-			});
-		}
-		if (event.type == event.RESOURCE_LOADED) {
-			browser.runtime.sendMessage({
-				processProgress: true,
-				index: event.details.index,
-				maxIndex: event.details.max
-			});
-		}
-		if (event.type == event.PAGE_ENDED) {
-			browser.runtime.sendMessage({ processEnd: true });
-		}
-	}
-
 	function downloadPage(page) {
 		const link = document.createElement("a");
 		document.body.appendChild(link);