autofill_helper.h revision 868fa2fe829687343ffae624259930155e16dbd8
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 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_AUTOFILL_HELPER_H_ 6#define CHROME_BROWSER_SYNC_TEST_INTEGRATION_AUTOFILL_HELPER_H_ 7 8#include <set> 9#include <string> 10#include <vector> 11 12#include "base/compiler_specific.h" 13#include "base/memory/ref_counted.h" 14#include "base/strings/string16.h" 15#include "chrome/browser/sync/test/integration/sync_datatype_helper.h" 16 17namespace autofill { 18class AutofillEntry; 19class AutofillKey; 20class AutofillProfile; 21class AutofillType; 22class AutofillWebDataService; 23class CreditCard; 24class PersonalDataManager; 25} // namespace autofill 26 27namespace autofill_helper { 28 29enum ProfileType { 30 PROFILE_MARION, 31 PROFILE_HOMER, 32 PROFILE_FRASIER, 33 PROFILE_NULL 34}; 35 36// Used to access the web data service within a particular sync profile. 37scoped_refptr<autofill::AutofillWebDataService> GetWebDataService( 38 int index) WARN_UNUSED_RESULT; 39 40// Used to access the personal data manager within a particular sync profile. 41autofill::PersonalDataManager* GetPersonalDataManager( 42 int index) WARN_UNUSED_RESULT; 43 44// Adds the form fields in |keys| to the WebDataService of sync profile 45// |profile|. 46void AddKeys(int profile, const std::set<autofill::AutofillKey>& keys); 47 48// Removes the form field in |key| from the WebDataService of sync profile 49// |profile|. 50void RemoveKey(int profile, const autofill::AutofillKey& key); 51 52// Removes all of the keys from the WebDataService of sync profile |profile|. 53void RemoveKeys(int profile); 54 55// Gets all the form fields in the WebDataService of sync profile |profile|. 56std::set<autofill::AutofillEntry> GetAllKeys(int profile) WARN_UNUSED_RESULT; 57 58// Compares the form fields in the WebDataServices of sync profiles 59// |profile_a| and |profile_b|. Returns true if they match. 60bool KeysMatch(int profile_a, int profile_b) WARN_UNUSED_RESULT; 61 62// Replaces the Autofill profiles in sync profile |profile| with 63// |autofill_profiles|. 64void SetProfiles(int profile, 65 std::vector<autofill::AutofillProfile>* autofill_profiles); 66 67// Replaces the CreditCard profiles in sync profile |profile| with 68// |credit_cards|. 69void SetCreditCards(int profile, 70 std::vector<autofill::CreditCard>* credit_cards); 71 72// Adds the autofill profile |autofill_profile| to sync profile |profile|. 73void AddProfile(int profile, const autofill::AutofillProfile& autofill_profile); 74 75// Removes the autofill profile with guid |guid| from sync profile 76// |profile|. 77void RemoveProfile(int profile, const std::string& guid); 78 79// Updates the autofill profile with guid |guid| in sync profile |profile| 80// to |type| and |value|. 81void UpdateProfile(int profile, 82 const std::string& guid, 83 const autofill::AutofillType& type, 84 const string16& value); 85 86// Gets all the Autofill profiles in the PersonalDataManager of sync profile 87// |profile|. 88const std::vector<autofill::AutofillProfile*>& GetAllProfiles( 89 int profile) WARN_UNUSED_RESULT; 90 91// Returns the number of autofill profiles contained by sync profile 92// |profile|. 93int GetProfileCount(int profile); 94 95// Returns the number of autofill keys contained by sync profile |profile|. 96int GetKeyCount(int profile); 97 98// Compares the Autofill profiles in the PersonalDataManagers of sync profiles 99// |profile_a| and |profile_b|. Returns true if they match. 100bool ProfilesMatch(int profile_a, int profile_b) WARN_UNUSED_RESULT; 101 102// Compares the autofill profiles for all sync profiles, and returns true if 103// they all match. 104bool AllProfilesMatch() WARN_UNUSED_RESULT; 105 106// Creates a test autofill profile based on the persona specified in |type|. 107autofill::AutofillProfile CreateAutofillProfile(ProfileType type); 108 109} // namespace autofill_helper 110 111#endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_AUTOFILL_HELPER_H_ 112