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

Unified Diff: chrome/browser/sync/engine/syncapi.cc

Issue 7550023: [Sync] Add passphrase/encryption info to chrome://sync. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix restart case 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
« no previous file with comments | « chrome/browser/sync/engine/syncapi.h ('k') | chrome/browser/sync/sync_ui_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/sync/engine/syncapi.cc
diff --git a/chrome/browser/sync/engine/syncapi.cc b/chrome/browser/sync/engine/syncapi.cc
index df7e7f510900a85b4c8d31ed7466a1371f06793e..a4e4917eb166b912e2b4ceff4f4e517e6001a68b 100644
--- a/chrome/browser/sync/engine/syncapi.cc
+++ b/chrome/browser/sync/engine/syncapi.cc
@@ -1878,6 +1878,9 @@ bool SyncManager::SyncInternal::UpdateCryptographerFromNigori() {
OnPassphraseRequired(sync_api::REASON_DECRYPTION));
}
+
+ allstatus_.SetCryptographerReady(cryptographer->is_ready());
+
return cryptographer->is_ready();
}
@@ -2120,6 +2123,8 @@ void SyncManager::SyncInternal::EncryptDataTypes(
encrypted_types.begin(), encrypted_types.end(),
std::inserter(newly_encrypted_types,
newly_encrypted_types.begin()));
+ allstatus_.SetEncryptEverything(newly_encrypted_types.size() >
akalin 2011/08/03 19:10:02 Can we instead expose the list of encrypted types?
Nicolas Zea 2011/08/03 22:04:24 Done.
+ newly_encrypted_types.count(syncable::PASSWORDS));
if (newly_encrypted_types == current_encrypted_types)
return; // Set of encrypted types did not change.
syncable::FillNigoriEncryptedTypes(newly_encrypted_types, &nigori);
@@ -2561,19 +2566,29 @@ void SyncManager::SyncInternal::OnSyncEngineEvent(
// yet, prompt the user for a passphrase.
if (cryptographer->has_pending_keys()) {
VLOG(1) << "OnPassPhraseRequired Sent";
+ allstatus_.SetCryptographerReady(false);
akalin 2011/08/03 19:10:02 seems less brittle to, e.g. set cryptographerready
Nicolas Zea 2011/08/03 22:04:24 Done.
ObserverList<SyncManager::Observer> temp_obs_list;
CopyObservers(&temp_obs_list);
FOR_EACH_OBSERVER(SyncManager::Observer, temp_obs_list,
OnPassphraseRequired(sync_api::REASON_DECRYPTION));
} else if (!cryptographer->is_ready() &&
event.snapshot->initial_sync_ended.test(syncable::NIGORI)) {
+ allstatus_.SetCryptographerReady(false);
VLOG(1) << "OnPassphraseRequired sent because cryptographer is not "
<< "ready";
ObserverList<SyncManager::Observer> temp_obs_list;
CopyObservers(&temp_obs_list);
FOR_EACH_OBSERVER(SyncManager::Observer, temp_obs_list,
OnPassphraseRequired(sync_api::REASON_ENCRYPTION));
+ } else {
+ allstatus_.SetCryptographerReady(true);
}
+
+ syncable::ModelTypeSet encrypted_types =
+ cryptographer->GetEncryptedTypes();
+ allstatus_.SetEncryptEverything(encrypted_types.size() >
+ encrypted_types.count(syncable::PASSWORDS));
+
// If everything is in order(we have the passphrase) then there is no
// need to inform the listeners. They will just wait for sync
// completion event and if no errors have been raised it means
« no previous file with comments | « chrome/browser/sync/engine/syncapi.h ('k') | chrome/browser/sync/sync_ui_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698