commit | 53131349c4aba96c9c9fe79319aaf44705a9f9c6 | [log] [tgz] |
---|---|---|
author | Mikel Astiz <[email protected]> | Thu Jul 19 08:59:58 2018 |
committer | Commit Bot <[email protected]> | Thu Jul 19 08:59:58 2018 |
tree | baefd4244b1d9c05e7fbd3e3206560fa0c42fb0c | |
parent | cd0d9861ee13bec2f79b6be872f8e7aa3ab759f8 [diff] |
Get rid of home-grown singleton maps for ModelTypeStore Prior to this patch, ModelTypeStoreImpl and ModelTypeStoreBackend internally maintain singleton maps to achieve what KeyedServices are designed for: have single instances of certain objects per profile. The implementation was rather error-prone (e.g. to leak data across profiles) and the object lifetime questionable. Instead, this patch replaces them with a newly introduced keyed service, ModelTypeStoreService, which is designed to abstract away sync's needs to persist data. The associated semantics wrt lifetime, incognito etc. are more standard now. For directory, we don't migrate the code other than making the keyed service the authoritative source for defining where data should be persisted (FS path). We do this to minimize the diff, and because we expect all datatypes to be eventually migrated to USS in the long term. Bug: 862942 Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet Change-Id: Ib444220ead181b6765c863703439eec18fcb0886 Reviewed-on: https://chromium-review.googlesource.com/1134774 Reviewed-by: Colin Blundell <[email protected]> Reviewed-by: Eric Noyau <[email protected]> Reviewed-by: Bernhard Bauer <[email protected]> Reviewed-by: Markus Heintz <[email protected]> Reviewed-by: Mohamed Amir Yosef <[email protected]> Reviewed-by: Sean Kau <[email protected]> Commit-Queue: Mikel Astiz <[email protected]> Cr-Commit-Position: refs/heads/master@{#576424}
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.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .