| 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..349d85687aabe78f27accbd9b585282409963327 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,18 +409,15 @@ 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 TemplateURLServiceSyncTest;
|
| friend class TemplateURLServiceTestUtilBase;
|
|
|
| typedef std::map<base::string16, TemplateURL*> KeywordToTemplateMap;
|
| @@ -476,6 +473,15 @@ class TemplateURLService : public WebDataServiceConsumer,
|
| // Transitions to the loaded state.
|
| void ChangeToLoadedState();
|
|
|
| + // Called when we transition to the loaded state without having loaded the web
|
| + // database from disk. This may be because of profile corruption, or because
|
| + // we're in a test. Disables further attempts to access the web database and
|
| + // ensures we won't attempt to sync any changes, then copies
|
| + // |initial_default_search_provider_| in as the default search provider, so
|
| + // the TemplateURLService consistently reports the same default provider
|
| + // before and after the attempted load.
|
| + void OnFailedLoad();
|
| +
|
| // Clears user preferences describing the default search engine.
|
| void ClearDefaultProviderFromPrefs();
|
|
|
| @@ -713,7 +719,7 @@ class TemplateURLService : public WebDataServiceConsumer,
|
| // Whether the keywords have been loaded.
|
| bool loaded_;
|
|
|
| - // Did loading fail? This is only valid if loaded_ is true.
|
| + // Set by OnFailedLoad(); prevents writing to prefs or syncing.
|
| bool load_failed_;
|
|
|
| // If non-zero, we're waiting on a load.
|
|
|