Index: content/browser/gpu/shader_disk_cache.cc |
diff --git a/content/browser/gpu/shader_disk_cache.cc b/content/browser/gpu/shader_disk_cache.cc |
index 9c942a0a31a2dbcb0739eaef72fea809e3c211da..a7f240ce565b8e49ebd4b7c55c87f56db84b1fbb 100644 |
--- a/content/browser/gpu/shader_disk_cache.cc |
+++ b/content/browser/gpu/shader_disk_cache.cc |
@@ -95,7 +95,7 @@ |
base::WeakPtr<ShaderDiskCache> cache_; |
OpType op_type_; |
- scoped_ptr<disk_cache::Backend::Iterator> iter_; |
+ void* iter_; |
scoped_refptr<net::IOBufferWithSize> buf_; |
int host_id_; |
disk_cache::Entry* entry_; |
@@ -243,6 +243,7 @@ |
int host_id) |
: cache_(cache), |
op_type_(OPEN_NEXT), |
+ iter_(NULL), |
buf_(NULL), |
host_id_(host_id), |
entry_(NULL) { |
@@ -290,10 +291,10 @@ |
DCHECK(CalledOnValidThread()); |
// Called through OnOpComplete, so we know |cache_| is valid. |
op_type_ = OPEN_NEXT_COMPLETE; |
- if (!iter_) |
- iter_ = cache_->backend()->CreateIterator(); |
- return iter_->OpenNextEntry( |
- &entry_, base::Bind(&ShaderDiskReadHelper::OnOpComplete, this)); |
+ return cache_->backend()->OpenNextEntry( |
+ &iter_, |
+ &entry_, |
+ base::Bind(&ShaderDiskReadHelper::OnOpComplete, this)); |
} |
int ShaderDiskReadHelper::OpenNextEntryComplete(int rv) { |
@@ -338,7 +339,8 @@ |
int ShaderDiskReadHelper::IterationComplete(int rv) { |
DCHECK(CalledOnValidThread()); |
// Called through OnOpComplete, so we know |cache_| is valid. |
- iter_.reset(); |
+ cache_->backend()->EndEnumeration(&iter_); |
+ iter_ = NULL; |
op_type_ = TERMINATE; |
return net::OK; |
} |