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

Issue 900607 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Clean up notifications for wallet

Project Member Reported by jkrcal@chromium.org, Oct 31

Issue description

There are three parties that send and receive WebDataBackend notifications:
 - PersonalDataManager listens to AutofillMultipleChanged() notifications to refresh its state,
 - WebDataBackend notifies on DB changes (mostly triggered by the PDM as sync talks to the DB directly),
 - The data bridge only notifies,
 - The metadata service listens and notifies,
 - The metadata bridge listens and notifies.

So far, this was always one-way. We need to introduce AutofillMultipleChanged() notification from the metadata service that is also a listener of it which requires a hacky reflection blocking.

We should clean up the notifications and make each of them only one-way. E.g.:
 - rename AutofillMultipleChanged() to AutofillMultipleChangedBySync() and make only PDM listen to it.
 - make all the fine-grained notifications be only consumed by the metadata bridge (and potentially rename them to reflect that).

An alternative would be to extend the notifications so that they include the originator of the change. This may be unnecessarily complex.

Another way to clean up the notifications is to unify the observer interfaces into one, along the lines of the Draft CL https://chromium-review.googlesource.com/c/chromium/src/+/1307411.
 

Sign in to add a comment