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

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

Issue 542733002: Remove void** from disk_cache interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix EnumerateAndMatchKeys 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
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 2fb5216d8f19a7c1ccd4ea561e894b3648adc446..e9989fa60a929804fd881ef9260f36c33091f9f2 100644
--- a/content/browser/service_worker/service_worker_cache.cc
+++ b/content/browser/service_worker/service_worker_cache.cc
@@ -597,7 +597,6 @@ struct ServiceWorkerCache::KeysContext {
: original_callback(callback),
cache(cache),
out_keys(new ServiceWorkerCache::Requests()),
- backend_iterator(NULL),
enumerated_entry(NULL) {}
~KeysContext() {
@@ -605,8 +604,6 @@ struct ServiceWorkerCache::KeysContext {
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.
@@ -622,7 +619,7 @@ struct ServiceWorkerCache::KeysContext {
scoped_ptr<ServiceWorkerCache::Requests> out_keys;
// Used for enumerating cache entries.
- void* backend_iterator;
+ scoped_ptr<disk_cache::Backend::Iterator> backend_iterator;
disk_cache::Entry* enumerated_entry;
};
@@ -774,14 +771,14 @@ void ServiceWorkerCache::Keys(const RequestsCallback& callback) {
scoped_ptr<KeysContext> keys_context(
new KeysContext(callback, weak_ptr_factory_.GetWeakPtr()));
- void** backend_iterator = &keys_context->backend_iterator;
+ keys_context->backend_iterator = backend_->CreateIterator();
+ disk_cache::Backend::Iterator& 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 = backend_->OpenNextEntry(
- backend_iterator, enumerated_entry, open_entry_callback);
+ int rv = iterator.OpenNextEntry(enumerated_entry, open_entry_callback);
if (rv != net::ERR_IO_PENDING)
open_entry_callback.Run(rv);
@@ -864,14 +861,12 @@ void ServiceWorkerCache::KeysDidOpenNextEntry(
keys_context->enumerated_entry = NULL;
// Enumerate the next entry.
- void** backend_iterator = &keys_context->backend_iterator;
+ disk_cache::Backend::Iterator& 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 = cache->backend_->OpenNextEntry(
- backend_iterator, enumerated_entry, open_entry_callback);
+ rv = iterator.OpenNextEntry(enumerated_entry, open_entry_callback);
if (rv != net::ERR_IO_PENDING)
open_entry_callback.Run(rv);

Powered by Google App Engine
This is Rietveld 408576698