Autofill: re-set the field value if necessary (#182)

This commit is contained in:
Erayd
2019-10-20 05:37:44 +13:00
committed by Maxim Baz
parent a7d291ec98
commit 42b2757967

View File

@@ -409,6 +409,7 @@
}
// Set the field value
let initialValue = el.value || el.getAttribute("value");
el.setAttribute("value", value);
el.value = value;
@@ -417,6 +418,13 @@
el.dispatchEvent(new Event(eventName, { bubbles: true }));
}
// re-set value if unchanged after firing post-fill events
// (in case of sabotage by the site's own event handlers)
if ((el.value || el.getAttribute("value")) === initialValue) {
el.setAttribute("value", value);
el.value = value;
}
// Finally unfocus the element
el.dispatchEvent(new Event("blur", { bubbles: true }));
return true;