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

Side by Side Diff: components/sync/model_impl/model_type_store_backend.cc

Issue 2863173002: [Sync] Switch ModelTypeStore* from blocking pool to post_task.h (Closed)
Patch Set: Self review. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/sync/model_impl/model_type_store_backend.h" 5 #include "components/sync/model_impl/model_type_store_backend.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 void EraseBackend(const std::string& path); 69 void EraseBackend(const std::string& path);
70 70
71 private: 71 private:
72 mutable base::Lock lock_; 72 mutable base::Lock lock_;
73 73
74 std::unordered_map<std::string, ModelTypeStoreBackend*> backends_; 74 std::unordered_map<std::string, ModelTypeStoreBackend*> backends_;
75 75
76 DISALLOW_COPY_AND_ASSIGN(BackendMap); 76 DISALLOW_COPY_AND_ASSIGN(BackendMap);
77 }; 77 };
78 78
79 base::LazyInstance<BackendMap>::DestructorAtExit backend_map = 79 base::LazyInstance<BackendMap>::Leaky backend_map = LAZY_INSTANCE_INITIALIZER;
80 LAZY_INSTANCE_INITIALIZER;
81 80
82 scoped_refptr<ModelTypeStoreBackend> BackendMap::GetBackend( 81 scoped_refptr<ModelTypeStoreBackend> BackendMap::GetBackend(
83 const std::string& path) const { 82 const std::string& path) const {
84 base::AutoLock scoped_lock(lock_); 83 base::AutoLock scoped_lock(lock_);
85 auto it = backends_.find(path); 84 auto it = backends_.find(path);
86 return (it == backends_.end()) ? nullptr : it->second; 85 return (it == backends_.end()) ? nullptr : it->second;
87 } 86 }
88 87
89 void BackendMap::SetBackend(const std::string& path, 88 void BackendMap::SetBackend(const std::string& path,
90 ModelTypeStoreBackend* backend) { 89 ModelTypeStoreBackend* backend) {
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 UMA_HISTOGRAM_ENUMERATION(kStoreInitResultHistogramName, result, 306 UMA_HISTOGRAM_ENUMERATION(kStoreInitResultHistogramName, result,
308 STORE_INIT_RESULT_COUNT); 307 STORE_INIT_RESULT_COUNT);
309 } 308 }
310 309
311 // static 310 // static
312 bool ModelTypeStoreBackend::BackendExistsForTest(const std::string& path) { 311 bool ModelTypeStoreBackend::BackendExistsForTest(const std::string& path) {
313 return backend_map.Get().GetBackend(path) != nullptr; 312 return backend_map.Get().GetBackend(path) != nullptr;
314 } 313 }
315 314
316 } // namespace syncer 315 } // namespace syncer
OLDNEW
« no previous file with comments | « components/sync/model/model_type_store.cc ('k') | components/sync/model_impl/model_type_store_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698