| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/sync_sessions/sessions_sync_manager.h" | 5 #include "components/sync_sessions/sessions_sync_manager.h" | 
| 6 | 6 | 
| 7 #include <stdint.h> | 7 #include <stdint.h> | 
| 8 | 8 | 
| 9 #include <utility> | 9 #include <utility> | 
| 10 | 10 | 
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 181     local_change_observers_.AddObserver(observer); | 181     local_change_observers_.AddObserver(observer); | 
| 182   } | 182   } | 
| 183   void RemoveLocalChangeObserver( | 183   void RemoveLocalChangeObserver( | 
| 184       syncer::LocalChangeObserver* observer) override { | 184       syncer::LocalChangeObserver* observer) override { | 
| 185     local_change_observers_.RemoveObserver(observer); | 185     local_change_observers_.RemoveObserver(observer); | 
| 186   } | 186   } | 
| 187 | 187 | 
| 188   void NotifyLocalChangeObservers() { | 188   void NotifyLocalChangeObservers() { | 
| 189     const syncer::SyncChange empty_change; | 189     const syncer::SyncChange empty_change; | 
| 190     for (syncer::LocalChangeObserver& observer : local_change_observers_) | 190     for (syncer::LocalChangeObserver& observer : local_change_observers_) | 
| 191       observer.OnLocalChange(NULL, empty_change); | 191       observer.OnLocalChange(nullptr, empty_change); | 
| 192   } | 192   } | 
| 193 | 193 | 
| 194   void FailProcessSyncChangesWith(const syncer::SyncError& error) { | 194   void FailProcessSyncChangesWith(const syncer::SyncError& error) { | 
| 195     error_ = error; | 195     error_ = error; | 
| 196   } | 196   } | 
| 197 | 197 | 
| 198   void SetSyncDataToReturn(const syncer::SyncDataList& data) { | 198   void SetSyncDataToReturn(const syncer::SyncDataList& data) { | 
| 199     sync_data_to_return_ = data; | 199     sync_data_to_return_ = data; | 
| 200   } | 200   } | 
| 201 | 201 | 
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 301  private: | 301  private: | 
| 302   SyncSessionsClient* const sync_sessions_client_; | 302   SyncSessionsClient* const sync_sessions_client_; | 
| 303   SyncedWindowDelegatesGetter* synced_window_getter_; | 303   SyncedWindowDelegatesGetter* synced_window_getter_; | 
| 304 }; | 304 }; | 
| 305 | 305 | 
| 306 }  // namespace | 306 }  // namespace | 
| 307 | 307 | 
| 308 class SessionsSyncManagerTest | 308 class SessionsSyncManagerTest | 
| 309     : public BrowserWithTestWindowTest { | 309     : public BrowserWithTestWindowTest { | 
| 310  protected: | 310  protected: | 
| 311   SessionsSyncManagerTest() | 311   SessionsSyncManagerTest() : test_processor_(nullptr) { | 
| 312       : test_processor_(NULL) { |  | 
| 313     local_device_ = base::MakeUnique<LocalDeviceInfoProviderMock>( | 312     local_device_ = base::MakeUnique<LocalDeviceInfoProviderMock>( | 
| 314         "cache_guid", "Wayne Gretzky's Hacking Box", "Chromium 10k", | 313         "cache_guid", "Wayne Gretzky's Hacking Box", "Chromium 10k", | 
| 315         "Chrome 10k", sync_pb::SyncEnums_DeviceType_TYPE_LINUX, "device_id"); | 314         "Chrome 10k", sync_pb::SyncEnums_DeviceType_TYPE_LINUX, "device_id"); | 
| 316   } | 315   } | 
| 317 | 316 | 
| 318   void SetUp() override { | 317   void SetUp() override { | 
| 319     BrowserWithTestWindowTest::SetUp(); | 318     BrowserWithTestWindowTest::SetUp(); | 
| 320     sync_client_ = base::MakeUnique<browser_sync::ChromeSyncClient>(profile()); | 319     sync_client_ = base::MakeUnique<browser_sync::ChromeSyncClient>(profile()); | 
| 321     sessions_client_shim_ = base::MakeUnique<SyncSessionsClientShim>( | 320     sessions_client_shim_ = base::MakeUnique<SyncSessionsClientShim>( | 
| 322         sync_client_->GetSyncSessionsClient()); | 321         sync_client_->GetSyncSessionsClient()); | 
| 323     NotificationServiceSessionsRouter* router( | 322     NotificationServiceSessionsRouter* router( | 
| 324         new NotificationServiceSessionsRouter( | 323         new NotificationServiceSessionsRouter( | 
| 325             profile(), GetSyncSessionsClient(), | 324             profile(), GetSyncSessionsClient(), | 
| 326             syncer::SyncableService::StartSyncFlare())); | 325             syncer::SyncableService::StartSyncFlare())); | 
| 327     sync_prefs_ = base::MakeUnique<syncer::SyncPrefs>(profile()->GetPrefs()); | 326     sync_prefs_ = base::MakeUnique<syncer::SyncPrefs>(profile()->GetPrefs()); | 
| 328     manager_ = base::MakeUnique<SessionsSyncManager>( | 327     manager_ = base::MakeUnique<SessionsSyncManager>( | 
| 329         GetSyncSessionsClient(), sync_prefs_.get(), local_device_.get(), | 328         GetSyncSessionsClient(), sync_prefs_.get(), local_device_.get(), | 
| 330         std::unique_ptr<LocalSessionEventRouter>(router), | 329         std::unique_ptr<LocalSessionEventRouter>(router), | 
| 331         base::Bind(&SessionNotificationObserver::NotifyOfUpdate, | 330         base::Bind(&SessionNotificationObserver::NotifyOfUpdate, | 
| 332                    base::Unretained(&observer_)), | 331                    base::Unretained(&observer_)), | 
| 333         base::Bind(&SessionNotificationObserver::NotifyOfRefresh, | 332         base::Bind(&SessionNotificationObserver::NotifyOfRefresh, | 
| 334                    base::Unretained(&observer_))); | 333                    base::Unretained(&observer_))); | 
| 335   } | 334   } | 
| 336 | 335 | 
| 337   void TearDown() override { | 336   void TearDown() override { | 
| 338     test_processor_ = NULL; | 337     test_processor_ = nullptr; | 
| 339     helper()->Reset(); | 338     helper()->Reset(); | 
| 340     sync_prefs_.reset(); | 339     sync_prefs_.reset(); | 
| 341     manager_.reset(); | 340     manager_.reset(); | 
| 342     BrowserWithTestWindowTest::TearDown(); | 341     BrowserWithTestWindowTest::TearDown(); | 
| 343   } | 342   } | 
| 344 | 343 | 
| 345   const DeviceInfo* GetLocalDeviceInfo() { | 344   const DeviceInfo* GetLocalDeviceInfo() { | 
| 346     return local_device_->GetLocalDeviceInfo(); | 345     return local_device_->GetLocalDeviceInfo(); | 
| 347   } | 346   } | 
| 348 | 347 | 
| 349   SessionsSyncManager* manager() { return manager_.get(); } | 348   SessionsSyncManager* manager() { return manager_.get(); } | 
| 350   SessionSyncTestHelper* helper() { return &helper_; } | 349   SessionSyncTestHelper* helper() { return &helper_; } | 
| 351   LocalDeviceInfoProvider* local_device() { return local_device_.get(); } | 350   LocalDeviceInfoProvider* local_device() { return local_device_.get(); } | 
| 352   SessionNotificationObserver* observer() { return &observer_; } | 351   SessionNotificationObserver* observer() { return &observer_; } | 
| 353 | 352 | 
| 354   void InitWithSyncDataTakeOutput(const syncer::SyncDataList& initial_data, | 353   void InitWithSyncDataTakeOutput(const syncer::SyncDataList& initial_data, | 
| 355                                   syncer::SyncChangeList* output) { | 354                                   syncer::SyncChangeList* output) { | 
| 356     test_processor_ = new TestSyncProcessorStub(output); | 355     test_processor_ = new TestSyncProcessorStub(output); | 
| 357     syncer::SyncMergeResult result = manager_->MergeDataAndStartSyncing( | 356     syncer::SyncMergeResult result = manager_->MergeDataAndStartSyncing( | 
| 358         syncer::SESSIONS, initial_data, | 357         syncer::SESSIONS, initial_data, | 
| 359         std::unique_ptr<syncer::SyncChangeProcessor>(test_processor_), | 358         std::unique_ptr<syncer::SyncChangeProcessor>(test_processor_), | 
| 360         std::unique_ptr<syncer::SyncErrorFactory>( | 359         std::unique_ptr<syncer::SyncErrorFactory>( | 
| 361             new syncer::SyncErrorFactoryMock())); | 360             new syncer::SyncErrorFactoryMock())); | 
| 362     EXPECT_FALSE(result.error().IsSet()); | 361     EXPECT_FALSE(result.error().IsSet()); | 
| 363   } | 362   } | 
| 364 | 363 | 
| 365   void InitWithNoSyncData() { | 364   void InitWithNoSyncData() { | 
| 366     InitWithSyncDataTakeOutput(syncer::SyncDataList(), NULL); | 365     InitWithSyncDataTakeOutput(syncer::SyncDataList(), nullptr); | 
| 367   } | 366   } | 
| 368 | 367 | 
| 369   void TriggerProcessSyncChangesError() { | 368   void TriggerProcessSyncChangesError() { | 
| 370     test_processor_->FailProcessSyncChangesWith(syncer::SyncError( | 369     test_processor_->FailProcessSyncChangesWith(syncer::SyncError( | 
| 371         FROM_HERE, syncer::SyncError::DATATYPE_ERROR, "Error", | 370         FROM_HERE, syncer::SyncError::DATATYPE_ERROR, "Error", | 
| 372         syncer::SESSIONS)); | 371         syncer::SESSIONS)); | 
| 373   } | 372   } | 
| 374 | 373 | 
| 375   void SetSyncData(const syncer::SyncDataList& data) { | 374   void SetSyncData(const syncer::SyncDataList& data) { | 
| 376      test_processor_->SetSyncDataToReturn(data); | 375      test_processor_->SetSyncDataToReturn(data); | 
| (...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 811 } | 810 } | 
| 812 | 811 | 
| 813 // Tests that variation ids are set correctly. | 812 // Tests that variation ids are set correctly. | 
| 814 TEST_F(SessionsSyncManagerTest, SetVariationIds) { | 813 TEST_F(SessionsSyncManagerTest, SetVariationIds) { | 
| 815   // Create two trials with a group which has a variation id for Chrome Sync | 814   // Create two trials with a group which has a variation id for Chrome Sync | 
| 816   // and one with a variation id for another service. | 815   // and one with a variation id for another service. | 
| 817   const variations::VariationID kVariationId1 = 3300200; | 816   const variations::VariationID kVariationId1 = 3300200; | 
| 818   const variations::VariationID kVariationId2 = 3300300; | 817   const variations::VariationID kVariationId2 = 3300300; | 
| 819   const variations::VariationID kVariationId3 = 3300400; | 818   const variations::VariationID kVariationId3 = 3300400; | 
| 820 | 819 | 
| 821   base::FieldTrialList field_trial_list(NULL); | 820   base::FieldTrialList field_trial_list(nullptr); | 
| 822   CreateAndActivateFieldTrial("trial name 1", "group name", kVariationId1, | 821   CreateAndActivateFieldTrial("trial name 1", "group name", kVariationId1, | 
| 823                               variations::CHROME_SYNC_SERVICE); | 822                               variations::CHROME_SYNC_SERVICE); | 
| 824   CreateAndActivateFieldTrial("trial name 2", "group name", kVariationId2, | 823   CreateAndActivateFieldTrial("trial name 2", "group name", kVariationId2, | 
| 825                               variations::CHROME_SYNC_SERVICE); | 824                               variations::CHROME_SYNC_SERVICE); | 
| 826   CreateAndActivateFieldTrial("trial name 3", "group name", kVariationId3, | 825   CreateAndActivateFieldTrial("trial name 3", "group name", kVariationId3, | 
| 827                               variations::GOOGLE_UPDATE_SERVICE); | 826                               variations::GOOGLE_UPDATE_SERVICE); | 
| 828 | 827 | 
| 829   sessions::SessionTab session_tab; | 828   sessions::SessionTab session_tab; | 
| 830   manager()->SetVariationIds(&session_tab); | 829   manager()->SetVariationIds(&session_tab); | 
| 831 | 830 | 
| (...skipping 1772 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2604   base::Time last_time; | 2603   base::Time last_time; | 
| 2605   for (size_t i = 0; i < tabs.size(); ++i) { | 2604   for (size_t i = 0; i < tabs.size(); ++i) { | 
| 2606     base::Time this_time = tabs[i]->timestamp; | 2605     base::Time this_time = tabs[i]->timestamp; | 
| 2607     if (i > 0) | 2606     if (i > 0) | 
| 2608       ASSERT_GE(last_time, this_time); | 2607       ASSERT_GE(last_time, this_time); | 
| 2609     last_time = tabs[i]->timestamp; | 2608     last_time = tabs[i]->timestamp; | 
| 2610   } | 2609   } | 
| 2611 } | 2610 } | 
| 2612 | 2611 | 
| 2613 }  // namespace sync_sessions | 2612 }  // namespace sync_sessions | 
| OLD | NEW | 
|---|