Index: chrome/browser/sync/glue/session_change_processor.cc |
diff --git a/chrome/browser/sync/glue/session_change_processor.cc b/chrome/browser/sync/glue/session_change_processor.cc |
index 8823af0664cbaa1001a9413617826f0d287bf798..e15b770f1e104e50cd99f7c9260487bf4a770e29 100644 |
--- a/chrome/browser/sync/glue/session_change_processor.cc |
+++ b/chrome/browser/sync/glue/session_change_processor.cc |
@@ -10,8 +10,10 @@ |
#include "base/logging.h" |
#include "base/scoped_vector.h" |
+#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/sync/engine/syncapi.h" |
#include "chrome/browser/sync/glue/session_model_associator.h" |
+#include "chrome/browser/sync/profile_sync_service.h" |
#include "chrome/browser/tab_contents/navigation_controller.h" |
#include "chrome/browser/tab_contents/tab_contents.h" |
#include "chrome/common/notification_details.h" |
@@ -183,6 +185,15 @@ void SessionChangeProcessor::ApplyChangesFromSyncModel( |
const sync_pb::SessionSpecifics& specifics( |
sync_node.GetSessionSpecifics()); |
+ if (specifics.session_tag() == |
+ session_model_associator_->GetCurrentMachineTag() && |
+ profile_->GetProfileSyncService()->cros_user() != "test user") { |
tim (not reviewing)
2011/02/11 06:52:31
hmm... there's got to be a better way...
Nicolas Zea
2011/02/14 21:18:41
Done.
|
+ // We should only ever receive a change to our own machine's session info |
+ // if encryption was turned on. In that case, the data is still the same, |
+ // so we can ignore. |
+ LOG(WARNING) << "Dropping modification to local session."; |
+ return; |
+ } |
const int64 mtime = sync_node.GetModificationTime(); |
// Model associator handles foreign session update and add the same. |
session_model_associator_->AssociateForeignSpecifics(specifics, mtime); |