| 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 "components/browser_sync/profile_sync_service.h" | 5 #include "components/browser_sync/profile_sync_service.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 DCHECK(!configure_called_.is_null()); | 66 DCHECK(!configure_called_.is_null()); |
| 67 configure_called_.Run(reason); | 67 configure_called_.Run(reason); |
| 68 } | 68 } |
| 69 | 69 |
| 70 void ReenableType(syncer::ModelType type) override {} | 70 void ReenableType(syncer::ModelType type) override {} |
| 71 void ResetDataTypeErrors() override {} | 71 void ResetDataTypeErrors() override {} |
| 72 void PurgeForMigration(syncer::ModelTypeSet undesired_types, | 72 void PurgeForMigration(syncer::ModelTypeSet undesired_types, |
| 73 syncer::ConfigureReason reason) override {} | 73 syncer::ConfigureReason reason) override {} |
| 74 void Stop() override{}; | 74 void Stop() override{}; |
| 75 ModelTypeSet GetActiveDataTypes() const override { return ModelTypeSet(); } | 75 ModelTypeSet GetActiveDataTypes() const override { return ModelTypeSet(); } |
| 76 bool IsNigoriEnabled() const override { return true; } |
| 76 State state() const override { return syncer::DataTypeManager::CONFIGURED; } | 77 State state() const override { return syncer::DataTypeManager::CONFIGURED; } |
| 77 | 78 |
| 78 private: | 79 private: |
| 79 ConfigureCalled configure_called_; | 80 ConfigureCalled configure_called_; |
| 80 }; | 81 }; |
| 81 | 82 |
| 82 ACTION_P(ReturnNewDataTypeManager, configure_called) { | 83 ACTION_P(ReturnNewDataTypeManager, configure_called) { |
| 83 return new FakeDataTypeManager(configure_called); | 84 return new FakeDataTypeManager(configure_called); |
| 84 } | 85 } |
| 85 | 86 |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 syncer::SyncPrefs sync_prefs(prefs()); | 244 syncer::SyncPrefs sync_prefs(prefs()); |
| 244 sync_prefs.SetFirstSyncTime(base::Time::Now()); | 245 sync_prefs.SetFirstSyncTime(base::Time::Now()); |
| 245 sync_prefs.SetFirstSetupComplete(); | 246 sync_prefs.SetFirstSetupComplete(); |
| 246 sync_prefs.SetKeepEverythingSynced(true); | 247 sync_prefs.SetKeepEverythingSynced(true); |
| 247 service_->Initialize(); | 248 service_->Initialize(); |
| 248 } | 249 } |
| 249 | 250 |
| 250 void InitializeForFirstSync() { service_->Initialize(); } | 251 void InitializeForFirstSync() { service_->Initialize(); } |
| 251 | 252 |
| 252 void TriggerPassphraseRequired() { | 253 void TriggerPassphraseRequired() { |
| 253 service_->OnPassphraseRequired(syncer::REASON_DECRYPTION, | 254 service_->GetEncryptionObserverForTest()->OnPassphraseRequired( |
| 254 sync_pb::EncryptedData()); | 255 syncer::REASON_DECRYPTION, sync_pb::EncryptedData()); |
| 255 } | 256 } |
| 256 | 257 |
| 257 void TriggerDataTypeStartRequest() { | 258 void TriggerDataTypeStartRequest() { |
| 258 service_->OnDataTypeRequestsSyncStartup(syncer::BOOKMARKS); | 259 service_->OnDataTypeRequestsSyncStartup(syncer::BOOKMARKS); |
| 259 } | 260 } |
| 260 | 261 |
| 261 void OnConfigureCalled(syncer::ConfigureReason configure_reason) { | 262 void OnConfigureCalled(syncer::ConfigureReason configure_reason) { |
| 262 syncer::DataTypeManager::ConfigureResult result; | 263 syncer::DataTypeManager::ConfigureResult result; |
| 263 result.status = syncer::DataTypeManager::OK; | 264 result.status = syncer::DataTypeManager::OK; |
| 264 if (configure_reason == syncer::CONFIGURE_REASON_CATCH_UP) | 265 if (configure_reason == syncer::CONFIGURE_REASON_CATCH_UP) |
| (...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 726 testing::Mock::VerifyAndClearExpectations(component_factory()); | 727 testing::Mock::VerifyAndClearExpectations(component_factory()); |
| 727 EXPECT_EQ(syncer::CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE, configure_reason); | 728 EXPECT_EQ(syncer::CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE, configure_reason); |
| 728 syncer::DataTypeManager::ConfigureResult result; | 729 syncer::DataTypeManager::ConfigureResult result; |
| 729 result.status = syncer::DataTypeManager::OK; | 730 result.status = syncer::DataTypeManager::OK; |
| 730 service()->OnConfigureDone(result); | 731 service()->OnConfigureDone(result); |
| 731 | 732 |
| 732 // Simulate user entering encryption passphrase. Ensure that catch up | 733 // Simulate user entering encryption passphrase. Ensure that catch up |
| 733 // configure cycle is started (DTM::Configure is called with | 734 // configure cycle is started (DTM::Configure is called with |
| 734 // CONFIGURE_REASON_CATCH_UP). | 735 // CONFIGURE_REASON_CATCH_UP). |
| 735 const syncer::SyncEncryptionHandler::NigoriState nigori_state; | 736 const syncer::SyncEncryptionHandler::NigoriState nigori_state; |
| 736 service()->OnLocalSetPassphraseEncryption(nigori_state); | 737 service()->GetEncryptionObserverForTest()->OnLocalSetPassphraseEncryption( |
| 738 nigori_state); |
| 737 EXPECT_EQ(syncer::CONFIGURE_REASON_CATCH_UP, configure_reason); | 739 EXPECT_EQ(syncer::CONFIGURE_REASON_CATCH_UP, configure_reason); |
| 738 EXPECT_TRUE(captured_callback.is_null()); | 740 EXPECT_TRUE(captured_callback.is_null()); |
| 739 | 741 |
| 740 // Simulate configure successful. Ensure that SBH::ClearServerData is called. | 742 // Simulate configure successful. Ensure that SBH::ClearServerData is called. |
| 741 result.was_catch_up_configure = true; | 743 result.was_catch_up_configure = true; |
| 742 service()->OnConfigureDone(result); | 744 service()->OnConfigureDone(result); |
| 743 result.was_catch_up_configure = false; | 745 result.was_catch_up_configure = false; |
| 744 EXPECT_FALSE(captured_callback.is_null()); | 746 EXPECT_FALSE(captured_callback.is_null()); |
| 745 | 747 |
| 746 // Once SBH::ClearServerData finishes successfully ensure that sync is | 748 // Once SBH::ClearServerData finishes successfully ensure that sync is |
| (...skipping 24 matching lines...) Expand all Loading... |
| 771 InitializeForNthSync(); | 773 InitializeForNthSync(); |
| 772 testing::Mock::VerifyAndClearExpectations(component_factory()); | 774 testing::Mock::VerifyAndClearExpectations(component_factory()); |
| 773 EXPECT_EQ(syncer::CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE, configure_reason); | 775 EXPECT_EQ(syncer::CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE, configure_reason); |
| 774 syncer::DataTypeManager::ConfigureResult result; | 776 syncer::DataTypeManager::ConfigureResult result; |
| 775 result.status = syncer::DataTypeManager::OK; | 777 result.status = syncer::DataTypeManager::OK; |
| 776 service()->OnConfigureDone(result); | 778 service()->OnConfigureDone(result); |
| 777 | 779 |
| 778 // Simulate user entering encryption passphrase. Ensure Configure was called | 780 // Simulate user entering encryption passphrase. Ensure Configure was called |
| 779 // but don't let it continue. | 781 // but don't let it continue. |
| 780 const syncer::SyncEncryptionHandler::NigoriState nigori_state; | 782 const syncer::SyncEncryptionHandler::NigoriState nigori_state; |
| 781 service()->OnLocalSetPassphraseEncryption(nigori_state); | 783 service()->GetEncryptionObserverForTest()->OnLocalSetPassphraseEncryption( |
| 784 nigori_state); |
| 782 EXPECT_EQ(syncer::CONFIGURE_REASON_CATCH_UP, configure_reason); | 785 EXPECT_EQ(syncer::CONFIGURE_REASON_CATCH_UP, configure_reason); |
| 783 | 786 |
| 784 // Simulate browser restart. First configuration is a regular one. | 787 // Simulate browser restart. First configuration is a regular one. |
| 785 service()->Shutdown(); | 788 service()->Shutdown(); |
| 786 syncer::SyncManager::ClearServerDataCallback captured_callback; | 789 syncer::SyncManager::ClearServerDataCallback captured_callback; |
| 787 ExpectSyncEngineCreationCaptureClearServerData(&captured_callback); | 790 ExpectSyncEngineCreationCaptureClearServerData(&captured_callback); |
| 788 ExpectDataTypeManagerCreation( | 791 ExpectDataTypeManagerCreation( |
| 789 1, GetRecordingConfigureCalledCallback(&configure_reason)); | 792 1, GetRecordingConfigureCalledCallback(&configure_reason)); |
| 790 service()->RequestStart(); | 793 service()->RequestStart(); |
| 791 testing::Mock::VerifyAndClearExpectations(component_factory()); | 794 testing::Mock::VerifyAndClearExpectations(component_factory()); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 823 switches::kSyncClearDataOnPassphraseEncryption); | 826 switches::kSyncClearDataOnPassphraseEncryption); |
| 824 IssueTestTokens(); | 827 IssueTestTokens(); |
| 825 CreateService(ProfileSyncService::AUTO_START); | 828 CreateService(ProfileSyncService::AUTO_START); |
| 826 ExpectSyncEngineCreationCaptureClearServerData(&captured_callback); | 829 ExpectSyncEngineCreationCaptureClearServerData(&captured_callback); |
| 827 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); | 830 ExpectDataTypeManagerCreation(1, GetDefaultConfigureCalledCallback()); |
| 828 InitializeForNthSync(); | 831 InitializeForNthSync(); |
| 829 testing::Mock::VerifyAndClearExpectations(component_factory()); | 832 testing::Mock::VerifyAndClearExpectations(component_factory()); |
| 830 | 833 |
| 831 // Simulate user entering encryption passphrase. | 834 // Simulate user entering encryption passphrase. |
| 832 const syncer::SyncEncryptionHandler::NigoriState nigori_state; | 835 const syncer::SyncEncryptionHandler::NigoriState nigori_state; |
| 833 service()->OnLocalSetPassphraseEncryption(nigori_state); | 836 service()->GetEncryptionObserverForTest()->OnLocalSetPassphraseEncryption( |
| 837 nigori_state); |
| 834 EXPECT_FALSE(captured_callback.is_null()); | 838 EXPECT_FALSE(captured_callback.is_null()); |
| 835 captured_callback.Reset(); | 839 captured_callback.Reset(); |
| 836 | 840 |
| 837 // Simulate browser restart. First configuration is a regular one. | 841 // Simulate browser restart. First configuration is a regular one. |
| 838 service()->Shutdown(); | 842 service()->Shutdown(); |
| 839 ExpectSyncEngineCreationCaptureClearServerData(&captured_callback); | 843 ExpectSyncEngineCreationCaptureClearServerData(&captured_callback); |
| 840 ExpectDataTypeManagerCreation( | 844 ExpectDataTypeManagerCreation( |
| 841 1, GetRecordingConfigureCalledCallback(&configure_reason)); | 845 1, GetRecordingConfigureCalledCallback(&configure_reason)); |
| 842 service()->RequestStart(); | 846 service()->RequestStart(); |
| 843 testing::Mock::VerifyAndClearExpectations(component_factory()); | 847 testing::Mock::VerifyAndClearExpectations(component_factory()); |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 965 // Progress the controller to RUNNING first, which is how the service | 969 // Progress the controller to RUNNING first, which is how the service |
| 966 // determines whether a type is enabled. | 970 // determines whether a type is enabled. |
| 967 controller->StartAssociating(base::Bind(&DoNothing)); | 971 controller->StartAssociating(base::Bind(&DoNothing)); |
| 968 controller->FinishStart(DataTypeController::OK_FIRST_RUN); | 972 controller->FinishStart(DataTypeController::OK_FIRST_RUN); |
| 969 service()->RegisterDataTypeController(std::move(controller)); | 973 service()->RegisterDataTypeController(std::move(controller)); |
| 970 EXPECT_NE(nullptr, service()->GetOpenTabsUIDelegate()); | 974 EXPECT_NE(nullptr, service()->GetOpenTabsUIDelegate()); |
| 971 } | 975 } |
| 972 | 976 |
| 973 } // namespace | 977 } // namespace |
| 974 } // namespace browser_sync | 978 } // namespace browser_sync |
| OLD | NEW |