Bug 1759418 - P3. Enable using Fathom to recognize CC field r=sgalich

Differential Revision: https://phabricator.services.mozilla.com/D146793
This commit is contained in:
Dimi 2022-05-23 20:39:57 +00:00
Родитель f58608ebb4
Коммит 9b90378694
4 изменённых файлов: 52 добавлений и 30 удалений

Просмотреть файл

@ -195,12 +195,12 @@ runHeuristicsTest(
},
// FIXME: bug 1392950 - the membership number should not be detected
// as cc-number.
{
section: "",
addressType: "",
contactType: "",
fieldName: "cc-number",
},
//{
//section: "",
//addressType: "",
//contactType: "",
//fieldName: "cc-number",
//},
],
],
],

Просмотреть файл

@ -41,14 +41,14 @@ runHeuristicsTest(
},
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-csc"},
],
[
{
section: "",
addressType: "",
contactType: "",
fieldName: "cc-number",
},
],
//[
//{
//section: "",
//addressType: "",
//contactType: "",
//fieldName: "cc-number", // txtQvcGiftCardNumber
//},
//],
],
[
[
@ -104,14 +104,14 @@ runHeuristicsTest(
},
// {"section": "", "addressType": "", "contactType": "", "fieldName": "cc-csc"},
],
[
{
section: "",
addressType: "",
contactType: "",
fieldName: "cc-number",
}, // ac-off
],
//[
//{
//section: "",
//addressType: "",
//contactType: "",
//fieldName: "cc-number", // txtQvcGiftCardNumber
//}, // ac-off
//],
],
[
[

Просмотреть файл

@ -1,5 +1,8 @@
"use strict";
const { FieldScanner } = ChromeUtils.import(
"resource://autofill/FormAutofillHeuristics.jsm"
);
var FormAutofillHeuristics, LabelUtils, FormAutofill;
add_task(async function() {
({ FormAutofillHeuristics } = ChromeUtils.import(
@ -284,7 +287,10 @@ TESTCASES.forEach(testcase => {
);
let element = doc.getElementById(testcase.elementId);
let value = FormAutofillHeuristics.getInfo(element);
let value = FormAutofillHeuristics.getInfo(
element,
new FieldScanner([element], {})
);
Assert.deepEqual(value, testcase.expectedReturnValue);
LabelUtils.clearLabelMap();
@ -337,7 +343,10 @@ add_task(async function test_regexp_list() {
);
let element = doc.getElementById(testcase.elementId);
let value = FormAutofillHeuristics.getInfo(element);
let value = FormAutofillHeuristics.getInfo(
element,
new FieldScanner([element], {})
);
Assert.deepEqual(value, testcase.expectedReturnValue, label);
}
@ -360,7 +369,10 @@ add_task(async function test_autofill_creditCards_autocomplete_off_pref() {
document
);
let element = doc.getElementById("targetElement");
let value = FormAutofillHeuristics.getInfo(element);
let value = FormAutofillHeuristics.getInfo(
element,
new FieldScanner([element], {})
);
Assert.deepEqual(value, expected);
document = `<form>
@ -385,7 +397,10 @@ add_task(async function test_autofill_creditCards_autocomplete_off_pref() {
document
);
element = doc.getElementById("targetElement");
value = FormAutofillHeuristics.getInfo(element);
value = FormAutofillHeuristics.getInfo(
element,
new FieldScanner([element], {})
);
Assert.deepEqual(value, expected);
Services.prefs.clearUserPref(
@ -408,7 +423,10 @@ add_task(async function test_autofill_addresses_autocomplete_off_pref() {
document
);
let element = doc.getElementById("given-name");
let value = FormAutofillHeuristics.getInfo(element);
let value = FormAutofillHeuristics.getInfo(
element,
new FieldScanner([element], {})
);
Assert.deepEqual(value, expected);
document = `<form>
@ -430,7 +448,10 @@ add_task(async function test_autofill_addresses_autocomplete_off_pref() {
document
);
element = doc.getElementById("given-name");
value = FormAutofillHeuristics.getInfo(element);
value = FormAutofillHeuristics.getInfo(
element,
new FieldScanner([element], {})
);
Assert.deepEqual(value, expected);
Services.prefs.clearUserPref(

Просмотреть файл

@ -4434,8 +4434,9 @@ pref("extensions.formautofill.creditCards.supportedCountries", "US,CA,GB,FR,DE")
pref("extensions.formautofill.creditCards.hideui", false);
// Algorithm used by formautofill while determine whether a field is a credit card field
// 0:Heurstics based on regular expression string matching
// 1:Fathom in js implementation, 2:Fathom in c++ implementation
pref("extensions.formautofill.creditCards.heuristics.mode", 0);
// 1:Fathom in js implementation
// 2:Fathom in c++ implementation
pref("extensions.formautofill.creditCards.heuristics.mode", 2);
pref("extensions.formautofill.creditCards.heuristics.confidenceThreshold", "0.5");
// Pref for shield/heartbeat to recognize users who have used Credit Card
// Autofill. The valid values can be: