Index: sync/internal_api/sync_manager.cc |
diff --git a/sync/internal_api/sync_manager.cc b/sync/internal_api/sync_manager.cc |
index d7d8c8afdde2054bd3d35c92edb6bf635fe75805..06f0417084783a3f90c951879f57948dfa14034e 100644 |
--- a/sync/internal_api/sync_manager.cc |
+++ b/sync/internal_api/sync_manager.cc |
@@ -53,6 +53,7 @@ |
#include "sync/syncable/syncable.h" |
#include "sync/util/cryptographer.h" |
#include "sync/util/get_session_name.h" |
+#include "sync/util/sync_experiments.h" |
#include "sync/util/time.h" |
using base::TimeDelta; |
@@ -2478,7 +2479,7 @@ syncable::ModelTypeSet SyncManager::GetEncryptedDataTypesForTest() const { |
return GetEncryptedTypes(&trans); |
} |
-bool SyncManager::ReceivedExperimentalTypes(syncable::ModelTypeSet* to_add) |
+bool SyncManager::ReceivedExperiment(browser_sync::SyncExperiments* experiments) |
const { |
ReadTransaction trans(FROM_HERE, GetUserShare()); |
ReadNode node(&trans); |
@@ -2486,11 +2487,16 @@ bool SyncManager::ReceivedExperimentalTypes(syncable::ModelTypeSet* to_add) |
DVLOG(1) << "Couldn't find Nigori node."; |
return false; |
} |
+ bool found_experiment = false; |
if (node.GetNigoriSpecifics().sync_tabs()) { |
- to_add->Put(syncable::SESSIONS); |
- return true; |
+ experiments->sync_tabs = true; |
+ found_experiment = true; |
+ } |
+ if (node.GetNigoriSpecifics().sync_tab_favicons()) { |
+ experiments->sync_tab_favicons = true; |
+ found_experiment = true; |
} |
- return false; |
+ return found_experiment; |
} |
bool SyncManager::HasUnsyncedItems() const { |