diff options
author | boliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-26 20:00:09 +0000 |
---|---|---|
committer | boliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-26 20:00:09 +0000 |
commit | 72b23e0b5f884e1b32b5e42eb7b79d495ed6b25b (patch) | |
tree | 45dfc3ed52c1945bc3e053953d84c9be64db927b /android_webview/browser | |
parent | 732b1604ebd2cb9eaddfe7bdfa127673470a4d85 (diff) | |
download | chromium_src-72b23e0b5f884e1b32b5e42eb7b79d495ed6b25b.zip chromium_src-72b23e0b5f884e1b32b5e42eb7b79d495ed6b25b.tar.gz chromium_src-72b23e0b5f884e1b32b5e42eb7b79d495ed6b25b.tar.bz2 |
Fix leaking request factory in android_webview
Have the context getter own the factory since it already owns the
context itself.
BUG=
Run through android_fyi_dbg trybot
NOTRY=true
Review URL: https://chromiumcodereview.appspot.com/11320004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164387 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview/browser')
-rw-r--r-- | android_webview/browser/net/aw_url_request_context_getter.cc | 13 | ||||
-rw-r--r-- | android_webview/browser/net/aw_url_request_context_getter.h | 2 |
2 files changed, 8 insertions, 7 deletions
diff --git a/android_webview/browser/net/aw_url_request_context_getter.cc b/android_webview/browser/net/aw_url_request_context_getter.cc index 580bf03..bcc51f4 100644 --- a/android_webview/browser/net/aw_url_request_context_getter.cc +++ b/android_webview/browser/net/aw_url_request_context_getter.cc @@ -196,17 +196,16 @@ void AwURLRequestContextGetter::Init() { storage->set_http_transaction_factory(new net::HttpCache( network_session_params, http_cache_backend.release())); - scoped_ptr<AwURLRequestJobFactory> job_factory( - new AwURLRequestJobFactory); - bool set_protocol = job_factory->SetProtocolHandler( + job_factory_.reset(new AwURLRequestJobFactory); + bool set_protocol = job_factory_->SetProtocolHandler( chrome::kFileScheme, new net::FileProtocolHandler()); DCHECK(set_protocol); - set_protocol = job_factory->SetProtocolHandler( + set_protocol = job_factory_->SetProtocolHandler( chrome::kDataScheme, new net::DataProtocolHandler()); DCHECK(set_protocol); - RegisterAndroidProtocolsOnIOThread(job_factory.get()); - job_factory->AddInterceptor(new AwRequestInterceptor()); - storage->set_job_factory(job_factory.release()); + RegisterAndroidProtocolsOnIOThread(job_factory_.get()); + job_factory_->AddInterceptor(new AwRequestInterceptor()); + storage->set_job_factory(job_factory_.get()); } content::ResourceContext* AwURLRequestContextGetter::GetResourceContext() { diff --git a/android_webview/browser/net/aw_url_request_context_getter.h b/android_webview/browser/net/aw_url_request_context_getter.h index e10a019..888ac08 100644 --- a/android_webview/browser/net/aw_url_request_context_getter.h +++ b/android_webview/browser/net/aw_url_request_context_getter.h @@ -17,6 +17,7 @@ class ResourceContext; namespace net { class ProxyConfigService; class URLRequestContext; +class URLRequestJobFactory; } namespace android_webview { @@ -49,6 +50,7 @@ class AwURLRequestContextGetter : public net::URLRequestContextGetter, scoped_ptr<net::URLRequestContext> url_request_context_; scoped_ptr<net::ProxyConfigService> proxy_config_service_; scoped_ptr<content::ResourceContext> resource_context_; + scoped_ptr<net::URLRequestJobFactory> job_factory_; DISALLOW_COPY_AND_ASSIGN(AwURLRequestContextGetter); }; |