OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 ui_thread_(ui_thread) {} | 189 ui_thread_(ui_thread) {} |
190 | 190 |
191 ~MockAutofillBackend() override {} | 191 ~MockAutofillBackend() override {} |
192 WebDatabase* GetDatabase() override { return web_database_; } | 192 WebDatabase* GetDatabase() override { return web_database_; } |
193 void AddObserver( | 193 void AddObserver( |
194 autofill::AutofillWebDataServiceObserverOnDBThread* observer) override {} | 194 autofill::AutofillWebDataServiceObserverOnDBThread* observer) override {} |
195 void RemoveObserver( | 195 void RemoveObserver( |
196 autofill::AutofillWebDataServiceObserverOnDBThread* observer) override {} | 196 autofill::AutofillWebDataServiceObserverOnDBThread* observer) override {} |
197 void RemoveExpiredFormElements() override {} | 197 void RemoveExpiredFormElements() override {} |
198 void NotifyOfMultipleAutofillChanges() override { | 198 void NotifyOfMultipleAutofillChanges() override { |
199 DCHECK(!ui_thread_->RunsTasksOnCurrentThread()); | 199 DCHECK(!ui_thread_->RunsTasksInCurrentSequence()); |
200 ui_thread_->PostTask(FROM_HERE, on_changed_); | 200 ui_thread_->PostTask(FROM_HERE, on_changed_); |
201 } | 201 } |
202 void NotifyThatSyncHasStarted(syncer::ModelType model_type) override { | 202 void NotifyThatSyncHasStarted(syncer::ModelType model_type) override { |
203 DCHECK(!ui_thread_->RunsTasksOnCurrentThread()); | 203 DCHECK(!ui_thread_->RunsTasksInCurrentSequence()); |
204 ui_thread_->PostTask(FROM_HERE, base::Bind(on_sync_started_, model_type)); | 204 ui_thread_->PostTask(FROM_HERE, base::Bind(on_sync_started_, model_type)); |
205 } | 205 } |
206 | 206 |
207 private: | 207 private: |
208 WebDatabase* web_database_; | 208 WebDatabase* web_database_; |
209 base::Closure on_changed_; | 209 base::Closure on_changed_; |
210 base::Callback<void(syncer::ModelType)> on_sync_started_; | 210 base::Callback<void(syncer::ModelType)> on_sync_started_; |
211 const scoped_refptr<base::SequencedTaskRunner> ui_thread_; | 211 const scoped_refptr<base::SequencedTaskRunner> ui_thread_; |
212 }; | 212 }; |
213 | 213 |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
325 base::Bind(&RunAndSignal, notify_cb, &event)); | 325 base::Bind(&RunAndSignal, notify_cb, &event)); |
326 event.Wait(); | 326 event.Wait(); |
327 } | 327 } |
328 | 328 |
329 private: | 329 private: |
330 ~WebDataServiceFake() override {} | 330 ~WebDataServiceFake() override {} |
331 | 331 |
332 void CreateSyncableService( | 332 void CreateSyncableService( |
333 const base::Closure& on_changed_callback, | 333 const base::Closure& on_changed_callback, |
334 const base::Callback<void(syncer::ModelType)>& on_sync_started) { | 334 const base::Callback<void(syncer::ModelType)>& on_sync_started) { |
335 ASSERT_TRUE(db_thread_->RunsTasksOnCurrentThread()); | 335 ASSERT_TRUE(db_thread_->RunsTasksInCurrentSequence()); |
336 // These services are deleted in DestroySyncableService(). | 336 // These services are deleted in DestroySyncableService(). |
337 backend_ = base::MakeUnique<MockAutofillBackend>( | 337 backend_ = base::MakeUnique<MockAutofillBackend>( |
338 GetDatabase(), on_changed_callback, on_sync_started, ui_thread_.get()); | 338 GetDatabase(), on_changed_callback, on_sync_started, ui_thread_.get()); |
339 AutocompleteSyncableService::CreateForWebDataServiceAndBackend( | 339 AutocompleteSyncableService::CreateForWebDataServiceAndBackend( |
340 this, backend_.get()); | 340 this, backend_.get()); |
341 AutofillProfileSyncableService::CreateForWebDataServiceAndBackend( | 341 AutofillProfileSyncableService::CreateForWebDataServiceAndBackend( |
342 this, backend_.get(), "en-US"); | 342 this, backend_.get(), "en-US"); |
343 | 343 |
344 autocomplete_syncable_service_ = | 344 autocomplete_syncable_service_ = |
345 AutocompleteSyncableService::FromWebDataService(this); | 345 AutocompleteSyncableService::FromWebDataService(this); |
346 autofill_profile_syncable_service_ = | 346 autofill_profile_syncable_service_ = |
347 AutofillProfileSyncableService::FromWebDataService(this); | 347 AutofillProfileSyncableService::FromWebDataService(this); |
348 | 348 |
349 syncable_service_created_or_destroyed_.Signal(); | 349 syncable_service_created_or_destroyed_.Signal(); |
350 } | 350 } |
351 | 351 |
352 void DestroySyncableService() { | 352 void DestroySyncableService() { |
353 ASSERT_TRUE(db_thread_->RunsTasksOnCurrentThread()); | 353 ASSERT_TRUE(db_thread_->RunsTasksInCurrentSequence()); |
354 autocomplete_syncable_service_ = nullptr; | 354 autocomplete_syncable_service_ = nullptr; |
355 autofill_profile_syncable_service_ = nullptr; | 355 autofill_profile_syncable_service_ = nullptr; |
356 backend_.reset(); | 356 backend_.reset(); |
357 syncable_service_created_or_destroyed_.Signal(); | 357 syncable_service_created_or_destroyed_.Signal(); |
358 } | 358 } |
359 | 359 |
360 WebDatabase* web_database_; | 360 WebDatabase* web_database_; |
361 AutocompleteSyncableService* autocomplete_syncable_service_; | 361 AutocompleteSyncableService* autocomplete_syncable_service_; |
362 AutofillProfileSyncableService* autofill_profile_syncable_service_; | 362 AutofillProfileSyncableService* autofill_profile_syncable_service_; |
363 std::unique_ptr<autofill::AutofillWebDataBackend> backend_; | 363 std::unique_ptr<autofill::AutofillWebDataBackend> backend_; |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
733 : entry_(MakeAutofillEntry("0", "0", 0)), | 733 : entry_(MakeAutofillEntry("0", "0", 0)), |
734 service_(service), | 734 service_(service), |
735 wait_for_start_(wait_for_start), | 735 wait_for_start_(wait_for_start), |
736 wait_for_syncapi_(wait_for_syncapi), | 736 wait_for_syncapi_(wait_for_syncapi), |
737 is_finished_(base::WaitableEvent::ResetPolicy::AUTOMATIC, | 737 is_finished_(base::WaitableEvent::ResetPolicy::AUTOMATIC, |
738 base::WaitableEvent::InitialState::NOT_SIGNALED), | 738 base::WaitableEvent::InitialState::NOT_SIGNALED), |
739 db_thread_(db_thread) {} | 739 db_thread_(db_thread) {} |
740 | 740 |
741 void Update() { | 741 void Update() { |
742 // This gets called in a modelsafeworker thread. | 742 // This gets called in a modelsafeworker thread. |
743 ASSERT_TRUE(db_thread_->RunsTasksOnCurrentThread()); | 743 ASSERT_TRUE(db_thread_->RunsTasksInCurrentSequence()); |
744 | 744 |
745 syncer::UserShare* user_share = service_->GetUserShare(); | 745 syncer::UserShare* user_share = service_->GetUserShare(); |
746 syncer::syncable::Directory* directory = user_share->directory.get(); | 746 syncer::syncable::Directory* directory = user_share->directory.get(); |
747 | 747 |
748 // Create autofill protobuf. | 748 // Create autofill protobuf. |
749 std::string tag = AutocompleteSyncableService::KeyToTag( | 749 std::string tag = AutocompleteSyncableService::KeyToTag( |
750 base::UTF16ToUTF8(entry_.key().name()), | 750 base::UTF16ToUTF8(entry_.key().name()), |
751 base::UTF16ToUTF8(entry_.key().value())); | 751 base::UTF16ToUTF8(entry_.key().value())); |
752 sync_pb::AutofillSpecifics new_autofill; | 752 sync_pb::AutofillSpecifics new_autofill; |
753 new_autofill.set_name(base::UTF16ToUTF8(entry_.key().name())); | 753 new_autofill.set_name(base::UTF16ToUTF8(entry_.key().name())); |
(...skipping 28 matching lines...) Expand all Loading... |
782 item.PutId(server_item_id); | 782 item.PutId(server_item_id); |
783 syncer::syncable::Id new_predecessor; | 783 syncer::syncable::Id new_predecessor; |
784 ASSERT_TRUE(item.PutPredecessor(new_predecessor)); | 784 ASSERT_TRUE(item.PutPredecessor(new_predecessor)); |
785 } | 785 } |
786 DVLOG(1) << "FakeServerUpdater finishing."; | 786 DVLOG(1) << "FakeServerUpdater finishing."; |
787 is_finished_.Signal(); | 787 is_finished_.Signal(); |
788 } | 788 } |
789 | 789 |
790 void CreateNewEntry(const AutofillEntry& entry) { | 790 void CreateNewEntry(const AutofillEntry& entry) { |
791 entry_ = entry; | 791 entry_ = entry; |
792 ASSERT_FALSE(db_thread_->RunsTasksOnCurrentThread()); | 792 ASSERT_FALSE(db_thread_->RunsTasksInCurrentSequence()); |
793 if (!db_thread_->PostTask(FROM_HERE, | 793 if (!db_thread_->PostTask(FROM_HERE, |
794 base::Bind(&FakeServerUpdater::Update, this))) { | 794 base::Bind(&FakeServerUpdater::Update, this))) { |
795 NOTREACHED() << "Failed to post task to the db thread."; | 795 NOTREACHED() << "Failed to post task to the db thread."; |
796 return; | 796 return; |
797 } | 797 } |
798 } | 798 } |
799 | 799 |
800 void WaitForUpdateCompletion() { is_finished_.Wait(); } | 800 void WaitForUpdateCompletion() { is_finished_.Wait(); } |
801 | 801 |
802 private: | 802 private: |
(...skipping 750 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1553 ASSERT_TRUE(GetAutofillEntriesFromSyncDB(&sync_entries, &sync_profiles)); | 1553 ASSERT_TRUE(GetAutofillEntriesFromSyncDB(&sync_entries, &sync_profiles)); |
1554 EXPECT_EQ(3U, sync_entries.size()); | 1554 EXPECT_EQ(3U, sync_entries.size()); |
1555 EXPECT_EQ(0U, sync_profiles.size()); | 1555 EXPECT_EQ(0U, sync_profiles.size()); |
1556 for (size_t i = 0; i < sync_entries.size(); i++) { | 1556 for (size_t i = 0; i < sync_entries.size(); i++) { |
1557 DVLOG(1) << "Entry " << i << ": " << sync_entries[i].key().name() << ", " | 1557 DVLOG(1) << "Entry " << i << ": " << sync_entries[i].key().name() << ", " |
1558 << sync_entries[i].key().value(); | 1558 << sync_entries[i].key().value(); |
1559 } | 1559 } |
1560 } | 1560 } |
1561 | 1561 |
1562 } // namespace browser_sync | 1562 } // namespace browser_sync |
OLD | NEW |