| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/autofill/core/browser/form_structure.h" | 5 #include "components/autofill/core/browser/form_structure.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 1262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1273 field.form_control_type = "submit"; | 1273 field.form_control_type = "submit"; |
| 1274 form.fields.push_back(field); | 1274 form.fields.push_back(field); |
| 1275 | 1275 |
| 1276 form_structure.reset(new FormStructure(form)); | 1276 form_structure.reset(new FormStructure(form)); |
| 1277 form_structure->DetermineHeuristicTypes(); | 1277 form_structure->DetermineHeuristicTypes(); |
| 1278 EXPECT_TRUE(form_structure->IsAutofillable()); | 1278 EXPECT_TRUE(form_structure->IsAutofillable()); |
| 1279 ASSERT_EQ(6U, form_structure->field_count()); | 1279 ASSERT_EQ(6U, form_structure->field_count()); |
| 1280 ASSERT_EQ(5U, form_structure->autofill_count()); | 1280 ASSERT_EQ(5U, form_structure->autofill_count()); |
| 1281 | 1281 |
| 1282 // Credit card name. | 1282 // Credit card name. |
| 1283 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); | 1283 EXPECT_EQ(CREDIT_CARD_NAME_FULL, form_structure->field(0)->heuristic_type()); |
| 1284 // Credit card number. | 1284 // Credit card number. |
| 1285 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(1)->heuristic_type()); | 1285 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(1)->heuristic_type()); |
| 1286 // Credit card expiration month. | 1286 // Credit card expiration month. |
| 1287 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(2)->heuristic_type()); | 1287 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(2)->heuristic_type()); |
| 1288 // Credit card expiration year. | 1288 // Credit card expiration year. |
| 1289 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, | 1289 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, |
| 1290 form_structure->field(3)->heuristic_type()); | 1290 form_structure->field(3)->heuristic_type()); |
| 1291 // CVV. | 1291 // CVV. |
| 1292 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE, | 1292 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE, |
| 1293 form_structure->field(4)->heuristic_type()); | 1293 form_structure->field(4)->heuristic_type()); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1333 field.form_control_type = "submit"; | 1333 field.form_control_type = "submit"; |
| 1334 form.fields.push_back(field); | 1334 form.fields.push_back(field); |
| 1335 | 1335 |
| 1336 form_structure.reset(new FormStructure(form)); | 1336 form_structure.reset(new FormStructure(form)); |
| 1337 form_structure->DetermineHeuristicTypes(); | 1337 form_structure->DetermineHeuristicTypes(); |
| 1338 EXPECT_TRUE(form_structure->IsAutofillable()); | 1338 EXPECT_TRUE(form_structure->IsAutofillable()); |
| 1339 ASSERT_EQ(7U, form_structure->field_count()); | 1339 ASSERT_EQ(7U, form_structure->field_count()); |
| 1340 ASSERT_EQ(5U, form_structure->autofill_count()); | 1340 ASSERT_EQ(5U, form_structure->autofill_count()); |
| 1341 | 1341 |
| 1342 // Credit card name. | 1342 // Credit card name. |
| 1343 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); | 1343 EXPECT_EQ(CREDIT_CARD_NAME_FULL, form_structure->field(0)->heuristic_type()); |
| 1344 // Credit card type. This is an unknown type but related to the credit card. | 1344 // Credit card type. This is an unknown type but related to the credit card. |
| 1345 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(1)->heuristic_type()); | 1345 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(1)->heuristic_type()); |
| 1346 // Credit card number. | 1346 // Credit card number. |
| 1347 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type()); | 1347 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type()); |
| 1348 // Credit card expiration month. | 1348 // Credit card expiration month. |
| 1349 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type()); | 1349 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type()); |
| 1350 // Credit card expiration year. | 1350 // Credit card expiration year. |
| 1351 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, | 1351 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, |
| 1352 form_structure->field(4)->heuristic_type()); | 1352 form_structure->field(4)->heuristic_type()); |
| 1353 // CVV. | 1353 // CVV. |
| (...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1696 | 1696 |
| 1697 form_structure.reset(new FormStructure(form)); | 1697 form_structure.reset(new FormStructure(form)); |
| 1698 form_structure->DetermineHeuristicTypes(); | 1698 form_structure->DetermineHeuristicTypes(); |
| 1699 EXPECT_TRUE(form_structure->IsAutofillable()); | 1699 EXPECT_TRUE(form_structure->IsAutofillable()); |
| 1700 | 1700 |
| 1701 // Expect the correct number of fields. | 1701 // Expect the correct number of fields. |
| 1702 ASSERT_EQ(5U, form_structure->field_count()); | 1702 ASSERT_EQ(5U, form_structure->field_count()); |
| 1703 EXPECT_EQ(5U, form_structure->autofill_count()); | 1703 EXPECT_EQ(5U, form_structure->autofill_count()); |
| 1704 | 1704 |
| 1705 // Name on Card. | 1705 // Name on Card. |
| 1706 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); | 1706 EXPECT_EQ(CREDIT_CARD_NAME_FULL, form_structure->field(0)->heuristic_type()); |
| 1707 // Address. | 1707 // Address. |
| 1708 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(1)->heuristic_type()); | 1708 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(1)->heuristic_type()); |
| 1709 // Card Number. | 1709 // Card Number. |
| 1710 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type()); | 1710 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type()); |
| 1711 // Expiration Date. | 1711 // Expiration Date. |
| 1712 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type()); | 1712 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type()); |
| 1713 // Expiration Year. | 1713 // Expiration Year. |
| 1714 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, | 1714 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, |
| 1715 form_structure->field(4)->heuristic_type()); | 1715 form_structure->field(4)->heuristic_type()); |
| 1716 } | 1716 } |
| 1717 | 1717 |
| 1718 TEST_F(FormStructureTest, CVCCodeClash) { | 1718 // Tests that the heuristics detect split credit card names if they appear in |
| 1719 // the middle of the form. |
| 1720 TEST_F(FormStructureTest, HeuristicsInferCCNames_NamesNotFirst) { |
| 1719 scoped_ptr<FormStructure> form_structure; | 1721 scoped_ptr<FormStructure> form_structure; |
| 1720 FormData form; | 1722 FormData form; |
| 1721 | 1723 |
| 1722 FormFieldData field; | 1724 FormFieldData field; |
| 1723 field.form_control_type = "text"; | 1725 field.form_control_type = "text"; |
| 1724 | 1726 |
| 1725 field.label = ASCIIToUTF16("Card number"); | 1727 field.label = ASCIIToUTF16("Card number"); |
| 1726 field.name = ASCIIToUTF16("ccnumber"); | 1728 field.name = ASCIIToUTF16("ccnumber"); |
| 1727 form.fields.push_back(field); | 1729 form.fields.push_back(field); |
| 1728 | 1730 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 1744 | 1746 |
| 1745 field.label = ASCIIToUTF16("cvc number"); | 1747 field.label = ASCIIToUTF16("cvc number"); |
| 1746 field.name = ASCIIToUTF16("csc"); | 1748 field.name = ASCIIToUTF16("csc"); |
| 1747 form.fields.push_back(field); | 1749 form.fields.push_back(field); |
| 1748 | 1750 |
| 1749 form_structure.reset(new FormStructure(form)); | 1751 form_structure.reset(new FormStructure(form)); |
| 1750 form_structure->DetermineHeuristicTypes(); | 1752 form_structure->DetermineHeuristicTypes(); |
| 1751 EXPECT_TRUE(form_structure->IsAutofillable()); | 1753 EXPECT_TRUE(form_structure->IsAutofillable()); |
| 1752 | 1754 |
| 1753 // Expect the correct number of fields. | 1755 // Expect the correct number of fields. |
| 1754 EXPECT_EQ(6U, form_structure->field_count()); | 1756 ASSERT_EQ(6U, form_structure->field_count()); |
| 1755 EXPECT_EQ(6U, form_structure->autofill_count()); | 1757 ASSERT_EQ(6U, form_structure->autofill_count()); |
| 1756 | 1758 |
| 1757 // Card Number. | 1759 // Card Number. |
| 1758 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(0)->heuristic_type()); | 1760 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(0)->heuristic_type()); |
| 1759 // First name, taken as name on card. | 1761 // First name. |
| 1760 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(1)->heuristic_type()); | 1762 EXPECT_EQ(CREDIT_CARD_NAME_FIRST, form_structure->field(1)->heuristic_type()); |
| 1761 // Last name is picked up by the name parser. | 1763 // Last name. |
| 1762 EXPECT_EQ(NAME_LAST, form_structure->field(2)->heuristic_type()); | 1764 EXPECT_EQ(CREDIT_CARD_NAME_LAST, form_structure->field(2)->heuristic_type()); |
| 1763 // Expiration Date. | 1765 // Expiration Date. |
| 1764 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type()); | 1766 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type()); |
| 1765 // Expiration Year. | 1767 // Expiration Year. |
| 1768 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, |
| 1769 form_structure->field(4)->heuristic_type()); |
| 1770 // CVC code. |
| 1771 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE, |
| 1772 form_structure->field(5)->heuristic_type()); |
| 1773 } |
| 1774 |
| 1775 // Tests that the heuristics detect split credit card names if they appear at |
| 1776 // the beginning of the form. The first name has to contains some credit card |
| 1777 // keyword. |
| 1778 TEST_F(FormStructureTest, HeuristicsInferCCNames_NamesFirst) { |
| 1779 scoped_ptr<FormStructure> form_structure; |
| 1780 FormData form; |
| 1781 |
| 1782 FormFieldData field; |
| 1783 field.form_control_type = "text"; |
| 1784 |
| 1785 field.label = ASCIIToUTF16("Cardholder Name"); |
| 1786 field.name = ASCIIToUTF16("cc_first_name"); |
| 1787 form.fields.push_back(field); |
| 1788 |
| 1789 field.label = ASCIIToUTF16("Last name"); |
| 1790 field.name = ASCIIToUTF16("last_name"); |
| 1791 form.fields.push_back(field); |
| 1792 |
| 1793 field.label = ASCIIToUTF16("Card number"); |
| 1794 field.name = ASCIIToUTF16("ccnumber"); |
| 1795 form.fields.push_back(field); |
| 1796 |
| 1797 field.label = ASCIIToUTF16("Expiration date"); |
| 1798 field.name = ASCIIToUTF16("ccexpiresmonth"); |
| 1799 form.fields.push_back(field); |
| 1800 |
| 1801 field.label = base::string16(); |
| 1802 field.name = ASCIIToUTF16("ccexpiresyear"); |
| 1803 form.fields.push_back(field); |
| 1804 |
| 1805 field.label = ASCIIToUTF16("cvc number"); |
| 1806 field.name = ASCIIToUTF16("csc"); |
| 1807 form.fields.push_back(field); |
| 1808 |
| 1809 form_structure.reset(new FormStructure(form)); |
| 1810 form_structure->DetermineHeuristicTypes(); |
| 1811 EXPECT_TRUE(form_structure->IsAutofillable()); |
| 1812 |
| 1813 // Expect the correct number of fields. |
| 1814 ASSERT_EQ(6U, form_structure->field_count()); |
| 1815 ASSERT_EQ(6U, form_structure->autofill_count()); |
| 1816 |
| 1817 // First name. |
| 1818 EXPECT_EQ(CREDIT_CARD_NAME_FIRST, form_structure->field(0)->heuristic_type()); |
| 1819 // Last name. |
| 1820 EXPECT_EQ(CREDIT_CARD_NAME_LAST, form_structure->field(1)->heuristic_type()); |
| 1821 // Card Number. |
| 1822 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type()); |
| 1823 // Expiration Date. |
| 1824 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type()); |
| 1825 // Expiration Year. |
| 1766 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, | 1826 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, |
| 1767 form_structure->field(4)->heuristic_type()); | 1827 form_structure->field(4)->heuristic_type()); |
| 1768 // CVC code. | 1828 // CVC code. |
| 1769 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE, | 1829 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE, |
| 1770 form_structure->field(5)->heuristic_type()); | 1830 form_structure->field(5)->heuristic_type()); |
| 1771 } | 1831 } |
| 1772 | 1832 |
| 1773 TEST_F(FormStructureTest, EncodeQueryRequest) { | 1833 TEST_F(FormStructureTest, EncodeQueryRequest) { |
| 1774 FormData form; | 1834 FormData form; |
| 1775 | 1835 |
| (...skipping 970 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2746 EXPECT_TRUE(form_structure.EncodeUploadRequest( | 2806 EXPECT_TRUE(form_structure.EncodeUploadRequest( |
| 2747 available_field_types, false, std::string(), true, &encoded_upload3)); | 2807 available_field_types, false, std::string(), true, &encoded_upload3)); |
| 2748 | 2808 |
| 2749 encoded_upload3.SerializeToString(&encoded_upload_string); | 2809 encoded_upload3.SerializeToString(&encoded_upload_string); |
| 2750 EXPECT_EQ(expected_upload_string, encoded_upload_string); | 2810 EXPECT_EQ(expected_upload_string, encoded_upload_string); |
| 2751 | 2811 |
| 2752 // All supported credit card types available. | 2812 // All supported credit card types available. |
| 2753 // datapresent should be "0000000000001fc0" == trimmmed(0x0000000000001fc0) == | 2813 // datapresent should be "0000000000001fc0" == trimmmed(0x0000000000001fc0) == |
| 2754 // 0b0000000000000000000000000000000000000000000000000001111111000000 | 2814 // 0b0000000000000000000000000000000000000000000000000001111111000000 |
| 2755 // The set bits are: | 2815 // The set bits are: |
| 2756 // 51 == CREDIT_CARD_NAME | 2816 // 51 == CREDIT_CARD_NAME_FULL |
| 2757 // 52 == CREDIT_CARD_NUMBER | 2817 // 52 == CREDIT_CARD_NUMBER |
| 2758 // 53 == CREDIT_CARD_EXP_MONTH | 2818 // 53 == CREDIT_CARD_EXP_MONTH |
| 2759 // 54 == CREDIT_CARD_EXP_2_DIGIT_YEAR | 2819 // 54 == CREDIT_CARD_EXP_2_DIGIT_YEAR |
| 2760 // 55 == CREDIT_CARD_EXP_4_DIGIT_YEAR | 2820 // 55 == CREDIT_CARD_EXP_4_DIGIT_YEAR |
| 2761 // 56 == CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR | 2821 // 56 == CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR |
| 2762 // 57 == CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR | 2822 // 57 == CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR |
| 2763 available_field_types.clear(); | 2823 available_field_types.clear(); |
| 2764 available_field_types.insert(CREDIT_CARD_NAME); | 2824 available_field_types.insert(CREDIT_CARD_NAME_FULL); |
| 2765 available_field_types.insert(CREDIT_CARD_NUMBER); | 2825 available_field_types.insert(CREDIT_CARD_NUMBER); |
| 2766 available_field_types.insert(CREDIT_CARD_EXP_MONTH); | 2826 available_field_types.insert(CREDIT_CARD_EXP_MONTH); |
| 2767 available_field_types.insert(CREDIT_CARD_EXP_2_DIGIT_YEAR); | 2827 available_field_types.insert(CREDIT_CARD_EXP_2_DIGIT_YEAR); |
| 2768 available_field_types.insert(CREDIT_CARD_EXP_4_DIGIT_YEAR); | 2828 available_field_types.insert(CREDIT_CARD_EXP_4_DIGIT_YEAR); |
| 2769 available_field_types.insert(CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR); | 2829 available_field_types.insert(CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR); |
| 2770 available_field_types.insert(CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR); | 2830 available_field_types.insert(CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR); |
| 2771 | 2831 |
| 2772 // Adjust the expected proto string. | 2832 // Adjust the expected proto string. |
| 2773 upload.set_data_present("0000000000001fc0"); | 2833 upload.set_data_present("0000000000001fc0"); |
| 2774 ASSERT_TRUE(upload.SerializeToString(&expected_upload_string)); | 2834 ASSERT_TRUE(upload.SerializeToString(&expected_upload_string)); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 2794 // 11 == PHONE_HOME_CITY_CODE, | 2854 // 11 == PHONE_HOME_CITY_CODE, |
| 2795 // 12 == PHONE_HOME_COUNTRY_CODE, | 2855 // 12 == PHONE_HOME_COUNTRY_CODE, |
| 2796 // 13 == PHONE_HOME_CITY_AND_NUMBER, | 2856 // 13 == PHONE_HOME_CITY_AND_NUMBER, |
| 2797 // 14 == PHONE_HOME_WHOLE_NUMBER, | 2857 // 14 == PHONE_HOME_WHOLE_NUMBER, |
| 2798 // 30 == ADDRESS_HOME_LINE1 | 2858 // 30 == ADDRESS_HOME_LINE1 |
| 2799 // 31 == ADDRESS_HOME_LINE2 | 2859 // 31 == ADDRESS_HOME_LINE2 |
| 2800 // 33 == ADDRESS_HOME_CITY | 2860 // 33 == ADDRESS_HOME_CITY |
| 2801 // 34 == ADDRESS_HOME_STATE | 2861 // 34 == ADDRESS_HOME_STATE |
| 2802 // 35 == ADDRESS_HOME_ZIP | 2862 // 35 == ADDRESS_HOME_ZIP |
| 2803 // 36 == ADDRESS_HOME_COUNTRY | 2863 // 36 == ADDRESS_HOME_COUNTRY |
| 2804 // 51 == CREDIT_CARD_NAME | 2864 // 51 == CREDIT_CARD_NAME_FULL |
| 2805 // 52 == CREDIT_CARD_NUMBER | 2865 // 52 == CREDIT_CARD_NUMBER |
| 2806 // 53 == CREDIT_CARD_EXP_MONTH | 2866 // 53 == CREDIT_CARD_EXP_MONTH |
| 2807 // 54 == CREDIT_CARD_EXP_2_DIGIT_YEAR | 2867 // 54 == CREDIT_CARD_EXP_2_DIGIT_YEAR |
| 2808 // 55 == CREDIT_CARD_EXP_4_DIGIT_YEAR | 2868 // 55 == CREDIT_CARD_EXP_4_DIGIT_YEAR |
| 2809 // 56 == CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR | 2869 // 56 == CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR |
| 2810 // 57 == CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR | 2870 // 57 == CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR |
| 2811 // 60 == COMPANY_NAME | 2871 // 60 == COMPANY_NAME |
| 2812 available_field_types.clear(); | 2872 available_field_types.clear(); |
| 2813 available_field_types.insert(NAME_FIRST); | 2873 available_field_types.insert(NAME_FIRST); |
| 2814 available_field_types.insert(NAME_MIDDLE); | 2874 available_field_types.insert(NAME_MIDDLE); |
| 2815 available_field_types.insert(NAME_LAST); | 2875 available_field_types.insert(NAME_LAST); |
| 2816 available_field_types.insert(NAME_MIDDLE_INITIAL); | 2876 available_field_types.insert(NAME_MIDDLE_INITIAL); |
| 2817 available_field_types.insert(NAME_FULL); | 2877 available_field_types.insert(NAME_FULL); |
| 2818 available_field_types.insert(EMAIL_ADDRESS); | 2878 available_field_types.insert(EMAIL_ADDRESS); |
| 2819 available_field_types.insert(PHONE_HOME_NUMBER); | 2879 available_field_types.insert(PHONE_HOME_NUMBER); |
| 2820 available_field_types.insert(PHONE_HOME_CITY_CODE); | 2880 available_field_types.insert(PHONE_HOME_CITY_CODE); |
| 2821 available_field_types.insert(PHONE_HOME_COUNTRY_CODE); | 2881 available_field_types.insert(PHONE_HOME_COUNTRY_CODE); |
| 2822 available_field_types.insert(PHONE_HOME_CITY_AND_NUMBER); | 2882 available_field_types.insert(PHONE_HOME_CITY_AND_NUMBER); |
| 2823 available_field_types.insert(PHONE_HOME_WHOLE_NUMBER); | 2883 available_field_types.insert(PHONE_HOME_WHOLE_NUMBER); |
| 2824 available_field_types.insert(ADDRESS_HOME_LINE1); | 2884 available_field_types.insert(ADDRESS_HOME_LINE1); |
| 2825 available_field_types.insert(ADDRESS_HOME_LINE2); | 2885 available_field_types.insert(ADDRESS_HOME_LINE2); |
| 2826 available_field_types.insert(ADDRESS_HOME_CITY); | 2886 available_field_types.insert(ADDRESS_HOME_CITY); |
| 2827 available_field_types.insert(ADDRESS_HOME_STATE); | 2887 available_field_types.insert(ADDRESS_HOME_STATE); |
| 2828 available_field_types.insert(ADDRESS_HOME_ZIP); | 2888 available_field_types.insert(ADDRESS_HOME_ZIP); |
| 2829 available_field_types.insert(ADDRESS_HOME_COUNTRY); | 2889 available_field_types.insert(ADDRESS_HOME_COUNTRY); |
| 2830 available_field_types.insert(CREDIT_CARD_NAME); | 2890 available_field_types.insert(CREDIT_CARD_NAME_FULL); |
| 2831 available_field_types.insert(CREDIT_CARD_NUMBER); | 2891 available_field_types.insert(CREDIT_CARD_NUMBER); |
| 2832 available_field_types.insert(CREDIT_CARD_EXP_MONTH); | 2892 available_field_types.insert(CREDIT_CARD_EXP_MONTH); |
| 2833 available_field_types.insert(CREDIT_CARD_EXP_2_DIGIT_YEAR); | 2893 available_field_types.insert(CREDIT_CARD_EXP_2_DIGIT_YEAR); |
| 2834 available_field_types.insert(CREDIT_CARD_EXP_4_DIGIT_YEAR); | 2894 available_field_types.insert(CREDIT_CARD_EXP_4_DIGIT_YEAR); |
| 2835 available_field_types.insert(CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR); | 2895 available_field_types.insert(CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR); |
| 2836 available_field_types.insert(CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR); | 2896 available_field_types.insert(CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR); |
| 2837 available_field_types.insert(COMPANY_NAME); | 2897 available_field_types.insert(COMPANY_NAME); |
| 2838 | 2898 |
| 2839 // Adjust the expected proto string. | 2899 // Adjust the expected proto string. |
| 2840 upload.set_data_present("1f7e000378001fc8"); | 2900 upload.set_data_present("1f7e000378001fc8"); |
| (...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3521 prefix = FormStructure::FindLongestCommonPrefix(strings); | 3581 prefix = FormStructure::FindLongestCommonPrefix(strings); |
| 3522 EXPECT_EQ(ASCIIToUTF16("123456789012345"), prefix); | 3582 EXPECT_EQ(ASCIIToUTF16("123456789012345"), prefix); |
| 3523 | 3583 |
| 3524 // Empty vector. | 3584 // Empty vector. |
| 3525 strings.clear(); | 3585 strings.clear(); |
| 3526 prefix = FormStructure::FindLongestCommonPrefix(strings); | 3586 prefix = FormStructure::FindLongestCommonPrefix(strings); |
| 3527 EXPECT_EQ(ASCIIToUTF16(""), prefix); | 3587 EXPECT_EQ(ASCIIToUTF16(""), prefix); |
| 3528 } | 3588 } |
| 3529 | 3589 |
| 3530 } // namespace autofill | 3590 } // namespace autofill |
| OLD | NEW |