diff options
author | ivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-22 13:31:26 +0000 |
---|---|---|
committer | ivankr@chromium.org <ivankr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-22 13:31:26 +0000 |
commit | 2ede213109b8061338536bc9dbcb8d43c57bd649 (patch) | |
tree | 6cc2cf4018cbe6dd9498c240eee0aa69d3acd160 /chrome/browser/search_engines/util.cc | |
parent | c65a6993e9f8367946beee55a9655dad1b03728c (diff) | |
download | chromium_src-2ede213109b8061338536bc9dbcb8d43c57bd649.zip chromium_src-2ede213109b8061338536bc9dbcb8d43c57bd649.tar.gz chromium_src-2ede213109b8061338536bc9dbcb8d43c57bd649.tar.bz2 |
Reland 115318 - Return backup TemplateURL on default search change.
Memleak in WebDataService that caused the revert fixed.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/9025008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115526 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/search_engines/util.cc')
-rw-r--r-- | chrome/browser/search_engines/util.cc | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/chrome/browser/search_engines/util.cc b/chrome/browser/search_engines/util.cc index bee5bac..5bafd43 100644 --- a/chrome/browser/search_engines/util.cc +++ b/chrome/browser/search_engines/util.cc @@ -211,10 +211,9 @@ void GetSearchProvidersUsingKeywordResult( bool DidDefaultSearchProviderChange( const WDTypedResult& result, - const std::vector<TemplateURL*>& template_urls, - const TemplateURL** backup_default_search_provider) { + scoped_ptr<TemplateURL>* backup_default_search_provider) { DCHECK(backup_default_search_provider); - DCHECK(*backup_default_search_provider == NULL); + DCHECK(!backup_default_search_provider->get()); DCHECK_EQ(result.GetType(), KEYWORDS_RESULT); WDKeywordsResult keyword_result = reinterpret_cast< @@ -223,9 +222,8 @@ bool DidDefaultSearchProviderChange( if (!keyword_result.did_default_search_provider_change) return false; - *backup_default_search_provider = GetTemplateURLByID( - template_urls, - keyword_result.default_search_provider_id_backup); + backup_default_search_provider->reset( + keyword_result.default_search_provider_backup); return true; } |