Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1089)

Side by Side Diff: chrome/browser/search_engines/template_url_service.h

Issue 17022004: Replace --google-base-suggest-url and --instant-url with --google-base-url. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 // 58 //
59 // TemplateURLService takes ownership of any TemplateURL passed to it. If there 59 // TemplateURLService takes ownership of any TemplateURL passed to it. If there
60 // is a WebDataService, deletion is handled by WebDataService, otherwise 60 // is a WebDataService, deletion is handled by WebDataService, otherwise
61 // TemplateURLService handles deletion. 61 // TemplateURLService handles deletion.
62 62
63 class TemplateURLService : public WebDataServiceConsumer, 63 class TemplateURLService : public WebDataServiceConsumer,
64 public BrowserContextKeyedService, 64 public BrowserContextKeyedService,
65 public content::NotificationObserver, 65 public content::NotificationObserver,
66 public syncer::SyncableService { 66 public syncer::SyncableService {
67 public: 67 public:
68 typedef std::map<string16, TemplateURL*> KeywordToTemplateMap;
68 typedef std::map<std::string, std::string> QueryTerms; 69 typedef std::map<std::string, std::string> QueryTerms;
69 typedef std::vector<TemplateURL*> TemplateURLVector; 70 typedef std::vector<TemplateURL*> TemplateURLVector;
70 // Type for a static function pointer that acts as a time source. 71 // Type for a static function pointer that acts as a time source.
71 typedef base::Time(TimeProvider)(); 72 typedef base::Time(TimeProvider)();
72 typedef std::map<std::string, syncer::SyncData> SyncDataMap; 73 typedef std::map<std::string, syncer::SyncData> SyncDataMap;
73 74
74 // Struct used for initializing the data store with fake data. 75 // Struct used for initializing the data store with fake data.
75 // Each initializer is mapped to a TemplateURL. 76 // Each initializer is mapped to a TemplateURL.
76 struct Initializer { 77 struct Initializer {
77 const char* const keyword; 78 const char* const keyword;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 // keyword/url pair, or there is one but it can be replaced. If there is an 112 // keyword/url pair, or there is one but it can be replaced. If there is an
112 // existing keyword that can be replaced and template_url_to_replace is 113 // existing keyword that can be replaced and template_url_to_replace is
113 // non-NULL, template_url_to_replace is set to the keyword to replace. 114 // non-NULL, template_url_to_replace is set to the keyword to replace.
114 // 115 //
115 // url gives the url of the search query. The url is used to avoid generating 116 // url gives the url of the search query. The url is used to avoid generating
116 // a TemplateURL for an existing TemplateURL that shares the same host. 117 // a TemplateURL for an existing TemplateURL that shares the same host.
117 bool CanReplaceKeyword(const string16& keyword, 118 bool CanReplaceKeyword(const string16& keyword,
118 const GURL& url, 119 const GURL& url,
119 TemplateURL** template_url_to_replace); 120 TemplateURL** template_url_to_replace);
120 121
121 // Returns (in |matches|) all keywords beginning with |prefix|, sorted 122 // Returns (in |matches|) all TemplateURLs whose keywords begin with |prefix|,
122 // shortest-first. If support_replacement_only is true, only keywords that 123 // sorted shortest keyword-first. If |support_replacement_only| is true, only
123 // support replacement are returned. 124 // TemplateURLs that support replacement are returned.
124 void FindMatchingKeywords(const string16& prefix, 125 void FindMatchingKeywords(const string16& prefix,
125 bool support_replacement_only, 126 bool support_replacement_only,
126 std::vector<string16>* matches) const; 127 TemplateURLVector* matches) const;
127 128
128 // Looks up |keyword| and returns the element it maps to. Returns NULL if 129 // Looks up |keyword| and returns the element it maps to. Returns NULL if
129 // the keyword was not found. 130 // the keyword was not found.
130 // The caller should not try to delete the returned pointer; the data store 131 // The caller should not try to delete the returned pointer; the data store
131 // retains ownership of it. 132 // retains ownership of it.
132 TemplateURL* GetTemplateURLForKeyword(const string16& keyword); 133 TemplateURL* GetTemplateURLForKeyword(const string16& keyword);
133 134
134 // Returns that TemplateURL with the specified GUID, or NULL if not found. 135 // Returns that TemplateURL with the specified GUID, or NULL if not found.
135 // The caller should not try to delete the returned pointer; the data store 136 // The caller should not try to delete the returned pointer; the data store
136 // retains ownership of it. 137 // retains ownership of it.
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, UniquifyKeyword); 358 FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, UniquifyKeyword);
358 FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, 359 FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest,
359 ResolveSyncKeywordConflict); 360 ResolveSyncKeywordConflict);
360 FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, PreSyncDeletes); 361 FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, PreSyncDeletes);
361 FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, 362 FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest,
362 IsLocalTemplateURLBetter); 363 IsLocalTemplateURLBetter);
363 FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, MergeInSyncTemplateURL); 364 FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, MergeInSyncTemplateURL);
364 365
365 friend class TemplateURLServiceTestUtil; 366 friend class TemplateURLServiceTestUtil;
366 367
367 typedef std::map<string16, TemplateURL*> KeywordToTemplateMap;
368 typedef std::map<std::string, TemplateURL*> GUIDToTemplateMap; 368 typedef std::map<std::string, TemplateURL*> GUIDToTemplateMap;
369 369
370 // Declaration of values to be used in an enumerated histogram to tally 370 // Declaration of values to be used in an enumerated histogram to tally
371 // changes to the default search provider from various entry points. In 371 // changes to the default search provider from various entry points. In
372 // particular, we use this to see what proportion of changes are from Sync 372 // particular, we use this to see what proportion of changes are from Sync
373 // entry points, to help spot erroneous Sync activity. 373 // entry points, to help spot erroneous Sync activity.
374 enum DefaultSearchChangeOrigin { 374 enum DefaultSearchChangeOrigin {
375 // Various known Sync entry points. 375 // Various known Sync entry points.
376 DSP_CHANGE_SYNC_PREF, 376 DSP_CHANGE_SYNC_PREF,
377 DSP_CHANGE_SYNC_ADD, 377 DSP_CHANGE_SYNC_ADD,
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
689 689
690 // This is used to log the origin of changes to the default search provider. 690 // This is used to log the origin of changes to the default search provider.
691 // We set this value to increasingly specific values when we know what is the 691 // We set this value to increasingly specific values when we know what is the
692 // cause/origin of a default search change. 692 // cause/origin of a default search change.
693 DefaultSearchChangeOrigin dsp_change_origin_; 693 DefaultSearchChangeOrigin dsp_change_origin_;
694 694
695 DISALLOW_COPY_AND_ASSIGN(TemplateURLService); 695 DISALLOW_COPY_AND_ASSIGN(TemplateURLService);
696 }; 696 };
697 697
698 #endif // CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_H_ 698 #endif // CHROME_BROWSER_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698