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

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

Issue 2799653006: Revert of [Sync] Stop accessing BrowserContextKeyedServiceFactory on non-UI thread. (Closed)
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());
66 std::unique_ptr<base::ListValue> node_list = GetAllNodesForTypeFromDirectory( 65 std::unique_ptr<base::ListValue> node_list = GetAllNodesForTypeFromDirectory(
67 type(), sync_client_->GetSyncService()->GetUserShare()->directory.get()); 66 type(), sync_client_->GetSyncService()->GetUserShare()->directory.get());
68 callback.Run(type(), std::move(node_list)); 67 callback.Run(type(), std::move(node_list));
69 } 68 }
70 69
71 void DirectoryDataTypeController::GetStatusCounters( 70 void DirectoryDataTypeController::GetStatusCounters(
72 const StatusCountersCallback& callback) { 71 const StatusCountersCallback& callback) {
73 DCHECK(CalledOnValidThread());
74 std::vector<int> num_entries_by_type(syncer::MODEL_TYPE_COUNT, 0); 72 std::vector<int> num_entries_by_type(syncer::MODEL_TYPE_COUNT, 0);
75 std::vector<int> num_to_delete_entries_by_type(syncer::MODEL_TYPE_COUNT, 0); 73 std::vector<int> num_to_delete_entries_by_type(syncer::MODEL_TYPE_COUNT, 0);
76 sync_client_->GetSyncService() 74 sync_client_->GetSyncService()
77 ->GetUserShare() 75 ->GetUserShare()
78 ->directory->CollectMetaHandleCounts(&num_entries_by_type, 76 ->directory->CollectMetaHandleCounts(&num_entries_by_type,
79 &num_to_delete_entries_by_type); 77 &num_to_delete_entries_by_type);
80 syncer::StatusCounters counters; 78 syncer::StatusCounters counters;
81 counters.num_entries_and_tombstones = num_entries_by_type[type()]; 79 counters.num_entries_and_tombstones = num_entries_by_type[type()];
82 counters.num_entries = 80 counters.num_entries =
83 num_entries_by_type[type()] - num_to_delete_entries_by_type[type()]; 81 num_entries_by_type[type()] - num_to_delete_entries_by_type[type()];
84 82
85 callback.Run(type(), counters); 83 callback.Run(type(), counters);
86 } 84 }
87 85
88 // static 86 // static
89 std::unique_ptr<base::ListValue> 87 std::unique_ptr<base::ListValue>
90 DirectoryDataTypeController::GetAllNodesForTypeFromDirectory( 88 DirectoryDataTypeController::GetAllNodesForTypeFromDirectory(
91 ModelType type, 89 ModelType type,
92 syncable::Directory* directory) { 90 syncable::Directory* directory) {
93 DCHECK(directory); 91 DCHECK(directory);
94 syncable::ReadTransaction trans(FROM_HERE, directory); 92 syncable::ReadTransaction trans(FROM_HERE, directory);
95 return directory->GetNodeDetailsForType(&trans, type); 93 return directory->GetNodeDetailsForType(&trans, type);
96 } 94 }
97 95
98 } // namespace syncer 96 } // 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