Index: chrome/browser/sync/engine/syncapi.cc |
diff --git a/chrome/browser/sync/engine/syncapi.cc b/chrome/browser/sync/engine/syncapi.cc |
index 1012bf7b5b02d1aa979280a2bf7967bd985a1d6c..e0a1d415a623c7e1355f086a832b89ef7a3511eb 100644 |
--- a/chrome/browser/sync/engine/syncapi.cc |
+++ b/chrome/browser/sync/engine/syncapi.cc |
@@ -1508,8 +1508,18 @@ void SyncManager::SyncInternal::SetPassphrase( |
// passphrase get applied as soon as possible. |
sync_manager_->RequestNudge(); |
} else { |
+ WriteTransaction trans(GetUserShare()); |
+ WriteNode node(&trans); |
+ if (!node.InitByTagLookup(kNigoriTag)) { |
+ // TODO(albertb): Plumb an UnrecoverableError all the way back to the PSS. |
+ NOTREACHED(); |
+ return; |
+ } |
cryptographer->AddKey(params); |
- // TODO(albertb): Update the Nigori node on the server with the new keys. |
+ |
+ sync_pb::NigoriSpecifics specifics; |
+ cryptographer->GetKeys(specifics.mutable_encrypted()); |
+ node.SetNigoriSpecifics(specifics); |
} |
observer_->OnPassphraseAccepted(); |
} |