Backed out 2 changesets (bug 1645922) for xpcshell failures at test_getInfo.js. CLOSED TREE

Backed out changeset 70a0f7fd1803 (bug 1645922)
Backed out changeset 2fd3a3846d59 (bug 1645922)
This commit is contained in:
Brindusan Cristian 2020-06-23 01:10:09 +03:00
Родитель a0c8ce672c
Коммит 83d0df93cf
2 изменённых файлов: 76 добавлений и 101 удалений

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

@ -1063,6 +1063,21 @@ this.FormAutofillHeuristics = {
const getElementStrings = this._getElementStrings(element);
for (let regexp of regexps) {
for (let string of getElementStrings) {
// The original regexp "(?<!united )state|county|region|province" for
// "address-line1" wants to exclude any "united state" string, so the
// following code is to remove all "united state" string before applying
// "addess-level1" regexp.
//
// Since "united state" string matches to the regexp of address-line2&3,
// the two regexps should be excluded here.
if (
["address-level1", "address-line2", "address-line3"].includes(regexp)
) {
string = string
.toLowerCase()
.split("united state")
.join("");
}
if (this.RULES[regexp].test(string)) {
return regexp;
}

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

@ -14,24 +14,17 @@ var HeuristicsRegExp = {
// These regular expressions are from Chromium source codes [1]. Most of them
// converted to JS format have the same meaning with the original ones except
// the first line of "address-level1".
// [1] https://source.chromium.org/chromium/chromium/src/+/master:components/autofill/core/common/autofill_regex_constants.cc
// [1] https://cs.chromium.org/chromium/src/components/autofill/core/browser/autofill_regex_constants.cc
RULES: {
// ==== Email ====
email: new RegExp(
"e.?mail" +
"|courriel" + // fr
"|correo.*electr(o|ó)nico" + // es-ES
"|メールアドレス" + // ja-JP
"|Электронной.?Почты" + // ru
"|邮件|邮箱" + // zh-CN
"|電郵地址" + // zh-TW
"|ഇ-മെയില്‍|ഇലക്ട്രോണിക്.?" +
"മെയിൽ" + // ml
"|ایمیل|پست.*الکترونیک" + // fa
"|ईमेल|इलॅक्ट्रॉनिक.?मेल" + // hi
"|(\\b|_)eposta(\\b|_)" + // tr
"|(?:이메일|전자.?우편|[Ee]-?mail)(.?주소)?" // ko-KR
.normalize("NFKC"), // Handle decomposed characters
"|(?:이메일|전자.?우편|[Ee]-?mail)(.?주소)?", // ko-KR
"iu"
),
@ -44,10 +37,7 @@ var HeuristicsRegExp = {
"|電話" + // ja-JP
"|telefone|telemovel" + // pt-BR, pt-PT
"|телефон" + // ru
"|मोबाइल" + // hi for mobile
"|(\\b|_|\\*)telefon(\\b|_|\\*)" + // tr
"|电话" + // zh-CN
"|മൊബൈല്‍" + // ml for mobile
"|(?:전화|핸드폰|휴대폰|휴대전화)(?:.?번호)?", // ko-KR
"iu"
),
@ -55,14 +45,13 @@ var HeuristicsRegExp = {
// ==== Address Fields ====
organization: new RegExp(
"company|business|organization|organisation" +
"|(?<!con)firma|firmenname" + // de-DE
"|firma|firmenname" + // de-DE
"|empresa" + // es
"|societe|société" + // fr-FR
"|ragione.?sociale" + // it-IT
"|会社" + // ja-JP
"|название.?компании" + // ru
"|单位|公司" + // zh-CN
"|شرکت" + // fa
"|회사|직장", // ko-KR
"iu"
),
@ -77,10 +66,9 @@ var HeuristicsRegExp = {
"|adresse" + // fr-FR
"|indirizzo" + // it-IT
"|^住所$|住所1" + // ja-JP
"|morada|((?<!identificação do )endereço)" + // pt-BR, pt-PT
"|morada|endereço" + // pt-BR, pt-PT
"|Адрес" + // ru
"|地址" + // zh-CN
"|(\\b|_)adres(?! (başlığı(nız)?|tarifi))(\\b|_)" + // tr
"|^주소.?$|주소.?1", // ko-KR
"iu"
),
@ -124,30 +112,22 @@ var HeuristicsRegExp = {
"|Город" + // ru
"|市" + // zh-CN
"|分區" + // zh-TW
"|شهر" + // fa
"|शहर" + // hi for city
"|ग्राम|गाँव" + // hi for village
"|നഗരം|ഗ്രാമം" + // ml for town|village
"|((\\b|_|\\*)([İii̇]l[cç]e(miz|niz)?)(\\b|_|\\*))" + // tr
"|^시[^도·・]|시[·・]?군[·・]?구" // ko-KR
.normalize("NFKC"), // Handle decomposed characters
"|^시[^도·・]|시[·・]?군[·・]?구", // ko-KR
"iu"
),
"address-level1": new RegExp(
"(?<!(united|hist|history).?)state|county|region|province" +
"|land" + // de-DE - Extra rules by Firefox
// JS does not support backward matching, so the following pattern is
// applied in FormAutofillHeuristics.getInfo() rather than regexp.
// "(?<!united )state|county|region|province"
"state|county|region|province" +
"|land" + // de-DE
"|county|principality" + // en-UK
"|都道府県" + // ja-JP
"|estado|provincia" + // pt-BR, pt-PT
"|область" + // ru
"|省" + // zh-CN
"|地區" + // zh-TW
"|സംസ്ഥാനം" + // ml
"|استان" + // fa
"|राज्य" + // hi
"|((\\b|_|\\*)(eyalet|[şs]ehir|[İii̇]l(imiz)?|kent)(\\b|_|\\*))" + // tr
"|^시[·・]?도" // ko-KR
.normalize("NFKC"), // Handle decomposed characters
"|^시[·・]?도", // ko-KR
"iu"
),
"postal-code": new RegExp(
@ -160,30 +140,64 @@ var HeuristicsRegExp = {
"|郵便番号" + // ja-JP
"|codigo|codpos|\\bcep\\b" + // pt-BR, pt-PT
"|Почтовый.?Индекс" + // ru
"|पिन.?कोड" + // hi
"|പിന്‍കോഡ്" + // ml
"|邮政编码|邮编" + // zh-CN
"|郵遞區號" + // zh-TW
"|(\\b|_)posta kodu(\\b|_)" + // tr
"|우편.?번호", // ko-KR
"iu"
),
country: new RegExp(
"country|countries" +
"|país|pais" + // es
"|(\\b|_)land(\\b|_)(?!.*(mark.*))" + // de-DE landmark is a type in india.
"|(?<!(入|出))国" + // ja-JP
"|国" + // ja-JP
"|国家" + // zh-CN
"|국가|나라" + // ko-KR
"|(\\b|_)(ülke|ulce|ulke)(\\b|_)" + // tr
"|کشور", // fa
"|국가|나라", // ko-KR
"iu"
),
// ==== Name Fields ====
// Note: We place the `cc-name` field for Credit Card first, because
// it is more specific than the `name` field below and we want to check
// for it before we catch the more generic one.
name: new RegExp(
"^name|full.?name|your.?name|customer.?name|bill.?name|ship.?name" +
"|name.*first.*last|firstandlastname" +
"|nombre.*y.*apellidos" + // es
"|^nom" + // fr-FR
"|お名前|氏名" + // ja-JP
"|^nome" + // pt-BR, pt-PT
"|姓名" + // zh-CN
"|성명", // ko-KR
"iu"
),
"given-name": new RegExp(
"first.*name|initials|fname|first$|given.*name" +
"|vorname" + // de-DE
"|nombre" + // es
"|forename|prénom|prenom" + // fr-FR
"|名" + // ja-JP
"|nome" + // pt-BR, pt-PT
"|Имя" + // ru
"|이름", // ko-KR
"iu"
),
"additional-name": new RegExp(
"middle.*name|mname|middle$" +
"|apellido.?materno|lastlastname" + // es
// This rule is for middle initial.
"middle.*initial|m\\.i\\.|mi$|\\bmi\\b",
"iu"
),
"family-name": new RegExp(
"last.*name|lname|surname|last$|secondname|family.*name" +
"|nachname" + // de-DE
"|apellido" + // es
"|famille|^nom" + // fr-FR
"|cognome" + // it-IT
"|姓" + // ja-JP
"|morada|apelidos|surename|sobrenome" + // pt-BR, pt-PT
"|Фамилия" + // ru
"|\\b성(?:[^명]|\\b)", // ko-KR
"iu"
),
// ==== Credit Card Fields ====
"cc-name": new RegExp(
"card.?(?:holder|owner)|name.*(\\b)?on(\\b)?.*card" +
"|(?:card|cc).?name|cc.?full.?name" +
@ -197,71 +211,17 @@ var HeuristicsRegExp = {
"|持卡人姓名", // zh-TW
"iu"
),
name: new RegExp(
"^name|full.?name|your.?name|customer.?name|bill.?name|ship.?name" +
"|name.*first.*last|firstandlastname" +
"|nombre.*y.*apellidos" + // es
"|^nom(?!bre)" + // fr-FR
"|お名前|氏名" + // ja-JP
"|^nome" + // pt-BR, pt-PT
"|نام.*نام.*خانوادگی" + // fa
"|姓名" + // zh-CN
"|(\\b|_|\\*)ad[ı]? soyad[ı]?(\\b|_|\\*)" + // tr
"|성명", // ko-KR
"iu"
),
"given-name": new RegExp(
"first.*name|initials|fname|first$|given.*name" +
"|vorname" + // de-DE
"|nombre" + // es
"|forename|prénom|prenom" + // fr-FR
"|名" + // ja-JP
"|nome" + // pt-BR, pt-PT
"|Имя" + // ru
"|نام" + // fa
"|이름" + // ko-KR
"|പേര്" + // ml
"|(\\b|_|\\*)(isim|ad|ad(i|ı|iniz|ınız)?)(\\b|_|\\*)" + // tr
"|नाम", // hi
"iu"
),
"additional-name": new RegExp(
"middle.*name|mname|middle$" +
"|apellido.?materno|lastlastname" + // Extra rules by Firefox
"middle.*initial|m\\.i\\.|mi$|\\bmi\\b", // es
"iu"
),
"family-name": new RegExp(
"last.*name|lname|surname|last$|secondname|family.*name" +
"|nachname" + // de-DE
"|apellidos?" + // es
"|famille|^nom(?!bre)" + // fr-FR
"|cognome" + // it-IT
"|姓" + // ja-JP
"|apelidos|surename|sobrenome" + // pt-BR, pt-PT
"|Фамилия" + // ru
"|نام.*خانوادگی" + // fa
"|उपनाम" + // hi
"|മറുപേര്" + // ml
"|(\\b|_|\\*)(soyisim|soyad(i|ı|iniz|ınız)?)(\\b|_|\\*)" + // tr
"|\\b성(?:[^명]|\\b)", // ko-KR
"iu"
),
// ==== Credit Card Fields ====
// Note: `cc-name` expression has been moved up, above `name`, in
// order to handle specialization through ordering.
"cc-number": new RegExp(
"(add)?(?:card|cc|acct).?(?:number|#|no|num|field)" +
"|(cc|kk)nr" + // Extra rules by Firefox for de-DE
"|(?<!telefon|haus|person|fødsels)nummer" + // de-DE, sv-SE, no
"|nummer" + // de-DE
"|credito|numero|número" + // es
"|numéro" + // fr-FR
"|カード番号" + // ja-JP
"|Номер.*карты" + // ru
"|信用卡号|信用卡号码" + // zh-CN
"|信用卡卡號" + // zh-TW
"|카드" + // ko-KR
// es/pt/fr
"|(numero|número|numéro)(?!.*(document|fono|phone|réservation))",
"|카드", // ko-KR
"iu"
),
"cc-exp-month": new RegExp(
@ -274,7 +234,7 @@ var HeuristicsRegExp = {
"|有効期限" + // ja-JP
"|validade" + // pt-BR, pt-PT
"|Срок действия карты" + // ru
"|月", // zh-CN
"|月", // zh-CN,
"iu"
),
"cc-exp-year": new RegExp(