Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1569)

Unified Diff: content/browser/service_worker/service_worker_cache.cc

Issue 585833002: Revert of Remove void** from disk_cache interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/gpu/shader_disk_cache.cc ('k') | net/disk_cache/backend_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/service_worker/service_worker_cache.cc
diff --git a/content/browser/service_worker/service_worker_cache.cc b/content/browser/service_worker/service_worker_cache.cc
index e9989fa60a929804fd881ef9260f36c33091f9f2..2fb5216d8f19a7c1ccd4ea561e894b3648adc446 100644
--- a/content/browser/service_worker/service_worker_cache.cc
+++ b/content/browser/service_worker/service_worker_cache.cc
@@ -597,6 +597,7 @@
: original_callback(callback),
cache(cache),
out_keys(new ServiceWorkerCache::Requests()),
+ backend_iterator(NULL),
enumerated_entry(NULL) {}
~KeysContext() {
@@ -604,6 +605,8 @@
entries[i]->Close();
if (enumerated_entry)
enumerated_entry->Close();
+ if (cache && backend_iterator && cache->backend_)
+ cache->backend_->EndEnumeration(&backend_iterator);
}
// The callback passed to the Keys() function.
@@ -619,7 +622,7 @@
scoped_ptr<ServiceWorkerCache::Requests> out_keys;
// Used for enumerating cache entries.
- scoped_ptr<disk_cache::Backend::Iterator> backend_iterator;
+ void* backend_iterator;
disk_cache::Entry* enumerated_entry;
};
@@ -771,14 +774,14 @@
scoped_ptr<KeysContext> keys_context(
new KeysContext(callback, weak_ptr_factory_.GetWeakPtr()));
- keys_context->backend_iterator = backend_->CreateIterator();
- disk_cache::Backend::Iterator& iterator = *keys_context->backend_iterator;
+ void** backend_iterator = &keys_context->backend_iterator;
disk_cache::Entry** enumerated_entry = &keys_context->enumerated_entry;
net::CompletionCallback open_entry_callback =
base::Bind(KeysDidOpenNextEntry, base::Passed(keys_context.Pass()));
- int rv = iterator.OpenNextEntry(enumerated_entry, open_entry_callback);
+ int rv = backend_->OpenNextEntry(
+ backend_iterator, enumerated_entry, open_entry_callback);
if (rv != net::ERR_IO_PENDING)
open_entry_callback.Run(rv);
@@ -861,12 +864,14 @@
keys_context->enumerated_entry = NULL;
// Enumerate the next entry.
- disk_cache::Backend::Iterator& iterator = *keys_context->backend_iterator;
+ void** backend_iterator = &keys_context->backend_iterator;
disk_cache::Entry** enumerated_entry = &keys_context->enumerated_entry;
+
net::CompletionCallback open_entry_callback =
base::Bind(KeysDidOpenNextEntry, base::Passed(keys_context.Pass()));
- rv = iterator.OpenNextEntry(enumerated_entry, open_entry_callback);
+ rv = cache->backend_->OpenNextEntry(
+ backend_iterator, enumerated_entry, open_entry_callback);
if (rv != net::ERR_IO_PENDING)
open_entry_callback.Run(rv);
« no previous file with comments | « content/browser/gpu/shader_disk_cache.cc ('k') | net/disk_cache/backend_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698