Home | History | Annotate | Download | only in integration
      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_SEARCH_ENGINES_HELPER_H_
      6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_SEARCH_ENGINES_HELPER_H_
      7 
      8 #include <map>
      9 #include <string>
     10 
     11 #include "base/strings/string16.h"
     12 
     13 class Profile;
     14 class TemplateURL;
     15 class TemplateURLService;
     16 
     17 typedef std::map<std::string, const TemplateURL*> GUIDToTURLMap;
     18 
     19 namespace search_engines_helper {
     20 
     21 // Used to access the search engines within a particular sync profile.
     22 TemplateURLService* GetServiceForBrowserContext(int profile_index);
     23 
     24 // Used to access the search engines within the verifier sync profile.
     25 TemplateURLService* GetVerifierService();
     26 
     27 // Compared a single TemplateURLService for a given profile to the verifier.
     28 // Retrns true iff their user-visible fields match.
     29 bool ServiceMatchesVerifier(int profile_index);
     30 
     31 // Returns true iff all TemplateURLServices match with the verifier.
     32 bool AllServicesMatch();
     33 
     34 // Create a TemplateURL with some test values based on |seed|. The caller owns
     35 // the returned TemplateURL*.
     36 TemplateURL* CreateTestTemplateURL(Profile* profile,
     37                                    int seed,
     38                                    const string16& keyword,
     39                                    const std::string& sync_guid);
     40 TemplateURL* CreateTestTemplateURL(Profile* profile,
     41                                    int seed,
     42                                    const string16& keyword,
     43                                    const std::string& url,
     44                                    const std::string& sync_guid);
     45 
     46 // Add a search engine based on a seed to the service at index |profile_index|
     47 // and the verifier if it is used.
     48 void AddSearchEngine(int profile_index, int seed);
     49 
     50 // Retrieves a search engine from the service at index |profile_index| with
     51 // original keyword |keyword| and changes its user-visible fields. Does the same
     52 // to the verifier, if it is used.
     53 void EditSearchEngine(int profile_index,
     54                       const string16& keyword,
     55                       const string16& short_name,
     56                       const string16& new_keyword,
     57                       const std::string& url);
     58 
     59 // Deletes a search engine from the service at index |profile_index| which was
     60 // generated by seed |seed|.
     61 void DeleteSearchEngineBySeed(int profile_index, int seed);
     62 
     63 // Change the search engine generated with |seed| in service at index
     64 // |profile_index| to be the new default. Does the same to the verifier, if it
     65 // is used.
     66 void ChangeDefaultSearchProvider(int profile_index, int seed);
     67 
     68 }  // namespace search_engines_helper
     69 
     70 #endif  // CHROME_BROWSER_SYNC_TEST_INTEGRATION_SEARCH_ENGINES_HELPER_H_
     71