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

Side by Side Diff: components/sync/driver/directory_data_type_controller.cc

Issue 2769113002: [Sync] Stop accessing BrowserContextKeyedServiceFactory on non-UI thread. (Closed)
Patch Set: Rebase and removing dependent patch set. Created 3 years, 8 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 (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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/driver/directory_data_type_controller.h" 5 #include "components/sync/driver/directory_data_type_controller.h"
6 6
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 55
56 void DirectoryDataTypeController::DeactivateDataType( 56 void DirectoryDataTypeController::DeactivateDataType(
57 ModelTypeConfigurer* configurer) { 57 ModelTypeConfigurer* configurer) {
58 DCHECK(CalledOnValidThread()); 58 DCHECK(CalledOnValidThread());
59 configurer->DeactivateDirectoryDataType(type()); 59 configurer->DeactivateDirectoryDataType(type());
60 configurer->UnregisterDirectoryDataType(type()); 60 configurer->UnregisterDirectoryDataType(type());
61 } 61 }
62 62
63 void DirectoryDataTypeController::GetAllNodes( 63 void DirectoryDataTypeController::GetAllNodes(
64 const AllNodesCallback& callback) { 64 const AllNodesCallback& callback) {
65 DCHECK(CalledOnValidThread());
65 std::unique_ptr<base::ListValue> node_list = GetAllNodesForTypeFromDirectory( 66 std::unique_ptr<base::ListValue> node_list = GetAllNodesForTypeFromDirectory(
66 type(), sync_client_->GetSyncService()->GetUserShare()->directory.get()); 67 type(), sync_client_->GetSyncService()->GetUserShare()->directory.get());
67 callback.Run(type(), std::move(node_list)); 68 callback.Run(type(), std::move(node_list));
68 } 69 }
69 70
70 void DirectoryDataTypeController::GetStatusCounters( 71 void DirectoryDataTypeController::GetStatusCounters(
71 const StatusCountersCallback& callback) { 72 const StatusCountersCallback& callback) {
73 DCHECK(CalledOnValidThread());
72 std::vector<int> num_entries_by_type(syncer::MODEL_TYPE_COUNT, 0); 74 std::vector<int> num_entries_by_type(syncer::MODEL_TYPE_COUNT, 0);
73 std::vector<int> num_to_delete_entries_by_type(syncer::MODEL_TYPE_COUNT, 0); 75 std::vector<int> num_to_delete_entries_by_type(syncer::MODEL_TYPE_COUNT, 0);
74 sync_client_->GetSyncService() 76 sync_client_->GetSyncService()
75 ->GetUserShare() 77 ->GetUserShare()
76 ->directory->CollectMetaHandleCounts(&num_entries_by_type, 78 ->directory->CollectMetaHandleCounts(&num_entries_by_type,
77 &num_to_delete_entries_by_type); 79 &num_to_delete_entries_by_type);
78 syncer::StatusCounters counters; 80 syncer::StatusCounters counters;
79 counters.num_entries_and_tombstones = num_entries_by_type[type()]; 81 counters.num_entries_and_tombstones = num_entries_by_type[type()];
80 counters.num_entries = 82 counters.num_entries =
81 num_entries_by_type[type()] - num_to_delete_entries_by_type[type()]; 83 num_entries_by_type[type()] - num_to_delete_entries_by_type[type()];
82 84
83 callback.Run(type(), counters); 85 callback.Run(type(), counters);
84 } 86 }
85 87
86 // static 88 // static
87 std::unique_ptr<base::ListValue> 89 std::unique_ptr<base::ListValue>
88 DirectoryDataTypeController::GetAllNodesForTypeFromDirectory( 90 DirectoryDataTypeController::GetAllNodesForTypeFromDirectory(
89 ModelType type, 91 ModelType type,
90 syncable::Directory* directory) { 92 syncable::Directory* directory) {
91 DCHECK(directory); 93 DCHECK(directory);
92 syncable::ReadTransaction trans(FROM_HERE, directory); 94 syncable::ReadTransaction trans(FROM_HERE, directory);
93 return directory->GetNodeDetailsForType(&trans, type); 95 return directory->GetNodeDetailsForType(&trans, type);
94 } 96 }
95 97
96 } // namespace syncer 98 } // namespace syncer
OLDNEW
« no previous file with comments | « components/sync/driver/directory_data_type_controller.h ('k') | components/sync/driver/fake_generic_change_processor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698