New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 748223 link

Starred by 4 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug



Sign in to add a comment

Add strict validation of Autofill profiles in Chrome.

Project Member Reported by se...@chromium.org, Jul 24 2017

Issue description

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
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 25 2017

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

Comment 2 by se...@chromium.org, Jul 25 2017

Summary: Add strict validation of Autofill profiles in Chrome. (was: Add variable to track field validity in AutofillProfile.)

Comment 3 by se...@chromium.org, Jul 26 2017

Cc: se...@chromium.org
 Issue 730652  has been merged into this issue.

Comment 4 by se...@chromium.org, Jul 26 2017

 Issue 714723  has been merged into this issue.

Comment 5 by se...@chromium.org, Jul 26 2017

Cc: zkoch@chromium.org rouslan@chromium.org
 Issue 637084  has been merged into this issue.
Cc: parastoog@chromium.org
Project Member

Comment 7 by bugdroid1@chromium.org, Aug 2 2017

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

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 11 2017

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

Project Member

Comment 9 by bugdroid1@chromium.org, Aug 21 2017

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

Project Member

Comment 10 by bugdroid1@chromium.org, Aug 22 2017

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

Project Member

Comment 11 by bugdroid1@chromium.org, Aug 25 2017

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

Project Member

Comment 12 by bugdroid1@chromium.org, Aug 31 2017

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

Project Member

Comment 13 by bugdroid1@chromium.org, Sep 1 2017

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

Project Member

Comment 14 by bugdroid1@chromium.org, Sep 19 2017

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

Project Member

Comment 16 by bugdroid1@chromium.org, Oct 3 2017

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

Project Member

Comment 17 by bugdroid1@chromium.org, Nov 7 2017

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

Status: Untriaged (was: Started)
Status: Assigned (was: Untriaged)
This bug has an owner, thus, it's been triaged. Changing status to "assigned".

Sign in to add a comment