if ( value.hasOwnProperty("selectedIndex") && value.hasOwnProperty("value") ) { root.addSingleSelect( isXpath, key, value.selectedIndex, value.value ); break; } if ( value.hasOwnProperty("value") && value.hasOwnProperty("state") ) { root.addCustomElement(isXpath, key, value.value, value.state); break; } if ( key === "sessionData" && ["about:sessionrestore", "about:welcomeback"].includes( formdata.url ) ) { root.addTextField(isXpath, key, JSON.stringify(value)); break; } if (Array.isArray(value)) { root.addMultipleSelect(isXpath, key, value); break; } } } } } let root = SessionStoreUtils.constructSessionStoreRestoreData(); if (scroll?.hasOwnProperty("scroll")) { root.scroll = scroll.scroll; } if (formdata?.hasOwnProperty("url")) { root.url = formdata.url; if (formdata.hasOwnProperty("innerHTML")) { // eslint-disable-next-line no-unsanitized/property root.innerHTML = formdata.innerHTML; } if (formdata.hasOwnProperty("xpath")) { addFormEntries(root, formdata.xpath, /* isXpath */ true); } if (formdata.hasOwnProperty("id")) { addFormEntries(root, formdata.id, /* isXpath */ false); } } let childrenLength = Math.max( scroll?.children?.length || 0, formdata?.children?.length || 0 ); for (let i = 0; i < childrenLength; i++) { root.addChild( this.buildRestoreData(formdata?.children?.[i], scroll?.children?.[i]), i ); } return root; }, }; PK