Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(141)

Issue 2142123002: [Autofill] Run autofill-profile de-dupe after sync starts if sync is enabled. (Closed)

Created:
4 years, 5 months ago by Roger McFarlane (Chromium)
Modified:
4 years, 5 months ago
Reviewers:
Mathieu, sebsg, Nicolas Zea
CC:
chromium-reviews, rouslan+autofill_chromium.org, estade+watch_chromium.org, vabr+watchlistautofill_chromium.org, browser-components-watch_chromium.org, jdonnelly+autofillwatch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Run autofill-profile de-dupe after sync starts if sync is enabled. This CL updates the PersonalDataManager to run autofill profile de-duplication (if enabled) at the appropriate time, depending on whether autofill profile sync is enabled. If sync is not enabled, profile de-duplication is run after the data is initially loaded. If sync is enabled, profild de-duplication is run after the sync first becomes active. In all cases, de-duplication is only run once for a given version of chromium. BUG=627519 R=sebsg@chromium.org, mathp@chromium.org Committed: https://crrev.com/d594dc5f82b5836f5f0b4ba8d52b8563ff3c2f27 Cr-Commit-Position: refs/heads/master@{#406026}

Patch Set 1 #

Total comments: 4

Patch Set 2 : Simplification. #

Total comments: 4

Patch Set 3 : nits #

Total comments: 7

Patch Set 4 : Register the autofill last version deduped pref for ProfileSyncServiceAutofillTest #

Total comments: 4

Patch Set 5 : vlog -> dvlog and better naming #

Patch Set 6 : trybots... take 2 #

Patch Set 7 : Add a notification on sync started #

Patch Set 8 : Perform at most a single merge for new incoming sync data #

Total comments: 6

Patch Set 9 : Better logging and fix mathp's comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+194 lines, -44 lines) Patch
M components/autofill/core/browser/autofill_manager.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M components/autofill/core/browser/autofill_profile.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M components/autofill/core/browser/autofill_profile_comparator.cc View 1 2 3 4 5 6 7 8 2 chunks +33 lines, -8 lines 0 comments Download
M components/autofill/core/browser/personal_data_manager.h View 1 2 3 4 5 6 3 chunks +13 lines, -0 lines 0 comments Download
M components/autofill/core/browser/personal_data_manager.cc View 1 2 3 4 5 6 6 chunks +40 lines, -7 lines 0 comments Download
M components/autofill/core/browser/personal_data_manager_unittest.cc View 1 2 3 4 7 chunks +7 lines, -5 lines 0 comments Download
M components/autofill/core/browser/webdata/autocomplete_syncable_service.cc View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M components/autofill/core/browser/webdata/autofill_data_type_controller_unittest.cc View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M components/autofill/core/browser/webdata/autofill_profile_syncable_service.cc View 1 2 3 4 5 6 7 2 chunks +4 lines, -1 line 0 comments Download
M components/autofill/core/browser/webdata/autofill_wallet_metadata_syncable_service.cc View 1 2 3 4 5 6 1 chunk +4 lines, -1 line 0 comments Download
M components/autofill/core/browser/webdata/autofill_wallet_metadata_syncable_service_unittest.cc View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M components/autofill/core/browser/webdata/autofill_wallet_syncable_service.cc View 1 2 3 4 5 6 1 chunk +4 lines, -1 line 0 comments Download
M components/autofill/core/browser/webdata/autofill_webdata_backend.h View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -0 lines 0 comments Download
M components/autofill/core/browser/webdata/autofill_webdata_backend_impl.h View 1 2 3 4 5 6 3 chunks +4 lines, -1 line 0 comments Download
M components/autofill/core/browser/webdata/autofill_webdata_backend_impl.cc View 1 2 3 4 5 6 7 8 2 chunks +16 lines, -2 lines 0 comments Download
M components/autofill/core/browser/webdata/autofill_webdata_service.h View 1 2 3 4 5 6 2 chunks +3 lines, -0 lines 0 comments Download
M components/autofill/core/browser/webdata/autofill_webdata_service.cc View 1 2 3 4 5 6 7 8 2 chunks +22 lines, -10 lines 0 comments Download
M components/autofill/core/browser/webdata/autofill_webdata_service_observer.h View 1 2 3 4 5 6 2 chunks +4 lines, -0 lines 0 comments Download
M components/browser_sync/browser/profile_sync_service_autofill_unittest.cc View 1 2 3 4 5 6 6 chunks +25 lines, -8 lines 0 comments Download

