// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_SEARCH_ENGINES_UTIL_H_ #define CHROME_BROWSER_SEARCH_ENGINES_UTIL_H_ #pragma once // This file contains utility functions for search engine functionality. #include #include "base/string16.h" class PrefService; class Profile; class TemplateURL; class WDTypedResult; class WebDataService; // Returns the short name of the default search engine, or the empty string if // none is set. |profile| may be NULL. string16 GetDefaultSearchEngineName(Profile* profile); // Processes the results of WebDataService::GetKeywords, combining it with // prepopulated search providers to result in: // * a set of template_urls (search providers). The caller owns the // TemplateURL* returned in template_urls. // * the default search provider (and if *default_search_provider is not NULL, // it is contained in template_urls). // * whether there is a new resource keyword version (and the value). // |*new_resource_keyword_version| is set to 0 if no new value. Otherwise, // it is the new value. // Only pass in a non-NULL value for service if the WebDataService should be // updated. void GetSearchProvidersUsingKeywordResult( const WDTypedResult& result, WebDataService* service, PrefService* prefs, std::vector* template_urls, const TemplateURL** default_search_provider, int* new_resource_keyword_version); #endif // CHROME_BROWSER_SEARCH_ENGINES_UTIL_H_