| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include <map> | 5 #include <map> | 
| 6 #include <string> | 6 #include <string> | 
| 7 | 7 | 
| 8 #include "base/bind.h" | 8 #include "base/bind.h" | 
| 9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" | 
| 10 #include "base/callback.h" | 10 #include "base/callback.h" | 
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 149     if (sync_service_) | 149     if (sync_service_) | 
| 150       return false; | 150       return false; | 
| 151 | 151 | 
| 152     SigninManager* signin = SigninManagerFactory::GetForProfile(profile_.get()); | 152     SigninManager* signin = SigninManagerFactory::GetForProfile(profile_.get()); | 
| 153     signin->SetAuthenticatedUsername("test"); | 153     signin->SetAuthenticatedUsername("test"); | 
| 154     sync_service_ = static_cast<TestProfileSyncService*>( | 154     sync_service_ = static_cast<TestProfileSyncService*>( | 
| 155         ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( | 155         ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( | 
| 156             profile_.get(), &TestProfileSyncService::BuildAutoStartAsyncInit)); | 156             profile_.get(), &TestProfileSyncService::BuildAutoStartAsyncInit)); | 
| 157     sync_service_->set_backend_init_callback(callback); | 157     sync_service_->set_backend_init_callback(callback); | 
| 158     pref_sync_service_ = reinterpret_cast<PrefModelAssociator*>( | 158     pref_sync_service_ = reinterpret_cast<PrefModelAssociator*>( | 
| 159         prefs_->GetSyncableService()); | 159         prefs_->GetSyncableService(syncer::PREFERENCES)); | 
| 160     if (!pref_sync_service_) | 160     if (!pref_sync_service_) | 
| 161       return false; | 161       return false; | 
| 162     ProfileSyncComponentsFactoryMock* components = | 162     ProfileSyncComponentsFactoryMock* components = | 
| 163         sync_service_->components_factory_mock(); | 163         sync_service_->components_factory_mock(); | 
| 164     EXPECT_CALL(*components, GetSyncableServiceForType(syncer::PREFERENCES)). | 164     EXPECT_CALL(*components, GetSyncableServiceForType(syncer::PREFERENCES)). | 
| 165         WillOnce(Return(pref_sync_service_->AsWeakPtr())); | 165         WillOnce(Return(pref_sync_service_->AsWeakPtr())); | 
| 166 | 166 | 
| 167     EXPECT_CALL(*components, CreateDataTypeManager(_, _, _, _, _)). | 167     EXPECT_CALL(*components, CreateDataTypeManager(_, _, _, _, _)). | 
| 168         WillOnce(ReturnNewDataTypeManagerWithDebugListener( | 168         WillOnce(ReturnNewDataTypeManagerWithDebugListener( | 
| 169                      syncer::MakeWeakHandle(debug_ptr_factory_.GetWeakPtr()))); | 169                      syncer::MakeWeakHandle(debug_ptr_factory_.GetWeakPtr()))); | 
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 216     const sync_pb::PreferenceSpecifics& specifics( | 216     const sync_pb::PreferenceSpecifics& specifics( | 
| 217         node.GetEntitySpecifics().preference()); | 217         node.GetEntitySpecifics().preference()); | 
| 218 | 218 | 
| 219     return base::JSONReader::Read(specifics.value()); | 219     return base::JSONReader::Read(specifics.value()); | 
| 220   } | 220   } | 
| 221 | 221 | 
| 222   int64 WriteSyncedValue(const std::string& name, | 222   int64 WriteSyncedValue(const std::string& name, | 
| 223                          const Value& value, | 223                          const Value& value, | 
| 224                          syncer::WriteNode* node) { | 224                          syncer::WriteNode* node) { | 
| 225     syncer::SyncData sync_data; | 225     syncer::SyncData sync_data; | 
| 226     if (!PrefModelAssociator::CreatePrefSyncData(name, | 226     if (!pref_sync_service_->CreatePrefSyncData(name, | 
| 227                                                  value, | 227                                                 value, | 
| 228                                                  &sync_data)) { | 228                                                 &sync_data)) { | 
| 229       return syncer::kInvalidId; | 229       return syncer::kInvalidId; | 
| 230     } | 230     } | 
| 231     node->SetEntitySpecifics(sync_data.GetSpecifics()); | 231     node->SetEntitySpecifics(sync_data.GetSpecifics()); | 
| 232     return node->GetId(); | 232     return node->GetId(); | 
| 233   } | 233   } | 
| 234 | 234 | 
| 235   bool IsSynced(const std::string& pref_name) { | 235   bool IsSynced(const std::string& pref_name) { | 
| 236     return pref_sync_service_->registered_preferences().count(pref_name) > 0; | 236     return pref_sync_service_->registered_preferences().count(pref_name) > 0; | 
| 237   } | 237   } | 
| 238 | 238 | 
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 294 | 294 | 
| 295 TEST_F(ProfileSyncServicePreferenceTest, CreatePrefSyncData) { | 295 TEST_F(ProfileSyncServicePreferenceTest, CreatePrefSyncData) { | 
| 296   prefs_->SetString(prefs::kHomePage, example_url0_); | 296   prefs_->SetString(prefs::kHomePage, example_url0_); | 
| 297   CreateRootHelper create_root(this, syncer::PREFERENCES); | 297   CreateRootHelper create_root(this, syncer::PREFERENCES); | 
| 298   ASSERT_TRUE(StartSyncService(create_root.callback(), false)); | 298   ASSERT_TRUE(StartSyncService(create_root.callback(), false)); | 
| 299   ASSERT_TRUE(create_root.success()); | 299   ASSERT_TRUE(create_root.success()); | 
| 300 | 300 | 
| 301   const PrefService::Preference* pref = | 301   const PrefService::Preference* pref = | 
| 302       prefs_->FindPreference(prefs::kHomePage); | 302       prefs_->FindPreference(prefs::kHomePage); | 
| 303   syncer::SyncData sync_data; | 303   syncer::SyncData sync_data; | 
| 304   EXPECT_TRUE(PrefModelAssociator::CreatePrefSyncData(pref->name(), | 304   EXPECT_TRUE(pref_sync_service_->CreatePrefSyncData(pref->name(), | 
| 305       *pref->GetValue(), &sync_data)); | 305       *pref->GetValue(), &sync_data)); | 
| 306   EXPECT_EQ(std::string(prefs::kHomePage), sync_data.GetTag()); | 306   EXPECT_EQ(std::string(prefs::kHomePage), sync_data.GetTag()); | 
| 307   const sync_pb::PreferenceSpecifics& specifics(sync_data.GetSpecifics(). | 307   const sync_pb::PreferenceSpecifics& specifics(sync_data.GetSpecifics(). | 
| 308       preference()); | 308       preference()); | 
| 309   EXPECT_EQ(std::string(prefs::kHomePage), specifics.name()); | 309   EXPECT_EQ(std::string(prefs::kHomePage), specifics.name()); | 
| 310 | 310 | 
| 311   scoped_ptr<Value> value(base::JSONReader::Read(specifics.value())); | 311   scoped_ptr<Value> value(base::JSONReader::Read(specifics.value())); | 
| 312   EXPECT_TRUE(pref->GetValue()->Equals(value.get())); | 312   EXPECT_TRUE(pref->GetValue()->Equals(value.get())); | 
| 313 } | 313 } | 
| 314 | 314 | 
| (...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 588 | 588 | 
| 589 TEST_F(ProfileSyncServicePreferenceTest, DynamicManagedPreferences) { | 589 TEST_F(ProfileSyncServicePreferenceTest, DynamicManagedPreferences) { | 
| 590   CreateRootHelper create_root(this, syncer::PREFERENCES); | 590   CreateRootHelper create_root(this, syncer::PREFERENCES); | 
| 591   ASSERT_TRUE(StartSyncService(create_root.callback(), false)); | 591   ASSERT_TRUE(StartSyncService(create_root.callback(), false)); | 
| 592   ASSERT_TRUE(create_root.success()); | 592   ASSERT_TRUE(create_root.success()); | 
| 593 | 593 | 
| 594   scoped_ptr<Value> initial_value( | 594   scoped_ptr<Value> initial_value( | 
| 595       Value::CreateStringValue("http://example.com/initial")); | 595       Value::CreateStringValue("http://example.com/initial")); | 
| 596   profile_->GetPrefs()->Set(prefs::kHomePage, *initial_value); | 596   profile_->GetPrefs()->Set(prefs::kHomePage, *initial_value); | 
| 597   scoped_ptr<const Value> actual(GetSyncedValue(prefs::kHomePage)); | 597   scoped_ptr<const Value> actual(GetSyncedValue(prefs::kHomePage)); | 
|  | 598   ASSERT_TRUE(actual.get()); | 
| 598   EXPECT_TRUE(initial_value->Equals(actual.get())); | 599   EXPECT_TRUE(initial_value->Equals(actual.get())); | 
| 599 | 600 | 
| 600   // Switch kHomePage to managed and set a different value. | 601   // Switch kHomePage to managed and set a different value. | 
| 601   scoped_ptr<Value> managed_value( | 602   scoped_ptr<Value> managed_value( | 
| 602       Value::CreateStringValue("http://example.com/managed")); | 603       Value::CreateStringValue("http://example.com/managed")); | 
| 603   profile_->GetTestingPrefService()->SetManagedPref( | 604   profile_->GetTestingPrefService()->SetManagedPref( | 
| 604       prefs::kHomePage, managed_value->DeepCopy()); | 605       prefs::kHomePage, managed_value->DeepCopy()); | 
| 605 | 606 | 
| 606   // The pref value should be the one dictated by policy. | 607   // The pref value should be the one dictated by policy. | 
| 607   EXPECT_TRUE(managed_value->Equals(&GetPreferenceValue(prefs::kHomePage))); | 608   EXPECT_TRUE(managed_value->Equals(&GetPreferenceValue(prefs::kHomePage))); | 
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 675   EXPECT_FALSE(pref->IsDefaultValue()); | 676   EXPECT_FALSE(pref->IsDefaultValue()); | 
| 676   // There should be no synced value. | 677   // There should be no synced value. | 
| 677   EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL); | 678   EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL); | 
| 678   // Switch kHomePage back to unmanaged. | 679   // Switch kHomePage back to unmanaged. | 
| 679   profile_->GetTestingPrefService()->RemoveManagedPref(prefs::kHomePage); | 680   profile_->GetTestingPrefService()->RemoveManagedPref(prefs::kHomePage); | 
| 680   // The original value should be picked up. | 681   // The original value should be picked up. | 
| 681   EXPECT_TRUE(pref->IsDefaultValue()); | 682   EXPECT_TRUE(pref->IsDefaultValue()); | 
| 682   // There should still be no synced value. | 683   // There should still be no synced value. | 
| 683   EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL); | 684   EXPECT_TRUE(GetSyncedValue(prefs::kHomePage) == NULL); | 
| 684 } | 685 } | 
| OLD | NEW | 
|---|