| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 COMPONENTS_SEARCH_ENGINES_UTIL_H_ | 5 #ifndef COMPONENTS_SEARCH_ENGINES_UTIL_H_ |
| 6 #define COMPONENTS_SEARCH_ENGINES_UTIL_H_ | 6 #define COMPONENTS_SEARCH_ENGINES_UTIL_H_ |
| 7 | 7 |
| 8 // This file contains utility functions for search engine functionality. | 8 // This file contains utility functions for search engine functionality. |
| 9 |
| 9 #include <memory> | 10 #include <memory> |
| 10 #include <set> | 11 #include <set> |
| 11 #include <string> | 12 #include <string> |
| 12 #include <vector> | 13 #include <vector> |
| 13 | 14 |
| 14 #include "base/strings/string16.h" | 15 #include "base/strings/string16.h" |
| 15 #include "components/search_engines/template_url_service.h" | 16 #include "components/search_engines/template_url_service.h" |
| 16 | 17 |
| 17 template <typename T> | |
| 18 class ScopedVector; | |
| 19 | |
| 20 class KeywordWebDataService; | 18 class KeywordWebDataService; |
| 21 class PrefService; | 19 class PrefService; |
| 22 class TemplateURL; | 20 class TemplateURL; |
| 23 class WDTypedResult; | 21 class WDTypedResult; |
| 24 | 22 |
| 25 // Returns the short name of the default search engine, or the empty string if | 23 // Returns the short name of the default search engine, or the empty string if |
| 26 // none is set. | 24 // none is set. |
| 27 base::string16 GetDefaultSearchEngineName(TemplateURLService* service); | 25 base::string16 GetDefaultSearchEngineName(TemplateURLService* service); |
| 28 | 26 |
| 29 // Returns a GURL that searches for |terms| using the default search engine of | 27 // Returns a GURL that searches for |terms| using the default search engine of |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 std::vector<TemplateURLData> added_engines; | 68 std::vector<TemplateURLData> added_engines; |
| 71 }; | 69 }; |
| 72 | 70 |
| 73 // Given the user's current URLs and the current set of prepopulated URLs, | 71 // Given the user's current URLs and the current set of prepopulated URLs, |
| 74 // produces the set of actions (see above) required to make the user's URLs | 72 // produces the set of actions (see above) required to make the user's URLs |
| 75 // reflect the prepopulate data. |default_search_provider| is used to avoid | 73 // reflect the prepopulate data. |default_search_provider| is used to avoid |
| 76 // placing the current default provider on the "to be removed" list. | 74 // placing the current default provider on the "to be removed" list. |
| 77 // | 75 // |
| 78 // NOTE: Takes ownership of, and clears, |prepopulated_urls|. | 76 // NOTE: Takes ownership of, and clears, |prepopulated_urls|. |
| 79 ActionsFromPrepopulateData CreateActionsFromCurrentPrepopulateData( | 77 ActionsFromPrepopulateData CreateActionsFromCurrentPrepopulateData( |
| 80 ScopedVector<TemplateURLData>* prepopulated_urls, | 78 std::vector<std::unique_ptr<TemplateURLData>>* prepopulated_urls, |
| 81 const TemplateURLService::OwnedTemplateURLVector& existing_urls, | 79 const TemplateURLService::OwnedTemplateURLVector& existing_urls, |
| 82 const TemplateURL* default_search_provider); | 80 const TemplateURL* default_search_provider); |
| 83 | 81 |
| 84 // Processes the results of KeywordWebDataService::GetKeywords, combining it | 82 // Processes the results of KeywordWebDataService::GetKeywords, combining it |
| 85 // with prepopulated search providers to result in: | 83 // with prepopulated search providers to result in: |
| 86 // * a set of template_urls (search providers). The caller owns the | 84 // * a set of template_urls (search providers). The caller owns the |
| 87 // TemplateURL* returned in template_urls. | 85 // TemplateURL* returned in template_urls. |
| 88 // * whether there is a new resource keyword version (and the value). | 86 // * whether there is a new resource keyword version (and the value). |
| 89 // |*new_resource_keyword_version| is set to 0 if no new value. Otherwise, | 87 // |*new_resource_keyword_version| is set to 0 if no new value. Otherwise, |
| 90 // it is the new value. | 88 // it is the new value. |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 // any were found. | 122 // any were found. |
| 125 bool DeDupeEncodings(std::vector<std::string>* encodings); | 123 bool DeDupeEncodings(std::vector<std::string>* encodings); |
| 126 | 124 |
| 127 // Removes (and deletes) TemplateURLs from |template_urls| and |service| if they | 125 // Removes (and deletes) TemplateURLs from |template_urls| and |service| if they |
| 128 // have duplicate prepopulate ids. If |removed_keyword_guids| is not NULL, the | 126 // have duplicate prepopulate ids. If |removed_keyword_guids| is not NULL, the |
| 129 // Sync GUID of each item removed from the DB will be added to it. This is a | 127 // Sync GUID of each item removed from the DB will be added to it. This is a |
| 130 // helper used by GetSearchProvidersUsingKeywordResult(), but is declared here | 128 // helper used by GetSearchProvidersUsingKeywordResult(), but is declared here |
| 131 // so it's accessible by unittests. | 129 // so it's accessible by unittests. |
| 132 void RemoveDuplicatePrepopulateIDs( | 130 void RemoveDuplicatePrepopulateIDs( |
| 133 KeywordWebDataService* service, | 131 KeywordWebDataService* service, |
| 134 const ScopedVector<TemplateURLData>& prepopulated_urls, | 132 const std::vector<std::unique_ptr<TemplateURLData>>& prepopulated_urls, |
| 135 TemplateURL* default_search_provider, | 133 TemplateURL* default_search_provider, |
| 136 TemplateURLService::OwnedTemplateURLVector* template_urls, | 134 TemplateURLService::OwnedTemplateURLVector* template_urls, |
| 137 const SearchTermsData& search_terms_data, | 135 const SearchTermsData& search_terms_data, |
| 138 std::set<std::string>* removed_keyword_guids); | 136 std::set<std::string>* removed_keyword_guids); |
| 139 | 137 |
| 140 TemplateURLService::OwnedTemplateURLVector::iterator FindTemplateURL( | 138 TemplateURLService::OwnedTemplateURLVector::iterator FindTemplateURL( |
| 141 TemplateURLService::OwnedTemplateURLVector* urls, | 139 TemplateURLService::OwnedTemplateURLVector* urls, |
| 142 const TemplateURL* url); | 140 const TemplateURL* url); |
| 143 | 141 |
| 144 #endif // COMPONENTS_SEARCH_ENGINES_UTIL_H_ | 142 #endif // COMPONENTS_SEARCH_ENGINES_UTIL_H_ |
| OLD | NEW |