New issue
Advanced search Search tips

Issue 670477 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug



Sign in to add a comment

Transfer cards' billing address id when deduping profiles.

Project Member Reported by se...@chromium.org, Dec 1 2016

Issue description

Currently, it is possible that a card will reference a profile that doesn't exist anymore as its billing address.

The card's billing address id should be updated to the one into which its associated billing address has merged.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3cd4e5505fe1f927ee2d7e6f482cfa2a4e8622bf

commit 3cd4e5505fe1f927ee2d7e6f482cfa2a4e8622bf
Author: sebsg <sebsg@chromium.org>
Date: Tue Dec 06 15:37:07 2016

Transfer cards' billing address id when deduping profiles.

A new billing_address_id field was recently added to CreditCard object
to reference a profile it uses as its billing address.

The deduping algo doesn't do anything about that field. This means it
is possible to dedupe (merge profile A into profile B, then delete A)
and have a credit card point to the GUID of profile A.

This CL uses an acyclic graph to keep track of the profiles merges and
uses it to update the billing address of the credit cards. The full
solution is described in this document:
https://docs.google.com/document/d/1Xg6CAWJCL6WZxv5v5cuoZt1UfQ4moKFDJScbf3Q8q2s/edit?usp=sharing

BUG= 670477 
TEST=DedupeProfiles_GuidsMergeMap
UpdateCardsBillingAddressReference
ApplyDedupingRoutine_CardsBillingAddressIdUpdated

Review-Url: https://codereview.chromium.org/2533303007
Cr-Commit-Position: refs/heads/master@{#436604}

[modify] https://crrev.com/3cd4e5505fe1f927ee2d7e6f482cfa2a4e8622bf/components/autofill/core/browser/personal_data_manager.cc
[modify] https://crrev.com/3cd4e5505fe1f927ee2d7e6f482cfa2a4e8622bf/components/autofill/core/browser/personal_data_manager.h
[modify] https://crrev.com/3cd4e5505fe1f927ee2d7e6f482cfa2a4e8622bf/components/autofill/core/browser/personal_data_manager_unittest.cc

Comment 2 by se...@chromium.org, Jan 19 2017

Status: Fixed (was: Started)

Sign in to add a comment