Fix TOTP fill. Save loginId to tab.

This commit is contained in:
varjolintu 2022-01-18 19:21:21 +02:00
parent 1cb6ad298d
commit 07c7e102b9

View file

@ -32,7 +32,6 @@ page.blockedTabs = [];
page.clearCredentialsTimeout = null;
page.currentRequest = {};
page.currentTabId = -1;
page.loginId = -1;
page.manualFill = ManualFill.NONE;
page.passwordFilled = false;
page.redirectCount = 0;
@ -265,32 +264,14 @@ page.createTabEntry = function(tabId) {
page.tabs[tabId] = {
credentials: [],
errorMessage: null,
loginList: []
loginList: [],
loginId: -1
};
page.clearSubmittedCredentials();
browser.contextMenus.update('fill_attribute', { visible: false });
};
page.removePageInformationFromNotExistingTabs = async function() {
const rand = Math.floor(Math.random() * 1001);
if (rand === 28) {
const tabs = await browser.tabs.query({});
const tabIds = [];
const infoIds = Object.keys(page.tabs);
for (const t of tabs) {
tabIds[t.id] = true;
}
for (const i of infoIds) {
if (!(i in tabIds)) {
delete page.tabs[i];
}
}
}
};
// Retrieves the credentials. Returns cached values when found.
// Page reload or tab switch clears the cache.
// If the retrieval is forced (from Credential Banner), get new credentials normally.
@ -315,17 +296,17 @@ page.retrieveCredentials = async function(tab, args = []) {
page.getLoginId = async function(tab) {
// If there's only one credential available and loginId is not set
if (page.loginId < 0
if (page.tabs[tab.id] && page.tabs[tab.id].loginId < 0
&& page.tabs[tab.id]
&& page.tabs[tab.id].credentials.length === 1) {
return 0; // Index to the first credential
}
return page.loginId;
return page.tabs[tab.id] ? page.tabs[tab.id].loginId : undefined;
};
page.setLoginId = async function(tab, loginId) {
page.loginId = loginId;
page.tabs[tab.id].loginId = loginId;
};
page.getManualFill = async function(tab) {