summaryrefslogtreecommitdiffstats
path: root/webkit/appcache/appcache_storage.h
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/appcache/appcache_storage.h')
-rw-r--r--webkit/appcache/appcache_storage.h12
1 files changed, 3 insertions, 9 deletions
diff --git a/webkit/appcache/appcache_storage.h b/webkit/appcache/appcache_storage.h
index 559237c..20fbffe 100644
--- a/webkit/appcache/appcache_storage.h
+++ b/webkit/appcache/appcache_storage.h
@@ -206,11 +206,7 @@ class AppCacheStorage {
Delegate* delegate;
AppCacheStorage* storage;
- DelegateReference(Delegate* delegate, AppCacheStorage* storage)
- : delegate(delegate), storage(storage) {
- storage->delegate_references_.insert(
- DelegateReferenceMap::value_type(delegate, this));
- }
+ DelegateReference(Delegate* delegate, AppCacheStorage* storage);
void CancelReference() {
storage->delegate_references_.erase(delegate);
@@ -221,10 +217,7 @@ class AppCacheStorage {
private:
friend class base::RefCounted<DelegateReference>;
- ~DelegateReference() {
- if (delegate)
- storage->delegate_references_.erase(delegate);
- }
+ virtual ~DelegateReference();
};
typedef std::map<Delegate*, DelegateReference*> DelegateReferenceMap;
typedef std::vector<scoped_refptr<DelegateReference> >
@@ -236,6 +229,7 @@ class AppCacheStorage {
public:
ResponseInfoLoadTask(const GURL& manifest_url, int64 response_id,
AppCacheStorage* storage);
+ ~ResponseInfoLoadTask();
int64 response_id() const { return response_id_; }
const GURL& manifest_url() const { return manifest_url_; }