commit | 2e5ea39ce85703348cbcce0228e89019423a9be6 | [log] [tgz] |
---|---|---|
author | Florian Leimgruber <[email protected]> | Wed Mar 13 09:42:10 2024 |
committer | Chromium LUCI CQ <[email protected]> | Wed Mar 13 09:42:10 2024 |
tree | af247ff46bd15da87c11955c63f4c6486d9398e6 | |
parent | ee8684d2524d4291e74b795a816ea1c8b4b47d07 [diff] |
PlusAddressSyncBridge skeleton Creates a PlusAddressSyncBridge responsible for PLUS_ADDRESS. No implementation is added yet. The sync bridge intends to use the Web Data SQLite database as its storage layer. To easily update entity and metadata in the same transaction, the bridge operates on the DB's sequence. PlusAddressSyncBridge is owned by PlusAddressWebDataService, which itself is owned by a keyed service. Because PlusAddressWebDataService lives on the UI thread, special care is needed to construct and destroy the sync bridge on the DB sequence. This is done by defining PlusAddressWebDataService::SyncBridgeDBSequenceWrapper as a base::RefCountedDeleteOnSequence<>, that ensures deletion happens on the DB sequence (if PlusAddressWebDataService is destroyed before the DB sequence, ownership is briefly transferred to that sequence). For construction of PlusAddressSyncBridge, PlusAddressWebDataService posts a task on the DB sequence. To register the controller for the sync bridge in SyncApiComponentFactoryImpl, the PlusAddressWebDataService is injected into it. A ProxyModelTypeControllerDelegate is used to forward calls to the DB sequence. Instantiating the controller and constructing the sync bridge is guarded behind a new kSyncPlusAddress feature flag. Bug: b/322147254 Change-Id: Ia268eade49a4c1a2e3ce4e93fe06175d5ceb9be0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5344789 Reviewed-by: Jan Keitel <[email protected]> Commit-Queue: Florian Leimgruber <[email protected]> Reviewed-by: Peter Kasting <[email protected]> Reviewed-by: Rohit Rao <[email protected]> Reviewed-by: Rushan Suleymanov <[email protected]> Cr-Commit-Position: refs/heads/main@{#1272052}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure.
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.