diff options
author | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-07 23:53:29 +0000 |
---|---|---|
committer | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-07 23:53:29 +0000 |
commit | cb1da54001174e027d1bd5de4dbc5a91dca140e2 (patch) | |
tree | 48d33cd1d9b871682a9ae027f8aecefd367f9b38 /webkit | |
parent | 0eef4afcc284b2bb033e1e6097c0680257533081 (diff) | |
download | chromium_src-cb1da54001174e027d1bd5de4dbc5a91dca140e2.zip chromium_src-cb1da54001174e027d1bd5de4dbc5a91dca140e2.tar.gz chromium_src-cb1da54001174e027d1bd5de4dbc5a91dca140e2.tar.bz2 |
Don't forget to free the callbacks!
BUG=none
TEST=none
TBR=brettw
Review URL: http://codereview.chromium.org/149295
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20100 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/glue/image_resource_fetcher.cc | 1 | ||||
-rw-r--r-- | webkit/glue/image_resource_fetcher.h | 2 | ||||
-rw-r--r-- | webkit/glue/resource_fetcher.cc | 8 | ||||
-rw-r--r-- | webkit/glue/resource_fetcher.h | 2 |
4 files changed, 9 insertions, 4 deletions
diff --git a/webkit/glue/image_resource_fetcher.cc b/webkit/glue/image_resource_fetcher.cc index 8c63cc5..dc90744 100644 --- a/webkit/glue/image_resource_fetcher.cc +++ b/webkit/glue/image_resource_fetcher.cc @@ -45,6 +45,7 @@ void ImageResourceFetcher::OnURLFetchComplete( // response as an image. The delegate will see a null image, indicating // that an error occurred. callback_->Run(this, bitmap); + callback_.reset(); } } // namespace webkit_glue diff --git a/webkit/glue/image_resource_fetcher.h b/webkit/glue/image_resource_fetcher.h index 1503481..af542dd 100644 --- a/webkit/glue/image_resource_fetcher.h +++ b/webkit/glue/image_resource_fetcher.h @@ -39,7 +39,7 @@ class ImageResourceFetcher { void OnURLFetchComplete(const WebKit::WebURLResponse& response, const std::string& data); - Callback* callback_; + scoped_ptr<Callback> callback_; // Unique identifier for the request. const int id_; diff --git a/webkit/glue/resource_fetcher.cc b/webkit/glue/resource_fetcher.cc index 1716a91..e7e6978 100644 --- a/webkit/glue/resource_fetcher.cc +++ b/webkit/glue/resource_fetcher.cc @@ -84,8 +84,10 @@ void ResourceFetcher::didFinishLoading(WebURLLoader* loader) { DCHECK(!completed_); completed_ = true; - if (callback_) + if (callback_.get()) { callback_->Run(response_, data_); + callback_.reset(); + } } void ResourceFetcher::didFail(WebURLLoader* loader, const WebURLError& error) { @@ -93,8 +95,10 @@ void ResourceFetcher::didFail(WebURLLoader* loader, const WebURLError& error) { completed_ = true; // Go ahead and tell our delegate that we're done. - if (callback_) + if (callback_.get()) { callback_->Run(WebURLResponse(), std::string()); + callback_.reset(); + } } ///////////////////////////////////////////////////////////////////////////// diff --git a/webkit/glue/resource_fetcher.h b/webkit/glue/resource_fetcher.h index bc75f63..338e0e1 100644 --- a/webkit/glue/resource_fetcher.h +++ b/webkit/glue/resource_fetcher.h @@ -72,7 +72,7 @@ class ResourceFetcher : public WebKit::WebURLLoaderClient { GURL url_; // Callback when we're done - Callback* callback_; + scoped_ptr<Callback> callback_; // A copy of the original resource response WebKit::WebURLResponse response_; |