Index: chrome/browser/sync/profile_sync_service_harness.cc |
diff --git a/chrome/browser/sync/profile_sync_service_harness.cc b/chrome/browser/sync/profile_sync_service_harness.cc |
index d7bdb1c14124f60198b9043c02ff27bbfc7652ed..d4073b6fd814009ec09b0b066e5cd8f2e598a78c 100644 |
--- a/chrome/browser/sync/profile_sync_service_harness.cc |
+++ b/chrome/browser/sync/profile_sync_service_harness.cc |
@@ -337,7 +337,7 @@ bool ProfileSyncServiceHarness::RunStateChangeMachine() { |
// TODO(rlarocque): Figure out a less brittle way of detecting this. |
if (IsTypeEncrypted(waiting_for_encryption_type_) && |
IsFullySynced() && |
- GetLastSessionSnapshot()->num_encryption_conflicts == 0) { |
+ GetLastSessionSnapshot().num_encryption_conflicts() == 0) { |
// Encryption is now complete for the the type in which we were waiting. |
SignalStateCompleteWithNextState(FULLY_SYNCED); |
break; |
@@ -363,10 +363,8 @@ bool ProfileSyncServiceHarness::RunStateChangeMachine() { |
case WAITING_FOR_EXPONENTIAL_BACKOFF_VERIFICATION: { |
DVLOG(1) << GetClientInfoString( |
"WAITING_FOR_EXPONENTIAL_BACKOFF_VERIFICATION"); |
- const browser_sync::sessions::SyncSessionSnapshot *snap = |
- GetLastSessionSnapshot(); |
- CHECK(snap); |
- retry_verifier_.VerifyRetryInterval(*snap); |
+ const SyncSessionSnapshot& snap = GetLastSessionSnapshot(); |
+ retry_verifier_.VerifyRetryInterval(snap); |
if (retry_verifier_.done()) { |
// Retry verifier is done verifying exponential backoff. |
SignalStateCompleteWithNextState(WAITING_FOR_NOTHING); |
@@ -580,10 +578,8 @@ bool ProfileSyncServiceHarness::AwaitSyncDisabled(const std::string& reason) { |
} |
bool ProfileSyncServiceHarness::AwaitExponentialBackoffVerification() { |
- const browser_sync::sessions::SyncSessionSnapshot *snap = |
- GetLastSessionSnapshot(); |
- CHECK(snap); |
- retry_verifier_.Initialize(*snap); |
+ const SyncSessionSnapshot& snap = GetLastSessionSnapshot(); |
+ retry_verifier_.Initialize(snap); |
wait_state_ = WAITING_FOR_EXPONENTIAL_BACKOFF_VERIFICATION; |
AwaitStatusChangeWithTimeout(kExponentialBackoffVerificationTimeoutMs, |
"Verify Exponential backoff"); |
@@ -754,14 +750,13 @@ ProfileSyncService::Status ProfileSyncServiceHarness::GetStatus() { |
// We use this function to share code between IsFullySynced and IsDataSynced |
// while ensuring that all conditions are evaluated using on the same snapshot. |
bool ProfileSyncServiceHarness::IsDataSyncedImpl( |
- const browser_sync::sessions::SyncSessionSnapshot *snap) { |
- return snap && |
- snap->num_simple_conflicts == 0 && |
- ServiceIsPushingChanges() && |
- GetStatus().notifications_enabled && |
- !service()->HasUnsyncedItems() && |
- !snap->has_more_to_sync && |
- !HasPendingBackendMigration(); |
+ const SyncSessionSnapshot& snap) { |
+ return snap.num_simple_conflicts() == 0 && |
+ ServiceIsPushingChanges() && |
+ GetStatus().notifications_enabled && |
+ !service()->HasUnsyncedItems() && |
+ !snap.has_more_to_sync() && |
+ !HasPendingBackendMigration(); |
} |
bool ProfileSyncServiceHarness::IsDataSynced() { |
@@ -770,7 +765,7 @@ bool ProfileSyncServiceHarness::IsDataSynced() { |
return false; |
} |
- const SyncSessionSnapshot* snap = GetLastSessionSnapshot(); |
+ const SyncSessionSnapshot& snap = GetLastSessionSnapshot(); |
bool is_data_synced = IsDataSyncedImpl(snap); |
DVLOG(1) << GetClientInfoString( |
@@ -783,11 +778,11 @@ bool ProfileSyncServiceHarness::IsFullySynced() { |
DVLOG(1) << GetClientInfoString("IsFullySynced: false"); |
return false; |
} |
- const SyncSessionSnapshot* snap = GetLastSessionSnapshot(); |
- // snap->unsynced_count == 0 is a fairly reliable indicator of whether or not |
+ const SyncSessionSnapshot& snap = GetLastSessionSnapshot(); |
+ // snap.unsynced_count() == 0 is a fairly reliable indicator of whether or not |
// our timestamp is in sync with the server. |
bool is_fully_synced = IsDataSyncedImpl(snap) && |
- snap->unsynced_count == 0; |
+ snap.unsynced_count() == 0; |
DVLOG(1) << GetClientInfoString( |
is_fully_synced ? "IsFullySynced: true" : "IsFullySynced: false"); |
@@ -856,13 +851,12 @@ bool ProfileSyncServiceHarness::MatchesOtherClient( |
return true; |
} |
-const SyncSessionSnapshot* |
- ProfileSyncServiceHarness::GetLastSessionSnapshot() const { |
+SyncSessionSnapshot ProfileSyncServiceHarness::GetLastSessionSnapshot() const { |
DCHECK(service_ != NULL) << "Sync service has not yet been set up."; |
if (service_->sync_initialized()) { |
return service_->GetLastSessionSnapshot(); |
} |
- return NULL; |
+ return SyncSessionSnapshot(); |
} |
bool ProfileSyncServiceHarness::EnableSyncForDatatype( |
@@ -975,9 +969,8 @@ bool ProfileSyncServiceHarness::DisableSyncForAllDatatypes() { |
std::string ProfileSyncServiceHarness::GetUpdatedTimestamp( |
syncable::ModelType model_type) { |
- const SyncSessionSnapshot* snap = GetLastSessionSnapshot(); |
- DCHECK(snap != NULL) << "GetUpdatedTimestamp(): Sync snapshot is NULL."; |
- return snap->download_progress_markers[model_type]; |
+ const SyncSessionSnapshot& snap = GetLastSessionSnapshot(); |
+ return snap.download_progress_markers()[model_type]; |
} |
std::string ProfileSyncServiceHarness::GetClientInfoString( |
@@ -985,38 +978,34 @@ std::string ProfileSyncServiceHarness::GetClientInfoString( |
std::stringstream os; |
os << profile_debug_name_ << ": " << message << ": "; |
if (service()) { |
- const SyncSessionSnapshot* snap = GetLastSessionSnapshot(); |
+ const SyncSessionSnapshot& snap = GetLastSessionSnapshot(); |
const ProfileSyncService::Status& status = GetStatus(); |
- if (snap) { |
- // Capture select info from the sync session snapshot and syncer status. |
- os << "has_more_to_sync: " |
- << snap->has_more_to_sync |
- << ", has_unsynced_items: " |
- << service()->HasUnsyncedItems() |
- << ", unsynced_count: " |
- << snap->unsynced_count |
- << ", encryption conflicts: " |
- << snap->num_encryption_conflicts |
- << ", hierarchy conflicts: " |
- << snap->num_hierarchy_conflicts |
- << ", simple conflicts: " |
- << snap->num_simple_conflicts |
- << ", server conflicts: " |
- << snap->num_server_conflicts |
- << ", num_updates_downloaded : " |
- << snap->syncer_status.num_updates_downloaded_total |
- << ", passphrase_required_reason: " |
- << sync_api::PassphraseRequiredReasonToString( |
- service()->passphrase_required_reason()) |
- << ", notifications_enabled: " |
- << status.notifications_enabled |
- << ", service_is_pushing_changes: " |
- << ServiceIsPushingChanges() |
- << ", has_pending_backend_migration: " |
- << HasPendingBackendMigration(); |
- } else { |
- os << "Sync session snapshot not available"; |
- } |
+ // Capture select info from the sync session snapshot and syncer status. |
+ os << "has_more_to_sync: " |
+ << snap.has_more_to_sync() |
+ << ", has_unsynced_items: " |
+ << service()->HasUnsyncedItems() |
+ << ", unsynced_count: " |
+ << snap.unsynced_count() |
+ << ", encryption conflicts: " |
+ << snap.num_encryption_conflicts() |
+ << ", hierarchy conflicts: " |
+ << snap.num_hierarchy_conflicts() |
+ << ", simple conflicts: " |
+ << snap.num_simple_conflicts() |
+ << ", server conflicts: " |
+ << snap.num_server_conflicts() |
+ << ", num_updates_downloaded : " |
+ << snap.syncer_status().num_updates_downloaded_total |
+ << ", passphrase_required_reason: " |
+ << sync_api::PassphraseRequiredReasonToString( |
+ service()->passphrase_required_reason()) |
+ << ", notifications_enabled: " |
+ << status.notifications_enabled |
+ << ", service_is_pushing_changes: " |
+ << ServiceIsPushingChanges() |
+ << ", has_pending_backend_migration: " |
+ << HasPendingBackendMigration(); |
} else { |
os << "Sync service not available"; |
} |
@@ -1052,7 +1041,7 @@ bool ProfileSyncServiceHarness::WaitForTypeEncryption( |
// TODO(rlarocque): Figure out a less brittle way of detecting this. |
if (IsTypeEncrypted(type) && |
IsFullySynced() && |
- GetLastSessionSnapshot()->num_encryption_conflicts == 0) { |
+ GetLastSessionSnapshot().num_encryption_conflicts() == 0) { |
// Encryption is already complete for |type|; do not wait. |
return true; |
} |
@@ -1092,7 +1081,7 @@ bool ProfileSyncServiceHarness::IsTypePreferred(syncable::ModelType type) { |
} |
size_t ProfileSyncServiceHarness::GetNumEntries() const { |
- return GetLastSessionSnapshot()->num_entries; |
+ return GetLastSessionSnapshot().num_entries(); |
} |
size_t ProfileSyncServiceHarness::GetNumDatatypes() const { |