OLD | NEW |
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 #ifndef CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_H_ | 5 #ifndef CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_H_ |
6 #define CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_H_ | 6 #define CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <map> | 9 #include <map> |
10 #include <set> | 10 #include <set> |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 // This is guaranteed not to return an empty string, since TemplateURLs should | 117 // This is guaranteed not to return an empty string, since TemplateURLs should |
118 // never have an empty keyword. | 118 // never have an empty keyword. |
119 static base::string16 GenerateKeyword(const GURL& url); | 119 static base::string16 GenerateKeyword(const GURL& url); |
120 | 120 |
121 // Removes any unnecessary characters from a user input keyword. | 121 // Removes any unnecessary characters from a user input keyword. |
122 // This removes the leading scheme, "www." and any trailing slash. | 122 // This removes the leading scheme, "www." and any trailing slash. |
123 static base::string16 CleanUserInputKeyword(const base::string16& keyword); | 123 static base::string16 CleanUserInputKeyword(const base::string16& keyword); |
124 | 124 |
125 // Returns the search url for t_url. Returns an empty GURL if t_url has no | 125 // Returns the search url for t_url. Returns an empty GURL if t_url has no |
126 // url(). | 126 // url(). |
127 // NOTE: |t_url| is non-const in this version because of the need to access | 127 static GURL GenerateSearchURL(const TemplateURL* t_url, |
128 // t_url->profile(). | 128 const SearchTermsData& search_terms_data); |
129 static GURL GenerateSearchURL(TemplateURL* t_url); | |
130 | |
131 // Just like GenerateSearchURL except that it takes SearchTermsData to supply | |
132 // the data for some search terms, e.g. so this can be used on threads other | |
133 // than the UI thread. See the various TemplateURLRef::XXXUsingTermsData() | |
134 // functions. | |
135 static GURL GenerateSearchURLUsingTermsData( | |
136 const TemplateURL* t_url, | |
137 const SearchTermsData& search_terms_data); | |
138 | 129 |
139 // Saves enough of url to |prefs| so that it can be loaded from preferences on | 130 // Saves enough of url to |prefs| so that it can be loaded from preferences on |
140 // start up. | 131 // start up. |
141 static void SaveDefaultSearchProviderToPrefs(const TemplateURL* url, | 132 static void SaveDefaultSearchProviderToPrefs(const TemplateURL* url, |
142 PrefService* prefs); | 133 PrefService* prefs); |
143 | 134 |
144 // Returns true if there is no TemplateURL that conflicts with the | 135 // Returns true if there is no TemplateURL that conflicts with the |
145 // keyword/url pair, or there is one but it can be replaced. If there is an | 136 // keyword/url pair, or there is one but it can be replaced. If there is an |
146 // existing keyword that can be replaced and template_url_to_replace is | 137 // existing keyword that can be replaced and template_url_to_replace is |
147 // non-NULL, template_url_to_replace is set to the keyword to replace. | 138 // non-NULL, template_url_to_replace is set to the keyword to replace. |
(...skipping 26 matching lines...) Expand all Loading... |
174 // or NULL if there are no such TemplateURLs | 165 // or NULL if there are no such TemplateURLs |
175 TemplateURL* GetTemplateURLForHost(const std::string& host); | 166 TemplateURL* GetTemplateURLForHost(const std::string& host); |
176 | 167 |
177 // Takes ownership of |template_url| and adds it to this model. For obvious | 168 // Takes ownership of |template_url| and adds it to this model. For obvious |
178 // reasons, it is illegal to Add() the same |template_url| pointer twice. | 169 // reasons, it is illegal to Add() the same |template_url| pointer twice. |
179 // Returns true if the Add is successful. | 170 // Returns true if the Add is successful. |
180 bool Add(TemplateURL* template_url); | 171 bool Add(TemplateURL* template_url); |
181 | 172 |
182 // Like Add(), but overwrites the |template_url|'s values with the provided | 173 // Like Add(), but overwrites the |template_url|'s values with the provided |
183 // ones. | 174 // ones. |
184 void AddAndSetProfile(TemplateURL* template_url, Profile* profile); | |
185 void AddWithOverrides(TemplateURL* template_url, | 175 void AddWithOverrides(TemplateURL* template_url, |
186 const base::string16& short_name, | 176 const base::string16& short_name, |
187 const base::string16& keyword, | 177 const base::string16& keyword, |
188 const std::string& url); | 178 const std::string& url); |
189 | 179 |
190 // Add the search engine of type NORMAL_CONTROLLED_BY_EXTENSION. | 180 // Add the search engine of type NORMAL_CONTROLLED_BY_EXTENSION. |
191 void AddExtensionControlledTURL(TemplateURL* template_url, | 181 void AddExtensionControlledTURL(TemplateURL* template_url, |
192 scoped_ptr<AssociatedExtensionInfo> info); | 182 scoped_ptr<AssociatedExtensionInfo> info); |
193 | 183 |
194 // Removes the keyword from the model. This deletes the supplied TemplateURL. | 184 // Removes the keyword from the model. This deletes the supplied TemplateURL. |
(...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
795 | 785 |
796 scoped_ptr<GoogleURLTracker::Subscription> google_url_updated_subscription_; | 786 scoped_ptr<GoogleURLTracker::Subscription> google_url_updated_subscription_; |
797 | 787 |
798 // Used to disable the prepopulated search engines in tests. | 788 // Used to disable the prepopulated search engines in tests. |
799 static bool g_fallback_search_engines_disabled; | 789 static bool g_fallback_search_engines_disabled; |
800 | 790 |
801 DISALLOW_COPY_AND_ASSIGN(TemplateURLService); | 791 DISALLOW_COPY_AND_ASSIGN(TemplateURLService); |
802 }; | 792 }; |
803 | 793 |
804 #endif // CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_H_ | 794 #endif // CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_H_ |
OLD | NEW |