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

Issue 1414463004: Implement origin-based deletion for passwords in PasswordDefaultMac. (Closed)

Created:
5 years, 2 months ago by Timo Reimann
Modified:
5 years ago
CC:
chromium-reviews, gcasto+watchlist_chromium.org, mkwst+watchlist-passwords_chromium.org, vabr+watchlist_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@lkgr
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement origin-based deletion for passwords in PasswordDefaultMac. This change adds the ability to remove passwords by origin (and time) for the password store under Mac. While the implementation is fairly straight forward, the major work has been invested into moving the existing origin-based tests from PasswordStoreDefaultTest into a new type-parameterized test suite and refactoring PasswordStore{Default,Mac}Test so that the tests can be shared by both classes. We enabled the latter by means of introducing test delegates which encapsulate parts of the test setup and test helper logic. Finally, we do some refactorings to extract common mock implementations into helper classes and improve test print output for PasswordStoreChanges. BUG=113973 Committed: https://crrev.com/b4f01c0a90dcba304b45b280f18c66b3c65822f2 Cr-Commit-Position: refs/heads/master@{#365852}

Patch Set 1 #

Total comments: 57

Patch Set 2 : Rebase from upstream #

Patch Set 3 : Address first round of comments. #

Total comments: 35

Patch Set 4 : Address second round of comments #

Patch Set 5 : Rebase from upstream #

Total comments: 12

Patch Set 6 : Address additional comments. #

Patch Set 7 : Run PasswordStoreMacTest DB operations on IO main loop. #

Total comments: 12

Patch Set 8 : Addressed all remaining comments. #

Total comments: 15

Patch Set 9 : Build simplified, single-threaded PasswordStoreMacTestDelegate and untouch PasswordStoreMacTest. #

Patch Set 10 : Make FinishAsyncProcessing static. #

Total comments: 13

Patch Set 11 : Another round of comments addressed. #

Total comments: 2

Patch Set 12 : Move Google Test expectations just before usage. #

Patch Set 13 : Rebase from upstream #

Patch Set 14 : Remove extra base::Time namespace qualifier causing compiler problems. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+362 lines, -157 lines) Patch
M chrome/browser/password_manager/password_store_mac.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/browser/password_manager/password_store_mac.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +29 lines, -0 lines 0 comments Download
M chrome/browser/password_manager/password_store_mac_unittest.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +72 lines, -7 lines 0 comments Download
M chrome/browser/password_manager/password_store_proxy_mac.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/browser/password_manager/password_store_proxy_mac.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +10 lines, -0 lines 0 comments Download
M chrome/browser/password_manager/password_store_x_unittest.cc View 1 2 3 4 2 chunks +1 line, -8 lines 0 comments Download
M components/components_tests.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M components/password_manager.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M components/password_manager/core/browser/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +2 lines, -0 lines 0 comments Download
M components/password_manager/core/browser/password_manager_test_utils.h View 1 2 3 4 1 chunk +8 lines, -0 lines 0 comments Download
M components/password_manager/core/browser/password_manager_test_utils.cc View 1 2 3 2 chunks +5 lines, -0 lines 0 comments Download
M components/password_manager/core/browser/password_store_change.h View 1 chunk +4 lines, -0 lines 0 comments Download
A components/password_manager/core/browser/password_store_change.cc View 1 2 1 chunk +15 lines, -0 lines 0 comments Download
M components/password_manager/core/browser/password_store_default_unittest.cc View 1 2 3 4 5 6 7 8 9 10 6 chunks +78 lines, -135 lines 0 comments Download
A components/password_manager/core/browser/password_store_origin_unittest.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +128 lines, -0 lines 0 comments Download
M components/password_manager/core/browser/password_store_unittest.cc View 1 2 3 4 1 chunk +0 lines, -7 lines 0 comments Download

Messages

