X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fchrome%2Fbrowser%2Fsync%2Fprofile_sync_service.cc;h=51411f99032ded47d652ace2bd8eef15612e49dd;hb=f5180d0a4dfe13ef74567dc9aa75047c1a9cd6de;hp=3135388b8dad8ae28df88fcd3c09234c5a3eef34;hpb=669bbc0a54393464248e6bac22558cda42a9a350;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/chrome/browser/sync/profile_sync_service.cc b/src/chrome/browser/sync/profile_sync_service.cc index 3135388..51411f9 100644 --- a/src/chrome/browser/sync/profile_sync_service.cc +++ b/src/chrome/browser/sync/profile_sync_service.cc @@ -217,6 +217,7 @@ ProfileSyncService::ProfileSyncService( unrecoverable_error_reason_(ERROR_REASON_UNSET), expect_sync_configuration_aborted_(false), encrypted_types_(syncer::SyncEncryptionHandler::SensitiveTypes()), + encrypt_everything_allowed_(true), encrypt_everything_(false), encryption_pending_(false), configure_status_(DataTypeManager::UNKNOWN), @@ -309,8 +310,6 @@ void ProfileSyncService::Initialize() { TrySyncDatatypePrefRecovery(); - last_synced_time_ = sync_prefs_.GetLastSyncedTime(); - #if defined(OS_CHROMEOS) std::string bootstrap_token = sync_prefs_.GetEncryptionBootstrapToken(); if (bootstrap_token.empty()) { @@ -908,8 +907,7 @@ void ProfileSyncService::SetSyncSetupCompleted() { } void ProfileSyncService::UpdateLastSyncedTime() { - last_synced_time_ = base::Time::Now(); - sync_prefs_.SetLastSyncedTime(last_synced_time_); + sync_prefs_.SetLastSyncedTime(base::Time::Now()); } void ProfileSyncService::NotifyObservers() { @@ -1033,9 +1031,9 @@ void ProfileSyncService::PostBackendInitialization() { ConsumeCachedPassphraseIfPossible(); // The very first time the backend initializes is effectively the first time - // we can say we successfully "synced". last_synced_time_ will only be null - // in this case, because the pref wasn't restored on StartUp. - if (last_synced_time_.is_null()) { + // we can say we successfully "synced". LastSyncedTime will only be null in + // this case, because the pref wasn't restored on StartUp. + if (sync_prefs_.GetLastSyncedTime().is_null()) { UpdateLastSyncedTime(); } @@ -1368,6 +1366,7 @@ void ProfileSyncService::OnEncryptedTypesChanged( bool encrypt_everything) { encrypted_types_ = encrypted_types; encrypt_everything_ = encrypt_everything; + DCHECK(encrypt_everything_allowed_ || !encrypt_everything_); DVLOG(1) << "Encrypted types changed to " << syncer::ModelTypeSetToString(encrypted_types_) << " (encrypt everything is set to " @@ -1704,16 +1703,18 @@ bool ProfileSyncService::IsPassphraseRequiredForDecryption() const { } base::string16 ProfileSyncService::GetLastSyncedTimeString() const { - if (last_synced_time_.is_null()) + const base::Time last_synced_time = sync_prefs_.GetLastSyncedTime(); + if (last_synced_time.is_null()) return l10n_util::GetStringUTF16(IDS_SYNC_TIME_NEVER); - base::TimeDelta last_synced = base::Time::Now() - last_synced_time_; + base::TimeDelta time_since_last_sync = base::Time::Now() - last_synced_time; - if (last_synced < base::TimeDelta::FromMinutes(1)) + if (time_since_last_sync < base::TimeDelta::FromMinutes(1)) return l10n_util::GetStringUTF16(IDS_SYNC_TIME_JUST_NOW); return ui::TimeFormat::Simple(ui::TimeFormat::FORMAT_ELAPSED, - ui::TimeFormat::LENGTH_SHORT, last_synced); + ui::TimeFormat::LENGTH_SHORT, + time_since_last_sync); } void ProfileSyncService::UpdateSelectedTypesHistogram( @@ -2193,7 +2194,18 @@ bool ProfileSyncService::SetDecryptionPassphrase( } } +bool ProfileSyncService::EncryptEverythingAllowed() const { + return encrypt_everything_allowed_; +} + +void ProfileSyncService::SetEncryptEverythingAllowed(bool allowed) { + DCHECK(allowed || !backend_initialized_ || !EncryptEverythingEnabled()); + encrypt_everything_allowed_ = allowed; +} + void ProfileSyncService::EnableEncryptEverything() { + DCHECK(EncryptEverythingAllowed()); + // Tests override sync_initialized() to always return true, so we // must check that instead of |backend_initialized_|. // TODO(akalin): Fix the above. :/ @@ -2673,10 +2685,11 @@ void ProfileSyncService::CheckSyncBackupIfNeeded() { DCHECK_EQ(backend_mode_, SYNC); #if defined(ENABLE_PRE_SYNC_BACKUP) + const base::Time last_synced_time = sync_prefs_.GetLastSyncedTime(); // Check backup once a day. if (!last_backup_time_ && - (last_synced_time_.is_null() || - base::Time::Now() - last_synced_time_ >= + (last_synced_time.is_null() || + base::Time::Now() - last_synced_time >= base::TimeDelta::FromDays(1))) { // If sync thread is set, need to serialize check on sync thread after // closing backup DB.