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

Unified Diff: chrome/browser/sync/glue/theme_model_associator.cc

Issue 9978017: [Sync] - Upload the callstacks for errors so that the line number of error is in callstack. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 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/glue/theme_model_associator.cc
diff --git a/chrome/browser/sync/glue/theme_model_associator.cc b/chrome/browser/sync/glue/theme_model_associator.cc
index 069baef5e244bbd0323f6318ed2de28ef6bfa70b..5521de4c671881becf62638e17c3aa6fc2ab01fd 100644
--- a/chrome/browser/sync/glue/theme_model_associator.cc
+++ b/chrome/browser/sync/glue/theme_model_associator.cc
@@ -32,19 +32,22 @@ static const char kNoThemesFolderError[] =
} // namespace
ThemeModelAssociator::ThemeModelAssociator(
- ProfileSyncService* sync_service)
- : sync_service_(sync_service) {
+ ProfileSyncService* sync_service,
+ DataTypeErrorHandler* error_handler)
+ : sync_service_(sync_service),
+ error_handler_(error_handler) {
DCHECK(sync_service_);
}
ThemeModelAssociator::~ThemeModelAssociator() {}
-bool ThemeModelAssociator::AssociateModels(SyncError* error) {
+SyncError ThemeModelAssociator::AssociateModels() {
sync_api::WriteTransaction trans(FROM_HERE, sync_service_->GetUserShare());
sync_api::ReadNode root(&trans);
if (!root.InitByTagLookup(kThemesTag)) {
- error->Reset(FROM_HERE, kNoThemesFolderError, model_type());
- return false;
+ return error_handler_->CreateAndUploadError(FROM_HERE,
+ kNoThemesFolderError,
+ model_type());
}
Profile* profile = sync_service_->profile();
@@ -66,10 +69,10 @@ bool ThemeModelAssociator::AssociateModels(SyncError* error) {
sync_api::WriteNode node(&trans);
if (!node.InitUniqueByCreation(syncable::THEMES, root,
kCurrentThemeClientTag)) {
- error->Reset(FROM_HERE,
- "Could not create current theme node.",
- model_type());
- return false;
+ return error_handler_->CreateAndUploadError(
+ FROM_HERE,
+ "Could not create current theme node.",
+ model_type());
}
node.SetIsFolder(false);
node.SetTitle(UTF8ToWide(kCurrentThemeNodeTitle));
@@ -77,12 +80,12 @@ bool ThemeModelAssociator::AssociateModels(SyncError* error) {
GetThemeSpecificsFromCurrentTheme(profile, &theme_specifics);
node.SetThemeSpecifics(theme_specifics);
}
- return true;
+ return SyncError();
}
-bool ThemeModelAssociator::DisassociateModels(SyncError* error) {
+SyncError ThemeModelAssociator::DisassociateModels() {
// We don't maintain any association state, so nothing to do.
- return true;
+ return SyncError();
}
bool ThemeModelAssociator::SyncModelHasUserCreatedNodes(bool* has_nodes) {
« no previous file with comments | « chrome/browser/sync/glue/theme_model_associator.h ('k') | chrome/browser/sync/glue/typed_url_change_processor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698