This is a first step in the strict validation of Autofill data. It will also make it easier to test the Validation logic and allow tasks to be done in parallel
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f3a26c194b9e86a473a40c7ccef13e730a7e57e1 commit f3a26c194b9e86a473a40c7ccef13e730a7e57e1 Author: sebsg <sebsg@chromium.org> Date: Tue Jul 25 16:39:23 2017 [Autofill] Add variable to track field validity in AutofillProfile. Bug: 748223 Change-Id: Ia0d167327c02a82608f3df7531ee9c322d7ca53b Reviewed-on: https://chromium-review.googlesource.com/583989 Commit-Queue: Sebastien Seguin-Gagnon <sebsg@chromium.org> Reviewed-by: Mathieu Perreault <mathp@chromium.org> Cr-Commit-Position: refs/heads/master@{#489334} [modify] https://crrev.com/f3a26c194b9e86a473a40c7ccef13e730a7e57e1/components/autofill/core/browser/autofill_profile.cc [modify] https://crrev.com/f3a26c194b9e86a473a40c7ccef13e730a7e57e1/components/autofill/core/browser/autofill_profile.h [modify] https://crrev.com/f3a26c194b9e86a473a40c7ccef13e730a7e57e1/components/autofill/core/browser/autofill_profile_unittest.cc
Issue 730652 has been merged into this issue.
Issue 714723 has been merged into this issue.
Issue 637084 has been merged into this issue.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bc18f3cd2ed47b1df4700934a5fb659ad29ab6b7 commit bc18f3cd2ed47b1df4700934a5fb659ad29ab6b7 Author: sebsg <sebsg@chromium.org> Date: Wed Aug 02 19:24:51 2017 [Autofill] Add unsupported types for validation. This handles the types for which autofill won't offer validation, e.g. Names. Bug: 748223 Change-Id: I7bbee81d8eebfd843d962cf5eaa446e0f0b6e334 Reviewed-on: https://chromium-review.googlesource.com/598456 Reviewed-by: Roger McFarlane <rogerm@chromium.org> Commit-Queue: Sebastien Seguin-Gagnon <sebsg@chromium.org> Cr-Commit-Position: refs/heads/master@{#491464} [modify] https://crrev.com/bc18f3cd2ed47b1df4700934a5fb659ad29ab6b7/components/autofill/core/browser/autofill_profile.cc [modify] https://crrev.com/bc18f3cd2ed47b1df4700934a5fb659ad29ab6b7/components/autofill/core/browser/autofill_profile.h [modify] https://crrev.com/bc18f3cd2ed47b1df4700934a5fb659ad29ab6b7/components/autofill/core/browser/autofill_profile_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cb5a33bc9253c43aa0f195cc9d2ae1f10276df5b commit cb5a33bc9253c43aa0f195cc9d2ae1f10276df5b Author: Parastoo Geranmayeh <parastoog@google.com> Date: Fri Aug 11 18:01:16 2017 Autofill Profile Validation The API receives an Autofill Profile, and validates some of its address fields: country, administrative area, and postal code. - The validation is based on the rules in chromium-i18n. - For now, it can't validate names in non-default languages. - Unit-Tests added. Bug: 748223 Change-Id: Ia31595a2f45b450699513bced29ecb7039edf2ba Reviewed-on: https://chromium-review.googlesource.com/585635 Commit-Queue: Parastoo Geranmayeh <parastoog@google.com> Reviewed-by: Mathieu Perreault <mathp@chromium.org> Reviewed-by: Roger McFarlane <rogerm@chromium.org> Reviewed-by: Sebastien Seguin-Gagnon <sebsg@chromium.org> Cr-Commit-Position: refs/heads/master@{#493806} [modify] https://crrev.com/cb5a33bc9253c43aa0f195cc9d2ae1f10276df5b/components/autofill/core/browser/BUILD.gn [add] https://crrev.com/cb5a33bc9253c43aa0f195cc9d2ae1f10276df5b/components/autofill/core/browser/address_validation_util.cc [add] https://crrev.com/cb5a33bc9253c43aa0f195cc9d2ae1f10276df5b/components/autofill/core/browser/address_validation_util.h [add] https://crrev.com/cb5a33bc9253c43aa0f195cc9d2ae1f10276df5b/components/autofill/core/browser/address_validation_util_unittest.cc [add] https://crrev.com/cb5a33bc9253c43aa0f195cc9d2ae1f10276df5b/components/autofill/core/browser/autofill_profile_validator.cc [add] https://crrev.com/cb5a33bc9253c43aa0f195cc9d2ae1f10276df5b/components/autofill/core/browser/autofill_profile_validator.h [add] https://crrev.com/cb5a33bc9253c43aa0f195cc9d2ae1f10276df5b/components/autofill/core/browser/autofill_profile_validator_unittest.cc [modify] https://crrev.com/cb5a33bc9253c43aa0f195cc9d2ae1f10276df5b/components/autofill/core/browser/autofill_test_utils.cc [modify] https://crrev.com/cb5a33bc9253c43aa0f195cc9d2ae1f10276df5b/components/autofill/core/browser/autofill_test_utils.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dd4f5e763d855df7f50fd306a70f18bd7eaf2b45 commit dd4f5e763d855df7f50fd306a70f18bd7eaf2b45 Author: Parastoo Geranmayeh <parastoog@google.com> Date: Mon Aug 21 23:00:07 2017 Autofill Profile Validation -- Phone Number Field -- The autofill profile validation API can now validate phone number as well. -- The phone number field is always required, therefore, an empty field is an invalid field. -- If the Country Code is not available, or not valid, the phone number field cannot be validated. -- Unit-Tests added. Bug: 748223 Change-Id: I8c0872b07f9d4077edcb7da549620d8b1ed4a4cc Reviewed-on: https://chromium-review.googlesource.com/621299 Commit-Queue: Parastoo Geranmayeh <parastoog@google.com> Commit-Queue: Sebastien Seguin-Gagnon <sebsg@chromium.org> Reviewed-by: Sebastien Seguin-Gagnon <sebsg@chromium.org> Cr-Commit-Position: refs/heads/master@{#496103} [modify] https://crrev.com/dd4f5e763d855df7f50fd306a70f18bd7eaf2b45/components/autofill/core/browser/BUILD.gn [modify] https://crrev.com/dd4f5e763d855df7f50fd306a70f18bd7eaf2b45/components/autofill/core/browser/address_validation_util_unittest.cc [modify] https://crrev.com/dd4f5e763d855df7f50fd306a70f18bd7eaf2b45/components/autofill/core/browser/autofill_profile_validator.cc [modify] https://crrev.com/dd4f5e763d855df7f50fd306a70f18bd7eaf2b45/components/autofill/core/browser/autofill_profile_validator_unittest.cc [add] https://crrev.com/dd4f5e763d855df7f50fd306a70f18bd7eaf2b45/components/autofill/core/browser/phone_validation_util.cc [add] https://crrev.com/dd4f5e763d855df7f50fd306a70f18bd7eaf2b45/components/autofill/core/browser/phone_validation_util.h [add] https://crrev.com/dd4f5e763d855df7f50fd306a70f18bd7eaf2b45/components/autofill/core/browser/phone_validation_util_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2aa90db15106dac5b979e1a861f945dd78c23780 commit 2aa90db15106dac5b979e1a861f945dd78c23780 Author: Parastoo Geranmayeh <parastoog@google.com> Date: Tue Aug 22 18:16:12 2017 Autofill Profile Validation -- Email Field -- The autofill profile validation API can now validate email address as well. -- The email field is not required for payement request, therefore, an empty field is a valid one. -- For the same reason, the validity of an email field, does not effect the validity of the profile. A profile with invalid email can still be valid. -- Meanwhile, the validity status of the email field is saved in the profile. -- Unit-Tests added. Bug: 748223 Change-Id: Ic5194aeac8bee6f70a5691b86141cfa6f49faae5 Reviewed-on: https://chromium-review.googlesource.com/624724 Commit-Queue: Sebastien Seguin-Gagnon <sebsg@chromium.org> Reviewed-by: Sebastien Seguin-Gagnon <sebsg@chromium.org> Cr-Commit-Position: refs/heads/master@{#496371} [modify] https://crrev.com/2aa90db15106dac5b979e1a861f945dd78c23780/components/autofill/core/browser/BUILD.gn [modify] https://crrev.com/2aa90db15106dac5b979e1a861f945dd78c23780/components/autofill/core/browser/autofill_profile_validator.cc [modify] https://crrev.com/2aa90db15106dac5b979e1a861f945dd78c23780/components/autofill/core/browser/autofill_profile_validator_unittest.cc [add] https://crrev.com/2aa90db15106dac5b979e1a861f945dd78c23780/components/autofill/core/browser/phone_email_validation_util.cc [add] https://crrev.com/2aa90db15106dac5b979e1a861f945dd78c23780/components/autofill/core/browser/phone_email_validation_util.h [add] https://crrev.com/2aa90db15106dac5b979e1a861f945dd78c23780/components/autofill/core/browser/phone_email_validation_util_unittest.cc [delete] https://crrev.com/3f8c6daa6103d70811de2aad16fd3d939d42871e/components/autofill/core/browser/phone_validation_util.cc [delete] https://crrev.com/3f8c6daa6103d70811de2aad16fd3d939d42871e/components/autofill/core/browser/phone_validation_util.h [delete] https://crrev.com/3f8c6daa6103d70811de2aad16fd3d939d42871e/components/autofill/core/browser/phone_validation_util_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/eb3bab032db830e4c827e4b79bea5e71ef3d505b commit eb3bab032db830e4c827e4b79bea5e71ef3d505b Author: sebsg <sebsg@chromium.org> Date: Fri Aug 25 19:26:37 2017 [Autofill] Add the empty validation status type. Bug: 748223 Change-Id: I3c6c056682a996ecd3976e63c54f149c31b5e62b Reviewed-on: https://chromium-review.googlesource.com/636185 Reviewed-by: Anthony Vallee-Dubois <anthonyvd@chromium.org> Commit-Queue: Sebastien Seguin-Gagnon <sebsg@chromium.org> Cr-Commit-Position: refs/heads/master@{#497491} [modify] https://crrev.com/eb3bab032db830e4c827e4b79bea5e71ef3d505b/components/autofill/core/browser/autofill_profile.h [modify] https://crrev.com/eb3bab032db830e4c827e4b79bea5e71ef3d505b/components/autofill/core/browser/autofill_profile_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/55531097ef8f8b08b5117c071b8c836a8ef777ba commit 55531097ef8f8b08b5117c071b8c836a8ef777ba Author: sebsg <sebsg@chromium.org> Date: Thu Aug 31 21:22:27 2017 [Autofill] Add function to compute the profile's validity bitfield. Bug: 748223 Change-Id: If6d3305f086bb33e6cb47a8939654727f253ed2b Reviewed-on: https://chromium-review.googlesource.com/636688 Reviewed-by: Mathieu Perreault <mathp@chromium.org> Commit-Queue: Sebastien Seguin-Gagnon <sebsg@chromium.org> Cr-Commit-Position: refs/heads/master@{#499003} [modify] https://crrev.com/55531097ef8f8b08b5117c071b8c836a8ef777ba/components/autofill/core/browser/autofill_profile.cc [modify] https://crrev.com/55531097ef8f8b08b5117c071b8c836a8ef777ba/components/autofill/core/browser/autofill_profile.h [modify] https://crrev.com/55531097ef8f8b08b5117c071b8c836a8ef777ba/components/autofill/core/browser/autofill_profile_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1e9ca689f0e72be06639e2d62121c728cd28a19e commit 1e9ca689f0e72be06639e2d62121c728cd28a19e Author: sebsg <sebsg@chromium.org> Date: Fri Sep 01 21:41:25 2017 [Autofill] Add function to set profile validity from validity bitfield. Bug: 748223 Change-Id: I9a6d56facf75b56231cc52826b437ce641b87b83 Reviewed-on: https://chromium-review.googlesource.com/647794 Commit-Queue: Sebastien Seguin-Gagnon <sebsg@chromium.org> Reviewed-by: Mathieu Perreault <mathp@chromium.org> Cr-Commit-Position: refs/heads/master@{#499313} [modify] https://crrev.com/1e9ca689f0e72be06639e2d62121c728cd28a19e/components/autofill/core/browser/autofill_profile.cc [modify] https://crrev.com/1e9ca689f0e72be06639e2d62121c728cd28a19e/components/autofill/core/browser/autofill_profile.h [modify] https://crrev.com/1e9ca689f0e72be06639e2d62121c728cd28a19e/components/autofill/core/browser/autofill_profile_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dbd59c08b2f7d113371661c78ef8d85e241097b1 commit dbd59c08b2f7d113371661c78ef8d85e241097b1 Author: sebsg <sebsg@chromium.org> Date: Tue Sep 19 14:06:14 2017 [Autofill] Add the validity_bitfield to the database. Bug: 748223 Change-Id: I12752f13d311d1e61dbacb66e61abd8672154a99 Reviewed-on: https://chromium-review.googlesource.com/667948 Reviewed-by: Roger McFarlane <rogerm@chromium.org> Reviewed-by: Peter Kasting <pkasting@chromium.org> Commit-Queue: Sebastien Seguin-Gagnon <sebsg@chromium.org> Cr-Commit-Position: refs/heads/master@{#502848} [modify] https://crrev.com/dbd59c08b2f7d113371661c78ef8d85e241097b1/components/autofill/core/browser/autofill_profile.cc [modify] https://crrev.com/dbd59c08b2f7d113371661c78ef8d85e241097b1/components/autofill/core/browser/autofill_profile.h [modify] https://crrev.com/dbd59c08b2f7d113371661c78ef8d85e241097b1/components/autofill/core/browser/webdata/autofill_table.cc [modify] https://crrev.com/dbd59c08b2f7d113371661c78ef8d85e241097b1/components/autofill/core/browser/webdata/autofill_table.h [modify] https://crrev.com/dbd59c08b2f7d113371661c78ef8d85e241097b1/components/autofill/core/browser/webdata/autofill_table_unittest.cc [add] https://crrev.com/dbd59c08b2f7d113371661c78ef8d85e241097b1/components/test/data/web_database/version_74.sql [modify] https://crrev.com/dbd59c08b2f7d113371661c78ef8d85e241097b1/components/webdata/common/BUILD.gn [modify] https://crrev.com/dbd59c08b2f7d113371661c78ef8d85e241097b1/components/webdata/common/web_database.cc [modify] https://crrev.com/dbd59c08b2f7d113371661c78ef8d85e241097b1/components/webdata/common/web_database_migration_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/be96a18e887f4690a9af255177c523b8eee0ea23 commit be96a18e887f4690a9af255177c523b8eee0ea23 Author: sebsg <sebsg@chromium.org> Date: Mon Oct 02 03:12:17 2017 [Autofill] Make the validators check and use new EMPTY type. Bug: 748223 Change-Id: I97ccdaf269e03ab1f1fd11fbb48c686d0c9f47f1 Reviewed-on: https://chromium-review.googlesource.com/673545 Reviewed-by: Roger McFarlane <rogerm@chromium.org> Commit-Queue: Sebastien Seguin-Gagnon <sebsg@chromium.org> Cr-Commit-Position: refs/heads/master@{#505534} [modify] https://crrev.com/be96a18e887f4690a9af255177c523b8eee0ea23/components/autofill/core/browser/address_validation_util.cc [modify] https://crrev.com/be96a18e887f4690a9af255177c523b8eee0ea23/components/autofill/core/browser/address_validation_util_unittest.cc [modify] https://crrev.com/be96a18e887f4690a9af255177c523b8eee0ea23/components/autofill/core/browser/autofill_profile_validator_unittest.cc [modify] https://crrev.com/be96a18e887f4690a9af255177c523b8eee0ea23/components/autofill/core/browser/phone_email_validation_util.cc [modify] https://crrev.com/be96a18e887f4690a9af255177c523b8eee0ea23/components/autofill/core/browser/phone_email_validation_util_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/aa87453f72f49a0531abd8e7ecba9d21e945bb32 commit aa87453f72f49a0531abd8e7ecba9d21e945bb32 Author: sebsg <sebsg@chromium.org> Date: Tue Oct 03 00:59:18 2017 [Autofill] Sync the new validity state bitfield. Bug: 748223 Change-Id: I93fd4f4e326fe5b272ae4b8816a3c744621b3949 Reviewed-on: https://chromium-review.googlesource.com/675768 Commit-Queue: Sebastien Seguin-Gagnon <sebsg@chromium.org> Reviewed-by: Roger McFarlane <rogerm@chromium.org> Reviewed-by: Nicolas Zea <zea@chromium.org> Cr-Commit-Position: refs/heads/master@{#505896} [modify] https://crrev.com/aa87453f72f49a0531abd8e7ecba9d21e945bb32/components/autofill/core/browser/autofill_profile.cc [modify] https://crrev.com/aa87453f72f49a0531abd8e7ecba9d21e945bb32/components/autofill/core/browser/autofill_profile.h [modify] https://crrev.com/aa87453f72f49a0531abd8e7ecba9d21e945bb32/components/autofill/core/browser/webdata/autofill_profile_syncable_service.cc [modify] https://crrev.com/aa87453f72f49a0531abd8e7ecba9d21e945bb32/components/autofill/core/browser/webdata/autofill_profile_syncable_service_unittest.cc [modify] https://crrev.com/aa87453f72f49a0531abd8e7ecba9d21e945bb32/components/autofill/core/browser/webdata/autofill_table.cc [modify] https://crrev.com/aa87453f72f49a0531abd8e7ecba9d21e945bb32/components/autofill/core/browser/webdata/autofill_table_unittest.cc [modify] https://crrev.com/aa87453f72f49a0531abd8e7ecba9d21e945bb32/components/sync/protocol/autofill_specifics.proto [modify] https://crrev.com/aa87453f72f49a0531abd8e7ecba9d21e945bb32/components/sync/protocol/proto_visitors.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f6f2018a7a59b4605a839ffa52396ceb460dac08 commit f6f2018a7a59b4605a839ffa52396ceb460dac08 Author: Parastoo Geranmayeh <parastoog@google.com> Date: Tue Nov 07 23:31:36 2017 More Fields for Autofill Profile Validation API -- The autofill profile validation API can now validate locality (like city or ..) and dependent locality (like neighborhood, district or ..) fields. -- If a field is required, it should not be left empty. An empty required field is considered as invalid. -- If a field is filled, and the rules for validating that field are available in the source, then the field will be validated according to the rules. -- Even if a field is not required, but it's filled and it is not valid according to the rules in the source, the field would be marked as invalid. -- Unit-tests added for new fields. -- Unit-tests added for a country with a non-Western language. Bug: 754729 , 748223 Change-Id: Ic621aa15f1d0f5eb87b225ea33de005f85ebb4c7 Reviewed-on: https://chromium-review.googlesource.com/757078 Reviewed-by: Sebastien Seguin-Gagnon <sebsg@chromium.org> Commit-Queue: Parastoo Geranmayeh <parastoog@google.com> Cr-Commit-Position: refs/heads/master@{#514647} [modify] https://crrev.com/f6f2018a7a59b4605a839ffa52396ceb460dac08/components/autofill/core/browser/address_validation_util.cc [modify] https://crrev.com/f6f2018a7a59b4605a839ffa52396ceb460dac08/components/autofill/core/browser/address_validation_util_unittest.cc [modify] https://crrev.com/f6f2018a7a59b4605a839ffa52396ceb460dac08/components/autofill/core/browser/autofill_profile_validator_unittest.cc [modify] https://crrev.com/f6f2018a7a59b4605a839ffa52396ceb460dac08/components/autofill/core/browser/autofill_test_utils.cc [modify] https://crrev.com/f6f2018a7a59b4605a839ffa52396ceb460dac08/components/autofill/core/browser/autofill_test_utils.h [modify] https://crrev.com/f6f2018a7a59b4605a839ffa52396ceb460dac08/components/autofill/core/browser/phone_email_validation_util_unittest.cc
This bug has an owner, thus, it's been triaged. Changing status to "assigned".
Comment 1 by bugdroid1@chromium.org
, Jul 25 2017