Bug 1293513 - Only setup login manager's progress listener for formless passwords inputs. r=dolske
MozReview-Commit-ID: GQtMX15ShsR
--- a/toolkit/components/passwordmgr/LoginManagerContent.jsm
+++ b/toolkit/components/passwordmgr/LoginManagerContent.jsm
@@ -349,24 +349,26 @@ var LoginManagerContent = {
this._fetchLoginsFromParentAndFillForm(formLike, window);
},
onDOMInputPasswordAdded(event, window) {
if (!event.isTrusted) {
return;
}
- this.setupProgressListener(window);
-
let pwField = event.target;
if (pwField.form) {
- // Handled by onDOMFormHasPassword which is already throttled.
+ // Fill is handled by onDOMFormHasPassword which is already throttled.
return;
}
+ // Only setup the listener for formless inputs.
+ // Capture within a <form> but without a submit event is bug 1287202.
+ this.setupProgressListener(window);
+
let formLike = FormLikeFactory.createFromField(pwField);
log("onDOMInputPasswordAdded:", pwField, formLike);
let deferredTask = this._deferredPasswordAddedTasksByRootElement.get(formLike.rootElement);
if (!deferredTask) {
log("Creating a DeferredTask to call _fetchLoginsFromParentAndFillForm soon");
this._formLikeByRootElement.set(formLike.rootElement, formLike);