Index: webkit/browser/appcache/appcache_disk_cache.cc |
diff --git a/webkit/browser/appcache/appcache_disk_cache.cc b/webkit/browser/appcache/appcache_disk_cache.cc |
index 542ec7cdbd7898e29087095d7ab5c617849f5926..e486f1d7d6f18d1ae30082bc13188dd586e0bfb0 100644 |
--- a/webkit/browser/appcache/appcache_disk_cache.cc |
+++ b/webkit/browser/appcache/appcache_disk_cache.cc |
@@ -22,7 +22,7 @@ class AppCacheDiskCache::CreateBackendCallbackShim |
: public base::RefCounted<CreateBackendCallbackShim> { |
public: |
explicit CreateBackendCallbackShim(AppCacheDiskCache* object) |
- : backend_ptr_(NULL), appcache_diskcache_(object) { |
+ : appcache_diskcache_(object) { |
} |
void Cancel() { |
@@ -34,13 +34,12 @@ class AppCacheDiskCache::CreateBackendCallbackShim |
appcache_diskcache_->OnCreateBackendComplete(rv); |
} |
- disk_cache::Backend* backend_ptr_; // Accessed directly. |
+ scoped_ptr<disk_cache::Backend> backend_ptr_; // Accessed directly. |
private: |
friend class base::RefCounted<CreateBackendCallbackShim>; |
~CreateBackendCallbackShim() { |
- delete backend_ptr_; |
} |
AppCacheDiskCache* appcache_diskcache_; // Unowned pointer. |
@@ -285,8 +284,7 @@ int AppCacheDiskCache::Init(net::CacheType cache_type, |
void AppCacheDiskCache::OnCreateBackendComplete(int rv) { |
if (rv == net::OK) { |
- disk_cache_.reset(create_backend_callback_->backend_ptr_); |
- create_backend_callback_->backend_ptr_ = NULL; |
+ disk_cache_ = create_backend_callback_->backend_ptr_.Pass(); |
} |
create_backend_callback_ = NULL; |