| 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;
|
| }
|
|
|