|
|
@@ -156,7 +156,7 @@ this.SingleFileCore = this.SingleFileCore || (() => {
|
|
|
this.options.imageData = docData.imageData;
|
|
|
this.options.postersData = docData.postersData;
|
|
|
this.options.usedFonts = docData.usedFonts;
|
|
|
- this.options.shadowRootContents = docData.shadowRootContents;
|
|
|
+ this.options.shadowRootsData = docData.shadowRootsData;
|
|
|
this.options.referrer = docData.referrer;
|
|
|
}
|
|
|
if (this.options.saveRawPage) {
|
|
|
@@ -350,8 +350,8 @@ this.SingleFileCore = this.SingleFileCore || (() => {
|
|
|
if (!this.options.saveRawPage && !this.options.removeFrames && this.options.framesData) {
|
|
|
this.options.framesData.forEach(frameData => this.maxResources += frameData.maxResources || 0);
|
|
|
}
|
|
|
- if (this.options.shadowRootContents) {
|
|
|
- this.options.shadowRootContents.forEach(shadowRootData => this.maxResources += shadowRootData.maxResources || 0);
|
|
|
+ if (this.options.shadowRootsData) {
|
|
|
+ this.options.shadowRootsData.forEach(shadowRootData => this.maxResources += shadowRootData.maxResources || 0);
|
|
|
}
|
|
|
this.stats.set("processed", "resources", this.maxResources);
|
|
|
}
|
|
|
@@ -867,7 +867,7 @@ this.SingleFileCore = this.SingleFileCore || (() => {
|
|
|
options.fontsData = frameData.fontsData;
|
|
|
options.imageData = frameData.imageData;
|
|
|
options.usedFonts = frameData.usedFonts;
|
|
|
- options.shadowRootContents = frameData.shadowRootContents;
|
|
|
+ options.shadowRootsData = frameData.shadowRootsData;
|
|
|
frameData.processor = new Runner(options);
|
|
|
frameData.frameElement = frameElement;
|
|
|
await frameData.processor.loadPage();
|
|
|
@@ -880,7 +880,7 @@ this.SingleFileCore = this.SingleFileCore || (() => {
|
|
|
async resolveShadowRootURLs() {
|
|
|
const rootOptions = this.options;
|
|
|
const batchRequest = this.batchRequest;
|
|
|
- if (this.options.shadowRootContents) {
|
|
|
+ if (this.options.shadowRootsData) {
|
|
|
await resolveURLs(this.doc);
|
|
|
}
|
|
|
|
|
|
@@ -888,7 +888,7 @@ this.SingleFileCore = this.SingleFileCore || (() => {
|
|
|
const shadowRootElements = Array.from((rootElement.querySelectorAll("[" + docUtil.SHADOW_ROOT_ATTRIBUTE_NAME + "]")));
|
|
|
await Promise.all(shadowRootElements.map(async element => {
|
|
|
const id = element.getAttribute(docUtil.SHADOW_ROOT_ATTRIBUTE_NAME);
|
|
|
- const shadowRootData = rootOptions.shadowRootContents[Number(id)];
|
|
|
+ const shadowRootData = rootOptions.shadowRootsData[Number(id)];
|
|
|
const options = Object.create(rootOptions);
|
|
|
options.insertSingleFileComment = false;
|
|
|
options.insertFaviconLink = false;
|
|
|
@@ -906,7 +906,7 @@ this.SingleFileCore = this.SingleFileCore || (() => {
|
|
|
options.fontsData = docData.fontsData;
|
|
|
options.imageData = docData.imageData;
|
|
|
options.usedFonts = docData.usedFonts;
|
|
|
- options.shadowRootContents = docData.shadowRootContents;
|
|
|
+ options.shadowRootsData = docData.shadowRootsData;
|
|
|
shadowRootData.processor = new Runner(options);
|
|
|
shadowRootData.element = element;
|
|
|
await shadowRootData.processor.loadPage();
|
|
|
@@ -1069,7 +1069,7 @@ this.SingleFileCore = this.SingleFileCore || (() => {
|
|
|
const rootDoc = this.doc;
|
|
|
const options = this.options;
|
|
|
const stats = this.stats;
|
|
|
- if (this.options.shadowRootContents) {
|
|
|
+ if (this.options.shadowRootsData) {
|
|
|
await processRootElement(this.doc);
|
|
|
const scriptElement = rootDoc.createElement("script");
|
|
|
scriptElement.textContent = `processNode(document);function processNode(node){node.querySelectorAll("[${WC_ATTRIBUTE_NAME}]").forEach(element=>{const shadowRoot=element.previousElementSibling.attachShadow({mode:"open"});shadowRoot.innerHTML=element.innerHTML;element.remove();processNode(shadowRoot)})}`;
|
|
|
@@ -1081,9 +1081,9 @@ this.SingleFileCore = this.SingleFileCore || (() => {
|
|
|
await Promise.all(shadowRootElements.map(async element => {
|
|
|
const id = element.getAttribute(docUtil.SHADOW_ROOT_ATTRIBUTE_NAME);
|
|
|
if (id) {
|
|
|
- const shadowRootData = options.shadowRootContents[Number(id)];
|
|
|
+ const shadowRootData = options.shadowRootsData[Number(id)];
|
|
|
if (shadowRootData) {
|
|
|
- options.shadowRootContents = options.shadowRootContents.filter(shadowRootInfo => shadowRootInfo.id != id);
|
|
|
+ options.shadowRootsData = options.shadowRootsData.filter(shadowRootData => shadowRootData.id != id);
|
|
|
if (shadowRootData.processor) {
|
|
|
stats.add("processed", "shadow root elements", 1);
|
|
|
await shadowRootData.processor.run();
|