diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-10 01:33:05 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-10 01:33:05 +0000 |
commit | 71c012ae753d7f428e83cd4866a5516fc8c58b82 (patch) | |
tree | 1015457c7339c21d8ff9c87807d34ba8c24d1a39 /chrome/browser | |
parent | 1fa528658d43f7e3fa7651a423430d11dc90d4bc (diff) | |
download | chromium_src-71c012ae753d7f428e83cd4866a5516fc8c58b82.zip chromium_src-71c012ae753d7f428e83cd4866a5516fc8c58b82.tar.gz chromium_src-71c012ae753d7f428e83cd4866a5516fc8c58b82.tar.bz2 |
Couple of prospective fix for memory test flakiness: addref/release the url request context getter appropriately; fix a leak.
Passing as a straight pointer without addreffing was copied from the previous spellchecker impl. Using .release() instead of = NULL was a plain old mistake.
BUG=none
TEST=memory test flakiness goes away hopefully?
Review URL: http://codereview.chromium.org/379015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31529 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/profile.cc | 2 | ||||
-rw-r--r-- | chrome/browser/spellcheck_host.cc | 2 | ||||
-rw-r--r-- | chrome/browser/spellcheck_host.h | 3 |
3 files changed, 4 insertions, 3 deletions
diff --git a/chrome/browser/profile.cc b/chrome/browser/profile.cc index 9f62d39..112375a 100644 --- a/chrome/browser/profile.cc +++ b/chrome/browser/profile.cc @@ -1321,7 +1321,7 @@ void ProfileImpl::ReinitializeSpellCheckHost(bool force) { bool notify = false; if (spellcheck_host_.get()) { spellcheck_host_->UnsetObserver(); - spellcheck_host_.release(); + spellcheck_host_ = NULL; spellcheck_host_ready_ = false; notify = true; } diff --git a/chrome/browser/spellcheck_host.cc b/chrome/browser/spellcheck_host.cc index 91a1a9c..c9fea3ecf 100644 --- a/chrome/browser/spellcheck_host.cc +++ b/chrome/browser/spellcheck_host.cc @@ -220,7 +220,7 @@ void SpellCheckHost::DownloadDictionary() { GURL url = GURL(std::string(kDownloadServerUrl) + WideToUTF8( l10n_util::ToLower(bdict_file_.BaseName().ToWStringHack()))); fetcher_.reset(new URLFetcher(url, URLFetcher::GET, this)); - fetcher_->set_request_context(request_context_getter_); + fetcher_->set_request_context(request_context_getter_.get()); tried_to_download_ = true; fetcher_->Start(); } diff --git a/chrome/browser/spellcheck_host.h b/chrome/browser/spellcheck_host.h index 6b0f316..8c2ef55 100644 --- a/chrome/browser/spellcheck_host.h +++ b/chrome/browser/spellcheck_host.h @@ -13,6 +13,7 @@ #include "base/ref_counted.h" #include "chrome/browser/chrome_thread.h" #include "chrome/browser/net/url_fetcher.h" +#include "chrome/browser/net/url_request_context_getter.h" class SpellCheckHost : public base::RefCountedThreadSafe<SpellCheckHost, ChromeThread::DeleteOnFileThread>, @@ -94,7 +95,7 @@ class SpellCheckHost : public base::RefCountedThreadSafe<SpellCheckHost, bool tried_to_download_; // Used for downloading the dictionary file. - URLRequestContextGetter* request_context_getter_; + scoped_refptr<URLRequestContextGetter> request_context_getter_; // Used for downloading the dictionary file. scoped_ptr<URLFetcher> fetcher_; |