The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/9380cfbeb8c309e5bc54eafd810689b056c793e8
commit 9380cfbeb8c309e5bc54eafd810689b056c793e8
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Wed Jan 23 16:36:38 2019
[Sync::USS] Introduce PasswordSyncStore:ReadAllLogins()
PasswordSyncableService code used two methods in PasswordSyncStore
to retrieve all passwords FillAutofillableLogins() and
FillBlacklistLogins() and then concatenated the results.
This has three issues:
1- This unnecessarily hit the DB twice.
2- Each DB hit involved sorting over some string field that isn't
required.
3-Those calls don't expose the DB primary key of each form which
is required by the new sync architecture.
This CL is replace those APIs in the PasswordSyncStore with a single
API that returns all logins together with the corresponding DB primary
key.
This is in preparation for a later CL that would actually use this API
in the PasswordSyncBridge that belongs to the new sync architecture.
Since the methods FillAutofillableLogins() and FillBlacklistLogins()
are used in the password manager codebase, they have been moved to be
part of the PasswordStore interface rather than the PasswordStoreSync
Bug: 902349
Change-Id: Ic94b83fcc24dfc1833e07653426c064292be5ba7
Reviewed-on: https://chromium-review.googlesource.com/c/1424941
Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org>
Reviewed-by: Mikel Astiz <mastiz@chromium.org>
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/master@{#625225}
The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/f2bff73ff3861f8acc968a6be7c7879d51638e80
commit f2bff73ff3861f8acc968a6be7c7879d51638e80
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Fri Jan 25 13:48:17 2019
[Sync::USS] Add NOTIMPLEMENTED methods to PasswordStoreX
Recently introduced methods in PasswordStoreSync interface are
implemented in PasswordStoreDefault.
However, this implementation isn't compatible with PasswordStoreX.
This overrides such methods in PasswordStoreX with a NOTIMPLEMENTED()
implementation to make sure they aren't called by mistake.
This should be OK because those methods are only used in Sync code base
which doesn't use PasswordStoreX.
In addition, PasswordStoreX will be deprecated.
Similarly implementation in used in TestPasswordStore because it
doesn't support primary key for forms. This is also OK because Sync
unittest is using a mock PasswordSyncStore rather than
a TestPasswordStore.
Bug: 902349
Change-Id: Id795f3f6ae6b0efa75bbb22dc1675f3c12210692
Reviewed-on: https://chromium-review.googlesource.com/c/1429964
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#626067}
The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/57729435d4d16fa543ace2545ca24fc00c4e9bf7
commit 57729435d4d16fa543ace2545ca24fc00c4e9bf7
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Wed Jan 30 11:19:39 2019
[Sync::USS] PasswordStoreX supports USS when there is no backend
PasswordStoreX has 3 methods that are specific to Sync USS.
Those method are currently marked as NOIMPLEMENTED because USS doesn't
support PasswordStoreX and the plan is to migrate away from
PasswordStoreX before launching USS for Passwords.
This CL changes this behavior such that in case there is no backend,
PasswordStoreX will delegate those methods to PasswordStoreDefault which
fully supports USS. This behavior is similar to other methods in
PasswordStoreX.
Same as of before this CL, it's the responsibility of Sync code base to
make sure those methods are called only when it makes sense.
This change will enable to run the sync integration tests on Linux
because they don't instantiate a backend.
Bug: 902349
Change-Id: Ie1976e3521300829d31094324832a33382f19306
Reviewed-on: https://chromium-review.googlesource.com/c/1442254
Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org>
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/master@{#627386}
[modify] https://crrev.com/57729435d4d16fa543ace2545ca24fc00c4e9bf7/chrome/browser/password_manager/password_store_x.cc
Comment 1 by mamir@chromium.org, Nov 6