Bug 1400665 - Add a explicit check for fieldDetail to avoid calling a method of "undefined". r=lchang
MozReview-Commit-ID: EeYhje0b4c1
--- a/browser/extensions/formautofill/FormAutofillHandler.jsm
+++ b/browser/extensions/formautofill/FormAutofillHandler.jsm
@@ -170,20 +170,27 @@ FormAutofillHandler.prototype = {
return validDetails;
},
getFieldDetailByName(fieldName) {
return this.fieldDetails.find(detail => detail.fieldName == fieldName);
},
- getFieldDetailsByElement(element) {
- let fieldDetail = this.fieldDetails.find(
+ getFieldDetailByElement(element) {
+ return this.fieldDetails.find(
detail => detail.elementWeakRef.get() == element
);
+ },
+
+ getFieldDetailsByElement(element) {
+ let fieldDetail = this.getFieldDetailByElement(element);
+ if (!fieldDetail) {
+ return [];
+ }
if (FormAutofillUtils.isAddressField(fieldDetail.fieldName)) {
return this.address.fieldDetails;
}
if (FormAutofillUtils.isCreditCardField(fieldDetail.fieldName)) {
return this.creditCard.fieldDetails;
}
return [];
},