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

Side by Side Diff: sync/internal_api/test/fake_sync_manager.cc

Issue 17552014: [Sync] Have SBH tell SyncManager which types to purge (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix dchecks Created 7 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « sync/internal_api/sync_manager_impl_unittest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "sync/internal_api/public/test/fake_sync_manager.h" 5 #include "sync/internal_api/public/test/fake_sync_manager.h"
6 6
7 #include <cstddef> 7 #include <cstddef>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 } 186 }
187 187
188 void FakeSyncManager::StartSyncingNormally( 188 void FakeSyncManager::StartSyncingNormally(
189 const ModelSafeRoutingInfo& routing_info) { 189 const ModelSafeRoutingInfo& routing_info) {
190 // Do nothing. 190 // Do nothing.
191 } 191 }
192 192
193 void FakeSyncManager::ConfigureSyncer( 193 void FakeSyncManager::ConfigureSyncer(
194 ConfigureReason reason, 194 ConfigureReason reason,
195 ModelTypeSet to_download, 195 ModelTypeSet to_download,
196 ModelTypeSet to_purge,
196 ModelTypeSet to_journal, 197 ModelTypeSet to_journal,
197 ModelTypeSet to_unapply, 198 ModelTypeSet to_unapply,
198 ModelTypeSet to_ignore,
199 const ModelSafeRoutingInfo& new_routing_info, 199 const ModelSafeRoutingInfo& new_routing_info,
200 const base::Closure& ready_task, 200 const base::Closure& ready_task,
201 const base::Closure& retry_task) { 201 const base::Closure& retry_task) {
202 last_configure_reason_ = reason; 202 last_configure_reason_ = reason;
203 ModelTypeSet enabled_types = GetRoutingInfoTypes(new_routing_info); 203 ModelTypeSet enabled_types = GetRoutingInfoTypes(new_routing_info);
204 ModelTypeSet disabled_types = Difference(
205 ModelTypeSet::All(), enabled_types);
206 disabled_types.RemoveAll(to_ignore);
207 ModelTypeSet success_types = to_download; 204 ModelTypeSet success_types = to_download;
208 success_types.RemoveAll(configure_fail_types_); 205 success_types.RemoveAll(configure_fail_types_);
209 206
210 DVLOG(1) << "Faking configuration. Downloading: " 207 DVLOG(1) << "Faking configuration. Downloading: "
211 << ModelTypeSetToString(success_types) << ". Cleaning: " 208 << ModelTypeSetToString(success_types) << ". Cleaning: "
212 << ModelTypeSetToString(disabled_types); 209 << ModelTypeSetToString(to_purge);
213 210
214 // Update our fake directory by clearing and fake-downloading as necessary. 211 // Update our fake directory by clearing and fake-downloading as necessary.
215 UserShare* share = GetUserShare(); 212 UserShare* share = GetUserShare();
216 share->directory->PurgeEntriesWithTypeIn(disabled_types, 213 share->directory->PurgeEntriesWithTypeIn(to_purge,
217 to_journal, 214 to_journal,
218 to_unapply); 215 to_unapply);
219 for (ModelTypeSet::Iterator it = success_types.First(); it.Good(); it.Inc()) { 216 for (ModelTypeSet::Iterator it = success_types.First(); it.Good(); it.Inc()) {
220 // We must be careful to not create the same root node twice. 217 // We must be careful to not create the same root node twice.
221 if (!initial_sync_ended_types_.Has(it.Get())) { 218 if (!initial_sync_ended_types_.Has(it.Get())) {
222 TestUserShare::CreateRoot(it.Get(), share); 219 TestUserShare::CreateRoot(it.Get(), share);
223 } 220 }
224 } 221 }
225 222
226 // Simulate cleaning up disabled types. 223 // Simulate cleaning up disabled types.
227 // TODO(sync): consider only cleaning those types that were recently disabled, 224 // TODO(sync): consider only cleaning those types that were recently disabled,
228 // if this isn't the first cleanup, which more accurately reflects the 225 // if this isn't the first cleanup, which more accurately reflects the
229 // behavior of the real cleanup logic. 226 // behavior of the real cleanup logic.
230 initial_sync_ended_types_.RemoveAll(disabled_types); 227 initial_sync_ended_types_.RemoveAll(to_purge);
231 progress_marker_types_.RemoveAll(disabled_types); 228 progress_marker_types_.RemoveAll(to_purge);
232 cleaned_types_.PutAll(disabled_types); 229 cleaned_types_.PutAll(to_purge);
233 230
234 // Now simulate the actual configuration for those types that successfully 231 // Now simulate the actual configuration for those types that successfully
235 // download + apply. 232 // download + apply.
236 progress_marker_types_.PutAll(success_types); 233 progress_marker_types_.PutAll(success_types);
237 initial_sync_ended_types_.PutAll(success_types); 234 initial_sync_ended_types_.PutAll(success_types);
238 downloaded_types_.PutAll(success_types); 235 downloaded_types_.PutAll(success_types);
239 236
240 ready_task.Run(); 237 ready_task.Run();
241 } 238 }
242 239
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 InvalidatorState state) { 300 InvalidatorState state) {
304 DCHECK(sync_task_runner_->RunsTasksOnCurrentThread()); 301 DCHECK(sync_task_runner_->RunsTasksOnCurrentThread());
305 registrar_.UpdateInvalidatorState(state); 302 registrar_.UpdateInvalidatorState(state);
306 } 303 }
307 304
308 ModelTypeSet FakeSyncManager::GetLastRefreshRequestTypes() { 305 ModelTypeSet FakeSyncManager::GetLastRefreshRequestTypes() {
309 return last_refresh_request_types_; 306 return last_refresh_request_types_;
310 } 307 }
311 308
312 } // namespace syncer 309 } // namespace syncer
OLDNEW
« no previous file with comments | « sync/internal_api/sync_manager_impl_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698