Total messages: 74 (20 generated)
Timo Reimann
Taking on the next password store implementation, tackling the Mac version this time. Vasilii, would ...
5 years, 2 months ago (2015-10-20 20:47:10 UTC) #5
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1414463004/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1414463004/1
5 years, 2 months ago (2015-10-21 12:27:38 UTC) #7
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios_dbg_simulator_ninja on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator_ninja/builds/84126) mac_chromium_compile_dbg_ng on ...
5 years, 2 months ago (2015-10-21 12:29:10 UTC) #9
Timo Reimann
On 2015/10/21 at 12:29:10, commit-bot wrote: > Dry run: Try jobs failed on following builders: ...
5 years, 2 months ago (2015-10-21 13:04:11 UTC) #10
vasilii
https://codereview.chromium.org/1414463004/diff/1/chrome/browser/password_manager/password_store_mac.cc File chrome/browser/password_manager/password_store_mac.cc (right): https://codereview.chromium.org/1414463004/diff/1/chrome/browser/password_manager/password_store_mac.cc#newcode1151 chrome/browser/password_manager/password_store_mac.cc:1151: CleanOrphanedForms(&forms_to_remove); // Add the orphaned forms. On 2015/10/20 20:47:09, ...
5 years, 2 months ago (2015-10-21 16:47:57 UTC) #11
Timo Reimann
Sorry for the awfully long delay; pesky real life has been keeping me busy. I'll ...
5 years, 1 month ago (2015-11-17 23:10:56 UTC) #12
Timo Reimann
I missed to mention one thing: Removing |message_loop_| from PasswordStoreDefaultTestDelegateBase in password_store_default_unittest.cc causes PasswordStoreDefaultTest.NonASCIIData to ...
5 years, 1 month ago (2015-11-17 23:20:55 UTC) #13
vasilii
https://codereview.chromium.org/1414463004/diff/1/chrome/browser/password_manager/password_store_mac_unittest.cc File chrome/browser/password_manager/password_store_mac_unittest.cc (right): https://codereview.chromium.org/1414463004/diff/1/chrome/browser/password_manager/password_store_mac_unittest.cc#newcode196 chrome/browser/password_manager/password_store_mac_unittest.cc:196: base::Thread* thread() { return thread_.get(); } On 2015/11/17 23:10:55, ...
5 years, 1 month ago (2015-11-18 16:27:42 UTC) #14
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1414463004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1414463004/40001
5 years, 1 month ago (2015-11-18 16:29:29 UTC) #16
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_arm64_dbg_recipe on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/android_arm64_dbg_recipe/builds/146286) android_chromium_gn_compile_dbg on ...
5 years, 1 month ago (2015-11-18 16:34:24 UTC) #18
Timo Reimann
On 2015/11/18 at 16:34:24, commit-bot wrote: > Dry run: Try jobs failed on following builders: ...
5 years, 1 month ago (2015-11-18 17:40:12 UTC) #19
Timo Reimann
Addressed the majority of remaining comments. Only a few more left. I also fixed all ...
5 years, 1 month ago (2015-11-18 23:42:15 UTC) #20
Timo Reimann
The CL should try-build now again.
5 years, 1 month ago (2015-11-20 16:44:10 UTC) #21
Timo Reimann
Vasilii, all things should be ready for another look of yours.
5 years, 1 month ago (2015-11-20 19:36:06 UTC) #22
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1414463004/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1414463004/80001
5 years, 1 month ago (2015-11-23 13:27:45 UTC) #24
vasilii
https://codereview.chromium.org/1414463004/diff/1/components/password_manager/core/browser/password_store_default_unittest.cc File components/password_manager/core/browser/password_store_default_unittest.cc (right): https://codereview.chromium.org/1414463004/diff/1/components/password_manager/core/browser/password_store_default_unittest.cc#newcode80 components/password_manager/core/browser/password_store_default_unittest.cc:80: class PasswordStoreDefaultTestDelegateBase { On 2015/11/17 23:10:56, Timo Reimann wrote: ...
5 years, 1 month ago (2015-11-23 15:04:56 UTC) #25
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_rel_ng/builds/99864)
5 years, 1 month ago (2015-11-23 16:47:50 UTC) #27
Timo Reimann
https://codereview.chromium.org/1414463004/diff/1/components/password_manager/core/browser/password_store_default_unittest.cc File components/password_manager/core/browser/password_store_default_unittest.cc (right): https://codereview.chromium.org/1414463004/diff/1/components/password_manager/core/browser/password_store_default_unittest.cc#newcode80 components/password_manager/core/browser/password_store_default_unittest.cc:80: class PasswordStoreDefaultTestDelegateBase { On 2015/11/23 at 15:04:55, vasilii wrote: ...
5 years, 1 month ago (2015-11-24 02:36:09 UTC) #28
vasilii
https://codereview.chromium.org/1414463004/diff/40001/chrome/browser/password_manager/password_store_mac_unittest.cc File chrome/browser/password_manager/password_store_mac_unittest.cc (right): https://codereview.chromium.org/1414463004/diff/40001/chrome/browser/password_manager/password_store_mac_unittest.cc#newcode189 chrome/browser/password_manager/password_store_mac_unittest.cc:189: content::TestBrowserThread ui_thread_; On 2015/11/24 02:36:09, Timo Reimann wrote: > ...
5 years ago (2015-11-24 18:14:55 UTC) #29
Timo Reimann
https://codereview.chromium.org/1414463004/diff/40001/chrome/browser/password_manager/password_store_mac_unittest.cc File chrome/browser/password_manager/password_store_mac_unittest.cc (right): https://codereview.chromium.org/1414463004/diff/40001/chrome/browser/password_manager/password_store_mac_unittest.cc#newcode189 chrome/browser/password_manager/password_store_mac_unittest.cc:189: content::TestBrowserThread ui_thread_; On 2015/11/24 18:14:54, vasilii wrote: > On ...
5 years ago (2015-11-24 23:06:02 UTC) #30
vasilii
https://codereview.chromium.org/1414463004/diff/40001/chrome/browser/password_manager/password_store_mac_unittest.cc File chrome/browser/password_manager/password_store_mac_unittest.cc (right): https://codereview.chromium.org/1414463004/diff/40001/chrome/browser/password_manager/password_store_mac_unittest.cc#newcode189 chrome/browser/password_manager/password_store_mac_unittest.cc:189: content::TestBrowserThread ui_thread_; On 2015/11/24 23:06:02, Timo Reimann wrote: > ...
5 years ago (2015-11-25 18:18:40 UTC) #31
Timo Reimann
https://codereview.chromium.org/1414463004/diff/40001/chrome/browser/password_manager/password_store_mac_unittest.cc File chrome/browser/password_manager/password_store_mac_unittest.cc (right): https://codereview.chromium.org/1414463004/diff/40001/chrome/browser/password_manager/password_store_mac_unittest.cc#newcode189 chrome/browser/password_manager/password_store_mac_unittest.cc:189: content::TestBrowserThread ui_thread_; On 2015/11/25 18:18:39, vasilii wrote: > On ...
5 years ago (2015-11-25 18:47:32 UTC) #32
Timo Reimann
https://codereview.chromium.org/1414463004/diff/40001/chrome/browser/password_manager/password_store_mac_unittest.cc File chrome/browser/password_manager/password_store_mac_unittest.cc (right): https://codereview.chromium.org/1414463004/diff/40001/chrome/browser/password_manager/password_store_mac_unittest.cc#newcode189 chrome/browser/password_manager/password_store_mac_unittest.cc:189: content::TestBrowserThread ui_thread_; On 2015/11/25 18:47:32, Timo Reimann wrote: > ...
5 years ago (2015-11-26 01:12:52 UTC) #33
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1414463004/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1414463004/180001
5 years ago (2015-11-26 10:04:54 UTC) #35
vasilii
https://codereview.chromium.org/1414463004/diff/180001/chrome/browser/password_manager/password_store_mac_unittest.cc File chrome/browser/password_manager/password_store_mac_unittest.cc (right): https://codereview.chromium.org/1414463004/diff/180001/chrome/browser/password_manager/password_store_mac_unittest.cc#newcode202 chrome/browser/password_manager/password_store_mac_unittest.cc:202: login_db_.reset(); You don't need it. Also I think that ...
5 years ago (2015-11-26 11:03:38 UTC) #36
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_rel_ng/builds/101874)
5 years ago (2015-11-26 13:18:40 UTC) #38
Timo Reimann
Comments addressed. One last question regarding the password_manager namespace left. Do you know why the ...
5 years ago (2015-11-26 14:38:29 UTC) #39
vasilii
I think Android is flaky indeed. https://codereview.chromium.org/1414463004/diff/180001/chrome/browser/password_manager/password_store_mac_unittest.cc File chrome/browser/password_manager/password_store_mac_unittest.cc (right): https://codereview.chromium.org/1414463004/diff/180001/chrome/browser/password_manager/password_store_mac_unittest.cc#newcode236 chrome/browser/password_manager/password_store_mac_unittest.cc:236: namespace password_manager { ...
5 years ago (2015-11-26 14:53:39 UTC) #40
Timo Reimann
On 2015/11/26 14:53:39, vasilii wrote: > I think Android is flaky indeed. > > https://codereview.chromium.org/1414463004/diff/180001/chrome/browser/password_manager/password_store_mac_unittest.cc ...
5 years ago (2015-11-27 01:08:05 UTC) #41
vasilii
You can leave the tests in the namespace. https://codereview.chromium.org/1414463004/diff/200001/components/password_manager/core/browser/password_store_origin_unittest.h File components/password_manager/core/browser/password_store_origin_unittest.h (right): https://codereview.chromium.org/1414463004/diff/200001/components/password_manager/core/browser/password_store_origin_unittest.h#newcode61 components/password_manager/core/browser/password_store_origin_unittest.h:61: EXPECT_CALL(observer, ...
5 years ago (2015-11-27 10:41:40 UTC) #42
Timo Reimann
https://codereview.chromium.org/1414463004/diff/200001/components/password_manager/core/browser/password_store_origin_unittest.h File components/password_manager/core/browser/password_store_origin_unittest.h (right): https://codereview.chromium.org/1414463004/diff/200001/components/password_manager/core/browser/password_store_origin_unittest.h#newcode61 components/password_manager/core/browser/password_store_origin_unittest.h:61: EXPECT_CALL(observer, OnLoginsChanged(ElementsAre(PasswordStoreChange( On 2015/11/27 10:41:40, vasilii wrote: > Move ...
5 years ago (2015-11-27 11:07:05 UTC) #43
vasilii
lgtm
5 years ago (2015-11-27 11:28:31 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1414463004/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1414463004/220001
5 years ago (2015-11-27 11:37:49 UTC) #46
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/122808)
5 years ago (2015-11-27 11:46:01 UTC) #48
vasilii
I'm not an owner of password_store_mac.cc. Ask vabr@ or mkwst@ to review.
5 years ago (2015-11-27 12:16:42 UTC) #49
vabr (Chromium)
//chrome/browser/password_manager LGTM
5 years ago (2015-11-27 12:52:01 UTC) #51
vabr (Chromium)
On 2015/11/27 12:16:42, vasilii wrote: > I'm not an owner of password_store_mac.cc. Ask vabr@ or ...
5 years ago (2015-11-27 12:56:16 UTC) #52
Timo Reimann
On 2015/11/27 12:56:16, vabr (Chromium) wrote: > On 2015/11/27 12:16:42, vasilii wrote: > > I'm ...
5 years ago (2015-11-27 13:24:39 UTC) #53
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1414463004/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1414463004/220001
5 years ago (2015-11-27 13:25:09 UTC) #55
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_rel_ng/builds/102196)
5 years ago (2015-11-27 16:12:02 UTC) #57
Timo Reimann
On 2015/11/27 16:12:02, commit-bot: I haz the power wrote: > Try jobs failed on following ...
5 years ago (2015-11-27 16:43:17 UTC) #58
vabr (Chromium)
On 2015/11/27 16:43:17, Timo Reimann wrote: > On 2015/11/27 16:12:02, commit-bot: I haz the power ...
5 years ago (2015-11-27 16:46:01 UTC) #59
vabr (Chromium)
On 2015/11/27 16:46:01, vabr (Chromium) wrote: > On 2015/11/27 16:43:17, Timo Reimann wrote: > > ...
5 years ago (2015-11-27 16:47:15 UTC) #60
vasilii
On 2015/11/27 16:43:17, Timo Reimann wrote: > On 2015/11/27 16:12:02, commit-bot: I haz the power ...
5 years ago (2015-11-27 17:00:04 UTC) #61
Timo Reimann
On 2015/11/27 17:00:04, vasilii wrote: > On 2015/11/27 16:43:17, Timo Reimann wrote: > > On ...
5 years ago (2015-11-27 17:51:29 UTC) #62
vabr (Chromium)
On 2015/11/27 17:51:29, Timo Reimann wrote: > On 2015/11/27 17:00:04, vasilii wrote: > > On ...
5 years ago (2015-11-27 18:13:15 UTC) #63
Timo Reimann
On 2015/11/27 18:13:15, vabr (Chromium) wrote: > On 2015/11/27 17:51:29, Timo Reimann wrote: > > ...
5 years ago (2015-11-27 18:22:57 UTC) #64
Timo Reimann
On 2015/11/27 18:22:57, Timo Reimann wrote: > On 2015/11/27 18:13:15, vabr (Chromium) wrote: > > ...
5 years ago (2015-11-30 15:35:42 UTC) #65
vasilii
The debug bot didn't run any test for some reason.
5 years ago (2015-11-30 15:44:54 UTC) #66
Timo Reimann
The latest patch set finishes successfully on the Android bot. For reasons I can't explain, ...
5 years ago (2015-12-17 16:39:02 UTC) #67
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1414463004/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1414463004/260001
5 years ago (2015-12-17 16:40:56 UTC) #70
Timo Reimann
On 2015/12/17 16:39:02, Timo Reimann wrote: > The latest patch set finishes successfully on the ...
5 years ago (2015-12-17 16:47:54 UTC) #71
commit-bot: I haz the power
Committed patchset #14 (id:260001)
5 years ago (2015-12-17 18:09:09 UTC) #72
commit-bot: I haz the power
5 years ago (2015-12-17 18:09:57 UTC) #74
Message was sent while issue was closed.
Patchset 14 (id:??) landed as
https://crrev.com/b4f01c0a90dcba304b45b280f18c66b3c65822f2
Cr-Commit-Position: refs/heads/master@{#365852}

Powered by Google App Engine
This is Rietveld 408576698