Index: net/url_request/view_cache_helper.cc |
diff --git a/net/url_request/view_cache_helper.cc b/net/url_request/view_cache_helper.cc |
index 346c7cdb50c6c60fd46f8bef5f9a37ef57af6f4b..36d3ae5ce0d89d26b8a422b367c2da11900bb232 100644 |
--- a/net/url_request/view_cache_helper.cc |
+++ b/net/url_request/view_cache_helper.cc |
@@ -45,7 +45,6 @@ ViewCacheHelper::ViewCacheHelper() |
: context_(NULL), |
disk_cache_(NULL), |
entry_(NULL), |
- iter_(NULL), |
buf_len_(0), |
index_(0), |
data_(NULL), |
@@ -242,9 +241,11 @@ int ViewCacheHelper::DoGetBackendComplete(int result) { |
int ViewCacheHelper::DoOpenNextEntry() { |
next_state_ = STATE_OPEN_NEXT_ENTRY_COMPLETE; |
- return disk_cache_->OpenNextEntry( |
- &iter_, &entry_, |
- base::Bind(&ViewCacheHelper::OnIOComplete, base::Unretained(this))); |
+ if (!iter_) |
+ iter_ = disk_cache_->CreateIterator(); |
+ return |
+ iter_->OpenNextEntry(&entry_, base::Bind(&ViewCacheHelper::OnIOComplete, |
+ base::Unretained(this))); |
} |
int ViewCacheHelper::DoOpenNextEntryComplete(int result) { |