Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(999)

Side by Side Diff: chrome/browser/sync/profile_sync_service_autofill_unittest.cc

Issue 9460047: sync: remove use of protobuf extensions in protocol to reduce static init overhead. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fred's review Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 <set> 5 #include <set>
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 444
445 sync_api::WriteNode node(&trans); 445 sync_api::WriteNode node(&trans);
446 std::string tag = AutocompleteSyncableService::KeyToTag( 446 std::string tag = AutocompleteSyncableService::KeyToTag(
447 UTF16ToUTF8(entry.key().name()), UTF16ToUTF8(entry.key().value())); 447 UTF16ToUTF8(entry.key().name()), UTF16ToUTF8(entry.key().value()));
448 if (!node.InitUniqueByCreation(syncable::AUTOFILL, autofill_root, tag)) 448 if (!node.InitUniqueByCreation(syncable::AUTOFILL, autofill_root, tag))
449 return false; 449 return false;
450 450
451 sync_pb::EntitySpecifics specifics; 451 sync_pb::EntitySpecifics specifics;
452 AutocompleteSyncableService::WriteAutofillEntry(entry, &specifics); 452 AutocompleteSyncableService::WriteAutofillEntry(entry, &specifics);
453 sync_pb::AutofillSpecifics* autofill_specifics = 453 sync_pb::AutofillSpecifics* autofill_specifics =
454 specifics.MutableExtension(sync_pb::autofill); 454 specifics.mutable_autofill();
455 node.SetAutofillSpecifics(*autofill_specifics); 455 node.SetAutofillSpecifics(*autofill_specifics);
456 return true; 456 return true;
457 } 457 }
458 458
459 bool AddAutofillSyncNode(const AutofillProfile& profile) { 459 bool AddAutofillSyncNode(const AutofillProfile& profile) {
460 sync_api::WriteTransaction trans(FROM_HERE, service_->GetUserShare()); 460 sync_api::WriteTransaction trans(FROM_HERE, service_->GetUserShare());
461 sync_api::ReadNode autofill_root(&trans); 461 sync_api::ReadNode autofill_root(&trans);
462 if (!autofill_root.InitByTagLookup(kAutofillProfileTag)) 462 if (!autofill_root.InitByTagLookup(kAutofillProfileTag))
463 return false; 463 return false;
464 sync_api::WriteNode node(&trans); 464 sync_api::WriteNode node(&trans);
465 std::string tag = profile.guid(); 465 std::string tag = profile.guid();
466 if (!node.InitUniqueByCreation(syncable::AUTOFILL_PROFILE, 466 if (!node.InitUniqueByCreation(syncable::AUTOFILL_PROFILE,
467 autofill_root, tag)) 467 autofill_root, tag))
468 return false; 468 return false;
469 sync_pb::EntitySpecifics specifics; 469 sync_pb::EntitySpecifics specifics;
470 AutofillProfileSyncableService::WriteAutofillProfile(profile, &specifics); 470 AutofillProfileSyncableService::WriteAutofillProfile(profile, &specifics);
471 sync_pb::AutofillProfileSpecifics* profile_specifics = 471 sync_pb::AutofillProfileSpecifics* profile_specifics =
472 specifics.MutableExtension(sync_pb::autofill_profile); 472 specifics.mutable_autofill_profile();
473 node.SetAutofillProfileSpecifics(*profile_specifics); 473 node.SetAutofillProfileSpecifics(*profile_specifics);
474 return true; 474 return true;
475 } 475 }
476 476
477 bool GetAutofillEntriesFromSyncDB(std::vector<AutofillEntry>* entries, 477 bool GetAutofillEntriesFromSyncDB(std::vector<AutofillEntry>* entries,
478 std::vector<AutofillProfile>* profiles) { 478 std::vector<AutofillProfile>* profiles) {
479 sync_api::ReadTransaction trans(FROM_HERE, service_->GetUserShare()); 479 sync_api::ReadTransaction trans(FROM_HERE, service_->GetUserShare());
480 sync_api::ReadNode autofill_root(&trans); 480 sync_api::ReadNode autofill_root(&trans);
481 if (!autofill_root.InitByTagLookup( 481 if (!autofill_root.InitByTagLookup(
482 syncable::ModelTypeToRootTag(syncable::AUTOFILL))) 482 syncable::ModelTypeToRootTag(syncable::AUTOFILL)))
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
653 sync_pb::AutofillSpecifics new_autofill; 653 sync_pb::AutofillSpecifics new_autofill;
654 new_autofill.set_name(UTF16ToUTF8(entry_.key().name())); 654 new_autofill.set_name(UTF16ToUTF8(entry_.key().name()));
655 new_autofill.set_value(UTF16ToUTF8(entry_.key().value())); 655 new_autofill.set_value(UTF16ToUTF8(entry_.key().value()));
656 const std::vector<base::Time>& ts(entry_.timestamps()); 656 const std::vector<base::Time>& ts(entry_.timestamps());
657 for (std::vector<base::Time>::const_iterator timestamp = ts.begin(); 657 for (std::vector<base::Time>::const_iterator timestamp = ts.begin();
658 timestamp != ts.end(); ++timestamp) { 658 timestamp != ts.end(); ++timestamp) {
659 new_autofill.add_usage_timestamp(timestamp->ToInternalValue()); 659 new_autofill.add_usage_timestamp(timestamp->ToInternalValue());
660 } 660 }
661 661
662 sync_pb::EntitySpecifics entity_specifics; 662 sync_pb::EntitySpecifics entity_specifics;
663 entity_specifics.MutableExtension(sync_pb::autofill)-> 663 entity_specifics.mutable_autofill()->CopyFrom(new_autofill);
664 CopyFrom(new_autofill);
665 664
666 { 665 {
667 // Tell main thread we've started 666 // Tell main thread we've started
668 (*wait_for_start_)->Signal(); 667 (*wait_for_start_)->Signal();
669 668
670 // Create write transaction. 669 // Create write transaction.
671 WriteTransactionTest trans(FROM_HERE, UNITTEST, directory, 670 WriteTransactionTest trans(FROM_HERE, UNITTEST, directory,
672 wait_for_syncapi_); 671 wait_for_syncapi_);
673 672
674 // Create actual entry based on autofill protobuf information. 673 // Create actual entry based on autofill protobuf information.
(...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after
1229 std::vector<AutofillEntry> sync_entries; 1228 std::vector<AutofillEntry> sync_entries;
1230 std::vector<AutofillProfile> sync_profiles; 1229 std::vector<AutofillProfile> sync_profiles;
1231 ASSERT_TRUE(GetAutofillEntriesFromSyncDB(&sync_entries, &sync_profiles)); 1230 ASSERT_TRUE(GetAutofillEntriesFromSyncDB(&sync_entries, &sync_profiles));
1232 EXPECT_EQ(3U, sync_entries.size()); 1231 EXPECT_EQ(3U, sync_entries.size());
1233 EXPECT_EQ(0U, sync_profiles.size()); 1232 EXPECT_EQ(0U, sync_profiles.size());
1234 for (size_t i = 0; i < sync_entries.size(); i++) { 1233 for (size_t i = 0; i < sync_entries.size(); i++) {
1235 DVLOG(1) << "Entry " << i << ": " << sync_entries[i].key().name() 1234 DVLOG(1) << "Entry " << i << ": " << sync_entries[i].key().name()
1236 << ", " << sync_entries[i].key().value(); 1235 << ", " << sync_entries[i].key().value();
1237 } 1236 }
1238 } 1237 }
OLDNEW
« no previous file with comments | « chrome/browser/sync/internal_api/write_node.cc ('k') | chrome/browser/sync/profile_sync_service_preference_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698