summaryrefslogtreecommitdiffstats
path: root/android_webview/browser
diff options
context:
space:
mode:
authorboliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-26 20:00:09 +0000
committerboliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-26 20:00:09 +0000
commit72b23e0b5f884e1b32b5e42eb7b79d495ed6b25b (patch)
tree45dfc3ed52c1945bc3e053953d84c9be64db927b /android_webview/browser
parent732b1604ebd2cb9eaddfe7bdfa127673470a4d85 (diff)
downloadchromium_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.cc13
-rw-r--r--android_webview/browser/net/aw_url_request_context_getter.h2
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);
};