Chromium Code Reviews| Index: components/sync_driver/ui_data_type_controller.cc |
| diff --git a/components/sync_driver/ui_data_type_controller.cc b/components/sync_driver/ui_data_type_controller.cc |
| index 3b7945c33012c5124cbb725a9875d75416c99c27..d1347c6ba829ecd521c57477fb8fc0d9543202ca 100644 |
| --- a/components/sync_driver/ui_data_type_controller.cc |
| +++ b/components/sync_driver/ui_data_type_controller.cc |
| @@ -17,8 +17,7 @@ namespace sync_driver { |
| UIDataTypeController::UIDataTypeController() |
| : DataTypeController(base::MessageLoopProxy::current(), |
| - base::Closure(), |
| - DisableTypeCallback()), |
| + base::Closure()), |
| sync_factory_(NULL), |
| state_(NOT_RUNNING), |
| type_(syncer::UNSPECIFIED) { |
| @@ -27,10 +26,9 @@ UIDataTypeController::UIDataTypeController() |
| UIDataTypeController::UIDataTypeController( |
| scoped_refptr<base::MessageLoopProxy> ui_thread, |
| const base::Closure& error_callback, |
| - const DisableTypeCallback& disable_callback, |
| syncer::ModelType type, |
| SyncApiComponentFactory* sync_factory) |
| - : DataTypeController(ui_thread, error_callback, disable_callback), |
| + : DataTypeController(ui_thread, error_callback), |
| sync_factory_(sync_factory), |
| state_(NOT_RUNNING), |
| type_(type), |
| @@ -318,8 +316,9 @@ DataTypeController::State UIDataTypeController::state() const { |
| return state_; |
| } |
| -void UIDataTypeController::OnSingleDatatypeUnrecoverableError( |
| - const tracked_objects::Location& from_here, const std::string& message) { |
| +void UIDataTypeController::OnSingleDataTypeUnrecoverableError( |
| + const syncer::SyncError& error) { |
| + DCHECK_EQ(type(), error.model_type()); |
| UMA_HISTOGRAM_ENUMERATION("Sync.DataTypeRunFailures", |
| ModelTypeToHistogramInt(type()), |
| syncer::MODEL_TYPE_COUNT); |
| @@ -327,8 +326,6 @@ void UIDataTypeController::OnSingleDatatypeUnrecoverableError( |
| if (!error_callback_.is_null()) |
| error_callback_.Run(); |
| if (!start_callback_.is_null()) { |
|
haitaol1
2014/08/07 00:49:48
What happens if error happens after association?
|
| - syncer::SyncError error( |
| - from_here, syncer::SyncError::DATATYPE_ERROR, message, type()); |
| syncer::SyncMergeResult local_merge_result(type()); |
| local_merge_result.set_error(error); |
| start_callback_.Run(RUNTIME_ERROR, |