Messages

Total messages: 37 (15 generated)
Roger McFarlane (Chromium)
PTAL?
4 years, 5 months ago (2016-07-12 17:37:15 UTC) #1
Mathieu
https://codereview.chromium.org/2142123002/diff/1/components/autofill/core/browser/personal_data_manager.cc File components/autofill/core/browser/personal_data_manager.cc (right): https://codereview.chromium.org/2142123002/diff/1/components/autofill/core/browser/personal_data_manager.cc#newcode747 components/autofill/core/browser/personal_data_manager.cc:747: void PersonalDataManager::Refresh() { Refresh is called all over the ...
4 years, 5 months ago (2016-07-12 18:10:12 UTC) #4
Roger McFarlane (Chromium)
Thanks. Another look? https://codereview.chromium.org/2142123002/diff/1/components/autofill/core/browser/personal_data_manager.cc File components/autofill/core/browser/personal_data_manager.cc (right): https://codereview.chromium.org/2142123002/diff/1/components/autofill/core/browser/personal_data_manager.cc#newcode747 components/autofill/core/browser/personal_data_manager.cc:747: void PersonalDataManager::Refresh() { On 2016/07/12 18:10:12, ...
4 years, 5 months ago (2016-07-12 18:42:20 UTC) #5
sebsg
Awesome! I'd like to have zea@ take a look but this lgtm. https://codereview.chromium.org/2142123002/diff/1/components/autofill/core/browser/personal_data_manager.cc File components/autofill/core/browser/personal_data_manager.cc ...
4 years, 5 months ago (2016-07-12 18:59:53 UTC) #6
Roger McFarlane (Chromium)
thanks. +zea@chromium.org for sync insight https://codereview.chromium.org/2142123002/diff/1/components/autofill/core/browser/personal_data_manager.cc File components/autofill/core/browser/personal_data_manager.cc (right): https://codereview.chromium.org/2142123002/diff/1/components/autofill/core/browser/personal_data_manager.cc#newcode306 components/autofill/core/browser/personal_data_manager.cc:306: // We want to ...
4 years, 5 months ago (2016-07-12 19:52:49 UTC) #8
Nicolas Zea
Couple questions https://codereview.chromium.org/2142123002/diff/40001/components/autofill/core/browser/autofill_manager.cc File components/autofill/core/browser/autofill_manager.cc (right): https://codereview.chromium.org/2142123002/diff/40001/components/autofill/core/browser/autofill_manager.cc#newcode219 components/autofill/core/browser/autofill_manager.cc:219: personal_data_->OnSyncServiceConfigured(client_->GetSyncService()); How do you know that the ...
4 years, 5 months ago (2016-07-12 20:04:48 UTC) #9
Roger McFarlane (Chromium)
Thanks for the great questions and comments. https://codereview.chromium.org/2142123002/diff/40001/components/autofill/core/browser/autofill_manager.cc File components/autofill/core/browser/autofill_manager.cc (right): https://codereview.chromium.org/2142123002/diff/40001/components/autofill/core/browser/autofill_manager.cc#newcode219 components/autofill/core/browser/autofill_manager.cc:219: personal_data_->OnSyncServiceConfigured(client_->GetSyncService()); On ...
4 years, 5 months ago (2016-07-12 21:23:27 UTC) #10
Nicolas Zea
One suggestion https://codereview.chromium.org/2142123002/diff/40001/components/autofill/core/browser/personal_data_manager.cc File components/autofill/core/browser/personal_data_manager.cc (right): https://codereview.chromium.org/2142123002/diff/40001/components/autofill/core/browser/personal_data_manager.cc#newcode403 components/autofill/core/browser/personal_data_manager.cc:403: if (is_autofill_profile_dedupe_pending_) On 2016/07/12 21:23:26, Roger McFarlane ...
4 years, 5 months ago (2016-07-12 23:16:17 UTC) #11
Roger McFarlane (Chromium)
On 2016/07/12 23:16:17, Nicolas Zea wrote: > One suggestion > > https://codereview.chromium.org/2142123002/diff/40001/components/autofill/core/browser/personal_data_manager.cc > File components/autofill/core/browser/personal_data_manager.cc ...
4 years, 5 months ago (2016-07-13 21:10:30 UTC) #12
Roger McFarlane (Chromium)
On 2016/07/13 21:10:30, Roger McFarlane (Chromium) wrote: > On 2016/07/12 23:16:17, Nicolas Zea wrote: > ...
4 years, 5 months ago (2016-07-13 21:44:38 UTC) #13
Nicolas Zea
On 2016/07/13 21:44:38, Roger McFarlane (Chromium) wrote: > On 2016/07/13 21:10:30, Roger McFarlane (Chromium) wrote: ...
4 years, 5 months ago (2016-07-13 22:02:59 UTC) #14
Roger McFarlane (Chromium)
Yes, but the notification the CL is currently leveraging invokes callbacks on both the DB ...
4 years, 5 months ago (2016-07-13 22:53:40 UTC) #15
Roger McFarlane (Chromium)
To summarize: I'm thinking the dedup should run on the DB thread. Was seeking confirmation. ...
4 years, 5 months ago (2016-07-13 22:57:52 UTC) #16
Roger McFarlane (Chromium)
I propose to 1. remove the AutofillWebDataServiceObserverOnUIThread interface (this is a subset of the AutofillWebDataServiceObserverOnDBThread ...
4 years, 5 months ago (2016-07-14 21:47:11 UTC) #17
Mathieu
On 2016/07/14 21:47:11, Roger McFarlane (Chromium) wrote: > I propose to > > 1. remove ...
4 years, 5 months ago (2016-07-15 13:54:19 UTC) #18
Roger McFarlane (Chromium)
On 2016/07/15 13:54:19, Mathieu Perreault wrote: > On 2016/07/14 21:47:11, Roger McFarlane (Chromium) wrote: > ...
4 years, 5 months ago (2016-07-15 19:20:57 UTC) #21
Nicolas Zea
Much cleaner! sync lgtm
4 years, 5 months ago (2016-07-15 21:35:35 UTC) #24
Mathieu
Thanks, this lgtm https://codereview.chromium.org/2142123002/diff/140001/components/autofill/core/browser/personal_data_manager.cc File components/autofill/core/browser/personal_data_manager.cc (right): https://codereview.chromium.org/2142123002/diff/140001/components/autofill/core/browser/personal_data_manager.cc#newcode1636 components/autofill/core/browser/personal_data_manager.cc:1636: if (!is_autofill_profile_dedupe_pending_) are these two lines ...
4 years, 5 months ago (2016-07-18 14:53:20 UTC) #25
Roger McFarlane (Chromium)
Thanks! mathp@... I addressed your comments and added some more logging. https://codereview.chromium.org/2142123002/diff/140001/components/autofill/core/browser/personal_data_manager.cc File components/autofill/core/browser/personal_data_manager.cc (right): ...
4 years, 5 months ago (2016-07-18 15:29:19 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2142123002/160001
4 years, 5 months ago (2016-07-18 17:27:49 UTC) #33
commit-bot: I haz the power
Committed patchset #9 (id:160001)
4 years, 5 months ago (2016-07-18 17:34:25 UTC) #35
commit-bot: I haz the power
4 years, 5 months ago (2016-07-18 17:35:56 UTC) #37
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/d594dc5f82b5836f5f0b4ba8d52b8563ff3c2f27
Cr-Commit-Position: refs/heads/master@{#406026}

Powered by Google App Engine
This is Rietveld 408576698