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

Unified Diff: chrome/browser/search_engines/template_url_service.h

Issue 10381016: Remove the "autogenerate keyword" bit on TemplateURL. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/search_engines/template_url_service.h
===================================================================
--- chrome/browser/search_engines/template_url_service.h (revision 135424)
+++ chrome/browser/search_engines/template_url_service.h (working copy)
@@ -83,12 +83,10 @@
TemplateURLService(const Initializer* initializers, const int count);
virtual ~TemplateURLService();
- // Generates a suitable keyword for the specified url. Returns an empty
- // string if a keyword couldn't be generated. If |autodetected| is true, we
- // don't generate keywords for a variety of situations where we would probably
- // not want to auto-add keywords, such as keywords for searches on pages that
- // themselves come from form submissions.
- static string16 GenerateKeyword(const GURL& url, bool autodetected);
+ // Generates a suitable keyword for the specified url, which must be valid.
+ // This is guaranteed not to return an empty string, since TemplateURLs should
+ // never have an empty keyword.
+ static string16 GenerateKeyword(const GURL& url);
// Removes any unnecessary characters from a user input keyword.
// This removes the leading scheme, "www." and any trailing slash.
@@ -101,8 +99,9 @@
static GURL GenerateSearchURL(TemplateURL* t_url);
// Just like GenerateSearchURL except that it takes SearchTermsData to supply
- // the data for some search terms. Most of the time GenerateSearchURL should
- // be called.
+ // the data for some search terms, e.g. so this can be used on threads other
+ // than the UI thread. See the various TemplateURLRef::XXXUsingTermsData()
+ // functions.
static GURL GenerateSearchURLUsingTermsData(
const TemplateURL* t_url,
const SearchTermsData& search_terms_data);
@@ -140,7 +139,8 @@
// or NULL if there are no such TemplateURLs
TemplateURL* GetTemplateURLForHost(const std::string& host);
- // Takes ownership of |template_url| and adds it to this model.
+ // Takes ownership of |template_url| and adds it to this model. For obvious
+ // reasons, it is illegal to Add() the same |template_url| pointer twice.
void Add(TemplateURL* template_url);
// Like Add(), but overwrites the |template_url|'s values with the provided
@@ -413,12 +413,17 @@
// in the default list and is marked as safe_for_autoreplace.
bool CanReplace(const TemplateURL* t_url);
+ // Like GetTemplateURLForKeyword(), but ignores extension-provided keywords.
+ TemplateURL* FindNonExtensionTemplateURLForKeyword(const string16& keyword);
+
// Updates the information in |existing_turl| using the information from
- // |new_values|, but the ID for |existing_turl| is retained.
- // Notifying observers is the responsibility of the caller.
+ // |new_values|, but the ID for |existing_turl| is retained. Notifying
+ // observers is the responsibility of the caller. Returns whether
+ // |existing_turl| was found in |template_urls_| and thus could be updated.
+ //
// NOTE: This should not be called with an extension keyword as there are no
// updates needed in that case.
- void UpdateNoNotify(TemplateURL* existing_turl,
+ bool UpdateNoNotify(TemplateURL* existing_turl,
const TemplateURL& new_values);
// Returns the preferences we use.
@@ -451,16 +456,21 @@
void UpdateDefaultSearch();
// Set the default search provider even if it is managed. |url| may be null.
- // Caller is responsible for notifying observers.
- void SetDefaultSearchProviderNoNotify(TemplateURL* url);
+ // Caller is responsible for notifying observers. Returns whether |url| was
+ // found in |template_urls_| and thus could be made default.
+ bool SetDefaultSearchProviderNoNotify(TemplateURL* url);
// Adds a new TemplateURL to this model. TemplateURLService will own the
// reference, and delete it when the TemplateURL is removed.
// If |newly_adding| is false, we assume that this TemplateURL was already
// part of the model in the past, and therefore we don't need to do things
// like assign it an ID or notify sync.
- // Caller is responsible for notifying observers.
- void AddNoNotify(TemplateURL* template_url, bool newly_adding);
+ // This function guarantees that on return the model will not have two
+ // non-extension TemplateURLs with the same keyword. If that means that it
+ // cannot add the provided argument, it will delete it and return false.
+ // Caller is responsible for notifying observers if this function returns
+ // true.
+ bool AddNoNotify(TemplateURL* template_url, bool newly_adding);
// Removes the keyword from the model. This deletes the supplied TemplateURL.
// This fails if the supplied template_url is the default search provider.
@@ -491,15 +501,14 @@
// it is unique to the Service.
string16 UniquifyKeyword(const TemplateURL& turl);
- // Given a TemplateURL from Sync (cloud), resolves any keyword conflicts by
- // checking the local keywords and uniquifying either the cloud keyword or a
- // conflicting local keyword (whichever is older). If the cloud TURL is
- // changed, then an appropriate SyncChange is appended to |change_list|. If
- // a local TURL is changed, the service is updated with the new keyword. If
- // there was no conflict to begin with, this does nothing. In the case of tied
- // last_modified dates, |sync_turl| wins. Returns true iff there was a
- // conflict.
- bool ResolveSyncKeywordConflict(TemplateURL* sync_turl,
+ // Given a TemplateURL from Sync (cloud) and a local TemplateURL with the same
+ // keyword, resolves the conflict by uniquifying either the cloud keyword or
+ // the local keyword (whichever is older). If the cloud TURL is changed, then
+ // an appropriate SyncChange is appended to |change_list|. If a local TURL is
+ // changed, the service is updated with the new keyword. In the case of tied
+ // last_modified dates, |sync_turl| wins.
SteveT 2012/05/08 01:17:15 nit: Please mention that |local_turl| cannot be an
Peter Kasting 2012/05/08 01:31:42 Done.
+ void ResolveSyncKeywordConflict(TemplateURL* sync_turl,
+ TemplateURL* local_turl,
SyncChangeList* change_list);
// Returns a TemplateURL from the service that has the same keyword and search

Powered by Google App Engine
This is Rietveld 408576698