From 44f8bfc550cb3fe0a103c2cdd3209a2741ebb2de Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Tue, 16 Jun 2015 17:08:53 +0800 Subject: [PATCH] Don't leak URLFetcher --- atom/browser/net/url_request_fetch_job.cc | 10 ++++------ atom/browser/net/url_request_fetch_job.h | 1 + 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/atom/browser/net/url_request_fetch_job.cc b/atom/browser/net/url_request_fetch_job.cc index 081e85f28f32..3f4ef0694e70 100644 --- a/atom/browser/net/url_request_fetch_job.cc +++ b/atom/browser/net/url_request_fetch_job.cc @@ -24,14 +24,12 @@ URLRequestFetchJob::URLRequestFetchJob( URLRequestFetchJob::~URLRequestFetchJob() {} void URLRequestFetchJob::Start() { - net::URLFetcher* fetcher = net::URLFetcher::Create(url_, - net::URLFetcher::GET, - this); + fetcher_.reset(net::URLFetcher::Create(url_, net::URLFetcher::GET, this)); auto context = AtomBrowserContext::Get()->url_request_context_getter(); - fetcher->SetRequestContext(context); - fetcher->SaveResponseWithWriter(scoped_ptr( + fetcher_->SetRequestContext(context); + fetcher_->SaveResponseWithWriter(scoped_ptr( this)); - fetcher->Start(); + fetcher_->Start(); } void URLRequestFetchJob::Kill() { diff --git a/atom/browser/net/url_request_fetch_job.h b/atom/browser/net/url_request_fetch_job.h index e955341c7d50..69726f9db45b 100644 --- a/atom/browser/net/url_request_fetch_job.h +++ b/atom/browser/net/url_request_fetch_job.h @@ -45,6 +45,7 @@ class URLRequestFetchJob : public net::URLRequestJob, private: GURL url_; + scoped_ptr fetcher_; scoped_refptr buffer_; base::WeakPtrFactory weak_ptr_factory_;