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

Unified Diff: chrome/browser/sync/engine/model_changing_syncer_command.cc

Issue 8366030: Introduce the plumbing necessary to report Unrecoverable error from model safe workers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: For review. Created 9 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/engine/model_changing_syncer_command.cc
diff --git a/chrome/browser/sync/engine/model_changing_syncer_command.cc b/chrome/browser/sync/engine/model_changing_syncer_command.cc
index 797f795f96bd08580aeb6ac466459e231e7c7763..c00b787335f837086342bfa2ccf7922010217512 100644
--- a/chrome/browser/sync/engine/model_changing_syncer_command.cc
+++ b/chrome/browser/sync/engine/model_changing_syncer_command.cc
@@ -8,8 +8,10 @@
#include "chrome/browser/sync/engine/model_safe_worker.h"
#include "chrome/browser/sync/sessions/status_controller.h"
#include "chrome/browser/sync/sessions/sync_session.h"
+#include "chrome/browser/sync/sessions/unrecoverable_error_info.h"
namespace browser_sync {
+using sessions::UnrecoverableErrorInfo;
void ModelChangingSyncerCommand::ExecuteImpl(sessions::SyncSession* session) {
work_session_ = session;
@@ -45,9 +47,14 @@ void ModelChangingSyncerCommand::ExecuteImpl(sessions::SyncSession* session) {
sessions::StatusController* status = work_session_->status_controller();
sessions::ScopedModelSafeGroupRestriction r(status, group);
- scoped_ptr<Callback0::Type> c(NewCallback(this,
- &ModelChangingSyncerCommand::StartChangingModel));
- worker->DoWorkAndWaitUntilDone(c.get());
akalin 2011/10/26 00:25:05 Add a comment saying that it's safe to use Unretai
lipalani1 2011/10/26 01:39:11 Done.
+ WorkCallback c = base::Bind(
+ &ModelChangingSyncerCommand::StartChangingModel,
+ base::Unretained(this));
+
+ UnrecoverableErrorInfo error_info = worker->DoWorkAndWaitUntilDone(c);
akalin 2011/10/26 00:25:05 this will probably trigger a compiler warning/erro
lipalani1 2011/10/26 01:39:11 Done.
+
+ // TODO(lipalani): Check if there is an unrecoverable error from error_info
+ // and do apropriate actions.
}
}

Powered by Google App Engine
This is Rietveld 408576698