Index: chrome/browser/search_engines/template_url_service.h |
diff --git a/chrome/browser/search_engines/template_url_service.h b/chrome/browser/search_engines/template_url_service.h |
index 172932304bac18700e878f52f7271b96987fd0cd..a39e73f30ae0a6de4da55ec660ec38e9c075e3f3 100644 |
--- a/chrome/browser/search_engines/template_url_service.h |
+++ b/chrome/browser/search_engines/template_url_service.h |
@@ -112,11 +112,6 @@ class TemplateURLService : public WebDataServiceConsumer, |
scoped_ptr<TemplateURLData>* default_provider_data, |
bool* is_managed); |
- // Saves enough of url to |prefs| so that it can be loaded from preferences on |
- // start up. |
- static void SaveDefaultSearchProviderToPrefs(const TemplateURL* url, |
- PrefService* prefs); |
- |
// 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. |
@@ -140,6 +135,11 @@ class TemplateURLService : public WebDataServiceConsumer, |
const TemplateURL* t_url, |
const SearchTermsData& search_terms_data); |
+ // Saves enough of url to |prefs| so that it can be loaded from preferences on |
+ // start up. |
+ void SaveDefaultSearchProviderToPrefs(const TemplateURL* url, |
+ PrefService* prefs) const; |
+ |
// Returns true if there is no TemplateURL that conflicts with the |
// keyword/url pair, or there is one but it can be replaced. If there is an |
// existing keyword that can be replaced and template_url_to_replace is |
@@ -409,16 +409,12 @@ class TemplateURLService : public WebDataServiceConsumer, |
DontUpdateKeywordSearchForNonReplaceable); |
FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceTest, ChangeGoogleBaseValue); |
FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceTest, MergeDeletesUnusedProviders); |
- FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, |
- CreateSyncDataFromTemplateURL); |
- FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, |
- CreateTemplateURLFromSyncData); |
FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, UniquifyKeyword); |
FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, |
+ IsLocalTemplateURLBetter); |
+ FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, |
ResolveSyncKeywordConflict); |
FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, PreSyncDeletes); |
- FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, |
- IsLocalTemplateURLBetter); |
FRIEND_TEST_ALL_PREFIXES(TemplateURLServiceSyncTest, MergeInSyncTemplateURL); |
friend class TemplateURLServiceTestUtilBase; |
@@ -568,6 +564,13 @@ class TemplateURLService : public WebDataServiceConsumer, |
// Caller is responsible for notifying observers. |
void RemoveNoNotify(TemplateURL* template_url); |
+ // Like ResetTemplateURL(), but instead of notifying observers, returns |
+ // whether anything has changed. |
+ bool ResetTemplateURLNoNotify(TemplateURL* url, |
+ const base::string16& title, |
+ const base::string16& keyword, |
+ const std::string& search_url); |
+ |
// Notify the observers that the model has changed. This is done only if the |
// model is loaded. |
void NotifyObservers(); |
@@ -713,7 +716,9 @@ class TemplateURLService : public WebDataServiceConsumer, |
// Whether the keywords have been loaded. |
bool loaded_; |
- // Did loading fail? This is only valid if loaded_ is true. |
+ // Set when the web data service fails to load properly. This prevents |
+ // further communication with sync or writing to prefs, so we don't persist |
+ // inconsistent state data anywhere. |
bool load_failed_; |
// If non-zero, we're waiting on a load. |