Index: chrome/browser/search_engines/template_url.h |
=================================================================== |
--- chrome/browser/search_engines/template_url.h (revision 90805) |
+++ chrome/browser/search_engines/template_url.h (working copy) |
@@ -135,14 +135,17 @@ |
// Collects metrics whether searches through Google are sent with RLZ string. |
void CollectRLZMetrics() const; |
+ // Sets whether this URL is pre-populated or not. |
+ void set_prepopulated(bool prepopulated) { prepopulated_ = prepopulated; } |
+ |
private: |
friend class SearchHostToURLsMapTest; |
friend class TemplateURL; |
friend class TemplateURLServiceTestUtil; |
friend class TemplateURLTest; |
+ FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, SetPrepopulatedAndParse); |
FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseParameterKnown); |
FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseParameterUnknown); |
- FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseParameterReallyUnknown); |
FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseURLEmpty); |
FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseURLNoTemplateEnd); |
FRIEND_TEST_ALL_PREFIXES(TemplateURLTest, ParseURLNoKnownParameters); |
@@ -187,8 +190,8 @@ |
// replacements indicating the type and range of the element. The original |
// parameter is erased from the url. |
// |
- // If the parameter is not a known parameter, it's not erased and false is |
- // returned. |
+ // If the parameter is not a known parameter, false is returned. If this is a |
+ // prepopulated URL, the parameter is erased, otherwise it is left alone. |
bool ParseParameter(size_t start, |
size_t end, |
std::string* url, |
@@ -252,6 +255,9 @@ |
mutable std::string host_; |
mutable std::string path_; |
mutable std::string search_term_key_; |
+ |
+ // Whether the contained URL is a pre-populated URL. |
+ bool prepopulated_; |
}; |
// Describes the relevant portions of a single OSD document. |
@@ -474,7 +480,9 @@ |
TemplateURLID id() const { return id_; } |
// If this TemplateURL comes from prepopulated data the prepopulate_id is > 0. |
- void set_prepopulate_id(int id) { prepopulate_id_ = id; } |
+ // SetPrepopulateId also sets any TemplateURLRef's prepopulated flag to true |
+ // if |id| > 0 and false otherwise. |
+ void SetPrepopulateId(int id); |
int prepopulate_id() const { return prepopulate_id_; } |
std::string GetExtensionId() const; |
@@ -494,6 +502,9 @@ |
// Invalidates cached values on this object and its child TemplateURLRefs. |
void InvalidateCachedValues() const; |
+ // Sets all TemplateURLRefs prepopulated flags. |
+ void SetTemplateURLRefsPrepopulated(bool prepopulated); |
+ |
// Unique identifier, used when archived to the database. |
void set_id(TemplateURLID id) { id_ = id; } |