Index: chrome/browser/sync/glue/session_model_associator.cc |
diff --git a/chrome/browser/sync/glue/session_model_associator.cc b/chrome/browser/sync/glue/session_model_associator.cc |
index da4d86fbfab53fb4142a642120a8cc1c0dbe6de7..18223ec25741d8fc47cfd838a37ed0d9ff9aa3e9 100644 |
--- a/chrome/browser/sync/glue/session_model_associator.cc |
+++ b/chrome/browser/sync/glue/session_model_associator.cc |
@@ -13,6 +13,7 @@ |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/sessions/restore_tab_helper.h" |
#include "chrome/browser/sessions/session_service_factory.h" |
+#include "chrome/browser/sync/api/sync_error.h" |
#include "chrome/browser/sync/profile_sync_service.h" |
#include "chrome/browser/sync/syncable/syncable.h" |
#include "chrome/browser/tabs/tab_strip_model.h" |
@@ -405,7 +406,7 @@ void SessionModelAssociator::Disassociate(int64 sync_id) { |
// TODO(zea): we will need this once we support deleting foreign sessions. |
} |
-bool SessionModelAssociator::AssociateModels() { |
+bool SessionModelAssociator::AssociateModels(SyncError* error) { |
DCHECK(CalledOnValidThread()); |
// Ensure that we disassociated properly, otherwise memory might leak. |
@@ -421,7 +422,7 @@ bool SessionModelAssociator::AssociateModels() { |
sync_api::ReadNode root(&trans); |
if (!root.InitByTagLookup(kSessionsTag)) { |
- LOG(ERROR) << kNoSessionsFolderError; |
+ error->Reset(FROM_HERE, kNoSessionsFolderError, model_type()); |
return false; |
} |
@@ -436,7 +437,9 @@ bool SessionModelAssociator::AssociateModels() { |
sync_api::WriteNode write_node(&trans); |
if (!write_node.InitUniqueByCreation(syncable::SESSIONS, root, |
current_machine_tag_)) { |
- LOG(ERROR) << "Failed to create sessions header sync node."; |
+ error->Reset(FROM_HERE, |
+ "Failed to create sessions header sync node.", |
+ model_type()); |
return false; |
} |
write_node.SetTitle(UTF8ToWide(current_machine_tag_)); |
@@ -452,7 +455,7 @@ bool SessionModelAssociator::AssociateModels() { |
return true; |
} |
-bool SessionModelAssociator::DisassociateModels() { |
+bool SessionModelAssociator::DisassociateModels(SyncError* error) { |
DCHECK(CalledOnValidThread()); |
synced_session_tracker_.clear(); |
tab_map_.clear(); |