1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file. 4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#ifndef CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_FACTORY_TEST_UTIL_H_ 6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#define CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_FACTORY_TEST_UTIL_H_ 7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include <string> 9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/basictypes.h" 11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 12116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass TemplateURLService; 13116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass TestingProfile; 14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// TemplateURLServiceFactoryTestUtil initializes TemplateURLServiceFactory to 16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// return a valid TemplateURLService instance for the given profile. 17116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass TemplateURLServiceFactoryTestUtil { 18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch public: 19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch explicit TemplateURLServiceFactoryTestUtil(TestingProfile* profile); 20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual ~TemplateURLServiceFactoryTestUtil(); 21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // Makes sure the load was successful. 23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch void VerifyLoad(); 24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // Set the managed preferences for the default search provider and trigger 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // notification. If |alternate_url| is empty, uses an empty list of alternate 27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // URLs, otherwise use a list containing a single entry. 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch void SetManagedDefaultSearchPreferences( 29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch bool enabled, 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& name, 31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& keyword, 32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& search_url, 33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& suggest_url, 34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& icon_url, 35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& encodings, 36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& alternate_url, 37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const std::string& search_terms_replacement_key); 38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // Remove all the managed preferences for the default search provider and 40116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // trigger notification. 41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch void RemoveManagedDefaultSearchPreferences(); 42116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 43116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // Returns the TemplateURLService. 44116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TemplateURLService* model() const; 45116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 46116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private: 47116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch TestingProfile* profile_; 48116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 49116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch DISALLOW_COPY_AND_ASSIGN(TemplateURLServiceFactoryTestUtil); 50116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}; 51116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 52116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#endif // CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_FACTORY_TEST_UTIL_H_ 53