OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/model_association_manager.h" | 5 #include "components/sync_driver/model_association_manager.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <functional> | 8 #include <functional> |
9 | 9 |
10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
281 ResetForNextAssociation(); | 281 ResetForNextAssociation(); |
282 | 282 |
283 state_ = IDLE; | 283 state_ = IDLE; |
284 } | 284 } |
285 | 285 |
286 void ModelAssociationManager::ModelLoadCallback(syncer::ModelType type, | 286 void ModelAssociationManager::ModelLoadCallback(syncer::ModelType type, |
287 syncer::SyncError error) { | 287 syncer::SyncError error) { |
288 DVLOG(1) << "ModelAssociationManager: ModelLoadCallback for " | 288 DVLOG(1) << "ModelAssociationManager: ModelLoadCallback for " |
289 << syncer::ModelTypeToString(type); | 289 << syncer::ModelTypeToString(type); |
290 | 290 |
291 // This happens when slow loading type is disabled by new configuration. | |
292 if (!desired_types_.Has(type)) | |
293 return; | |
294 | |
295 DCHECK(!loaded_types_.Has(type)); | |
296 if (error.IsSet()) { | 291 if (error.IsSet()) { |
297 syncer::SyncMergeResult local_merge_result(type); | 292 syncer::SyncMergeResult local_merge_result(type); |
298 local_merge_result.set_error(error); | 293 local_merge_result.set_error(error); |
299 TypeStartCallback(type, | 294 TypeStartCallback(type, |
300 base::TimeTicks::Now(), | 295 base::TimeTicks::Now(), |
301 DataTypeController::ASSOCIATION_FAILED, | 296 DataTypeController::ASSOCIATION_FAILED, |
302 local_merge_result, | 297 local_merge_result, |
303 syncer::SyncMergeResult(type)); | 298 syncer::SyncMergeResult(type)); |
304 return; | 299 return; |
305 } | 300 } |
306 | 301 |
| 302 // This happens when slow loading type is disabled by new configuration. |
| 303 if (!desired_types_.Has(type)) |
| 304 return; |
| 305 |
| 306 DCHECK(!loaded_types_.Has(type)); |
307 loaded_types_.Put(type); | 307 loaded_types_.Put(type); |
308 if (associating_types_.Has(type)) { | 308 if (associating_types_.Has(type)) { |
309 DataTypeController* dtc = controllers_->find(type)->second.get(); | 309 DataTypeController* dtc = controllers_->find(type)->second.get(); |
310 dtc->StartAssociating( | 310 dtc->StartAssociating( |
311 base::Bind(&ModelAssociationManager::TypeStartCallback, | 311 base::Bind(&ModelAssociationManager::TypeStartCallback, |
312 weak_ptr_factory_.GetWeakPtr(), | 312 weak_ptr_factory_.GetWeakPtr(), |
313 type, base::TimeTicks::Now())); | 313 type, base::TimeTicks::Now())); |
314 } | 314 } |
315 } | 315 } |
316 | 316 |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
408 | 408 |
409 delegate_->OnModelAssociationDone(result); | 409 delegate_->OnModelAssociationDone(result); |
410 } | 410 } |
411 | 411 |
412 base::OneShotTimer<ModelAssociationManager>* | 412 base::OneShotTimer<ModelAssociationManager>* |
413 ModelAssociationManager::GetTimerForTesting() { | 413 ModelAssociationManager::GetTimerForTesting() { |
414 return &timer_; | 414 return &timer_; |
415 } | 415 } |
416 | 416 |
417 } // namespace sync_driver | 417 } // namespace sync_driver |
OLD | NEW |