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

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

Issue 2886933003: Use stricter type checking in UMA_HISTOGRAM_ENUMERATION (Closed)
Patch Set: simplify type checking Created 3 years, 5 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 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 <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 375
376 timer_.Stop(); 376 timer_.Stop();
377 377
378 // Treat any unfinished types as having errors. 378 // Treat any unfinished types as having errors.
379 desired_types_.RemoveAll(associating_types_); 379 desired_types_.RemoveAll(associating_types_);
380 for (DataTypeController::TypeMap::const_iterator it = controllers_->begin(); 380 for (DataTypeController::TypeMap::const_iterator it = controllers_->begin();
381 it != controllers_->end(); ++it) { 381 it != controllers_->end(); ++it) {
382 DataTypeController* dtc = (*it).second.get(); 382 DataTypeController* dtc = (*it).second.get();
383 if (associating_types_.Has(dtc->type()) && 383 if (associating_types_.Has(dtc->type()) &&
384 dtc->state() != DataTypeController::NOT_RUNNING) { 384 dtc->state() != DataTypeController::NOT_RUNNING) {
385 // TODO(wychen): enum uma should be strongly typed. crbug.com/661401
385 UMA_HISTOGRAM_ENUMERATION("Sync.ConfigureFailed", 386 UMA_HISTOGRAM_ENUMERATION("Sync.ConfigureFailed",
386 ModelTypeToHistogramInt(dtc->type()), 387 ModelTypeToHistogramInt(dtc->type()),
387 MODEL_TYPE_COUNT); 388 static_cast<int>(MODEL_TYPE_COUNT));
388 StopDatatype(SyncError(FROM_HERE, SyncError::DATATYPE_ERROR, 389 StopDatatype(SyncError(FROM_HERE, SyncError::DATATYPE_ERROR,
389 "Association timed out.", dtc->type()), 390 "Association timed out.", dtc->type()),
390 dtc); 391 dtc);
391 } 392 }
392 } 393 }
393 394
394 DataTypeManager::ConfigureResult result(configure_status_, requested_types_); 395 DataTypeManager::ConfigureResult result(configure_status_, requested_types_);
395 396
396 // Need to reset state before invoking delegate in order to avoid re-entrancy 397 // Need to reset state before invoking delegate in order to avoid re-entrancy
397 // issues (delegate may trigger a reconfiguration). 398 // issues (delegate may trigger a reconfiguration).
(...skipping 20 matching lines...) Expand all
418 // At least one type is not ready. 419 // At least one type is not ready.
419 return; 420 return;
420 } 421 }
421 } 422 }
422 423
423 notified_about_ready_for_configure_ = true; 424 notified_about_ready_for_configure_ = true;
424 delegate_->OnAllDataTypesReadyForConfigure(); 425 delegate_->OnAllDataTypesReadyForConfigure();
425 } 426 }
426 427
427 } // namespace syncer 428 } // namespace syncer
OLDNEW
« no previous file with comments | « components/sync/driver/frontend_data_type_controller.cc ('k') | components/sync/driver/model_type_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698