mirror of
https://github.com/keepassxreboot/keepassxc-browser.git
synced 2026-03-11 08:54:43 +00:00
Fix Epicgames password input detection
This commit is contained in:
parent
89cc1bb40d
commit
5fef10d5ee
3 changed files with 13 additions and 4 deletions
|
|
@ -71,7 +71,7 @@ kpxcSites.detectUsernameFromPage = function() {
|
|||
* @returns {boolean} True if an Element has a match with the identifier and document location
|
||||
*/
|
||||
kpxcSites.exceptionFound = function(identifier, field) {
|
||||
if (!identifier || identifier.length === 0) {
|
||||
if ((!identifier || identifier.length === 0) && !field) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -80,7 +80,7 @@ kpxcSites.exceptionFound = function(identifier, field) {
|
|||
|| (typeof identifier === 'object' && [ 'password', 'form-row', 'show-password' ].every(c => identifier.contains(c))))) {
|
||||
return true;
|
||||
} else if (document.location.origin.startsWith('https://signin.ebay.')
|
||||
&& (identifier === 'null' || identifier.value === 'null' || identifier === 'pass')) {
|
||||
&& (identifier === 'null' || identifier?.value === 'null' || identifier === 'pass')) {
|
||||
return true;
|
||||
} else if (document.location.origin.startsWith('https://www.fidelity.com')) {
|
||||
if (typeof identifier === 'string') {
|
||||
|
|
@ -108,6 +108,9 @@ kpxcSites.exceptionFound = function(identifier, field) {
|
|||
return true;
|
||||
} else if (document.location.origin === 'https://accounts.google.com' && field?.id === 'password') {
|
||||
return true;
|
||||
} else if (document.location.origin === 'https://www.epicgames.com'
|
||||
&& ((field?.style?.opacity === '1' && field?.style?.willChange === 'auto') || identifier === 'password')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ kpxcForm.activateCredentialBanner = async function(usernameValue, passwordInputs
|
|||
return;
|
||||
}
|
||||
|
||||
if (passwordField) {
|
||||
if (passwordField && kpxcFields.isVisible(passwordField)) {
|
||||
await kpxc.setPasswordFilled(true);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,13 @@ kpxcIcons.addIconsFromForm = async function(form) {
|
|||
// Special case where everything else has been hidden, but a single password field is now displayed.
|
||||
// For example PayPal and Amazon is handled like this.
|
||||
if (c.username && !c.password && c.passwordInputs.length === 1) {
|
||||
kpxcIcons.addIcon(c.passwordInputs[0], kpxcIcons.iconTypes.DEFAULT);
|
||||
// Use password input directly from form if found (Epicgames)
|
||||
const passwordField = c.form?.querySelector('input[type=password]');
|
||||
if (c.form && passwordField) {
|
||||
kpxcIcons.addIcon(passwordField, kpxcIcons.iconTypes.DEFAULT);
|
||||
} else {
|
||||
kpxcIcons.addIcon(c.passwordInputs[0], kpxcIcons.iconTypes.DEFAULT);
|
||||
}
|
||||
}
|
||||
|
||||
if (c.username && !c.username.readOnly) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue