Ignore non-focusable field while identifying sections in FormStructure.
commit67ad8b57560679cd2dfc2890c207b645e3a46f49
authorbrettw <brettw@chromium.org>
Mon, 10 Nov 2014 23:30:43 +0000 (10 15:30 -0800)
committerCommit bot <commit-bot@chromium.org>
Mon, 10 Nov 2014 23:31:25 +0000 (10 23:31 +0000)
tree74966d5e47e42f88091f5e508ed510bc8bd7c37a
parent1bfe82af46f4b885eed03fc4db1baf1bd62ddbd4
Ignore non-focusable field while identifying sections in FormStructure.

This also updates the form data comparison functions which did not include many fields. This manifested as a bug on the 15_crbug_53075 where the shipping field is initially hidden. Because this is hidden, this new code did not compute a section split. When you revealed it, the code did not detect that anything changed and used the cached values computed previously, counting it as no split. Accounting for "focusable" as a change in the form makes this compute properly.

Original patch by ziran.sun@samsung.com https://codereview.chromium.org/634563002/ This tweaks the test code from Ziran's patch and adds the "heuristics" tests
BUG=231160,426538

Review URL: https://codereview.chromium.org/678463002

Cr-Commit-Position: refs/heads/master@{#303533}
20 files changed:
chrome/test/data/autofill/heuristics/input/20_landsend.html [new file with mode: 0644]
chrome/test/data/autofill/heuristics/output/02_checkout_ae.com.out
chrome/test/data/autofill/heuristics/output/03_checkout_gamestop.com.out
chrome/test/data/autofill/heuristics/output/03_checkout_hsn.com.out
chrome/test/data/autofill/heuristics/output/04_checkout_lowes.com.out
chrome/test/data/autofill/heuristics/output/06_checkout_qvc.com.out
chrome/test/data/autofill/heuristics/output/06_checkout_sears.com.out
chrome/test/data/autofill/heuristics/output/08_register_continental.com.out
chrome/test/data/autofill/heuristics/output/11_register_newegg.com.out
chrome/test/data/autofill/heuristics/output/15_crbug_53075.out
chrome/test/data/autofill/heuristics/output/16_crbug_87517.out
chrome/test/data/autofill/heuristics/output/20_checkout_alaskaair.com.out
chrome/test/data/autofill/heuristics/output/20_landsend.out [new file with mode: 0644]
chrome/test/data/autofill/heuristics/output/20_register_alaskaair.com.out
chrome/test/data/autofill/heuristics/output/23_checkout_m_apple.com.out
components/autofill/core/browser/autofill_manager_unittest.cc
components/autofill/core/browser/autofill_test_utils.cc
components/autofill/core/browser/form_structure.cc
components/autofill/core/common/form_field_data.cc
components/autofill/core/common/form_field_data.h