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

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

Issue 7453014: [Sync] Refactor sync datatype error handling. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 9 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 side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698