Title: [197180] trunk/Source/WebKit2
Revision
197180
Author
ander...@apple.com
Date
2016-02-26 10:44:17 -0800 (Fri, 26 Feb 2016)

Log Message

Cache::traverse should pass the record info to its traversal handler
https://bugs.webkit.org/show_bug.cgi?id=154695

Reviewed by Antti Koivisto.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::fetchDiskCacheEntries):
(WebKit::clearDiskCacheEntries):
* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::traverse):
* NetworkProcess/cache/NetworkCache.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (197179 => 197180)


--- trunk/Source/WebKit2/ChangeLog	2016-02-26 18:40:00 UTC (rev 197179)
+++ trunk/Source/WebKit2/ChangeLog	2016-02-26 18:44:17 UTC (rev 197180)
@@ -1,3 +1,17 @@
+2016-02-25  Anders Carlsson  <ander...@apple.com>
+
+        Cache::traverse should pass the record info to its traversal handler
+        https://bugs.webkit.org/show_bug.cgi?id=154695
+
+        Reviewed by Antti Koivisto.
+
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::fetchDiskCacheEntries):
+        (WebKit::clearDiskCacheEntries):
+        * NetworkProcess/cache/NetworkCache.cpp:
+        (WebKit::NetworkCache::Cache::traverse):
+        * NetworkProcess/cache/NetworkCache.h:
+
 2016-02-25  Gavin Barraclough  <barraclo...@apple.com>
 
         RefCounter value changed callback should be called on all changes (not just zero edge).

Modified: trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp (197179 => 197180)


--- trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp	2016-02-26 18:40:00 UTC (rev 197179)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp	2016-02-26 18:44:17 UTC (rev 197180)
@@ -285,8 +285,8 @@
     if (NetworkCache::singleton().isEnabled()) {
         auto* origins = new HashSet<RefPtr<SecurityOrigin>>();
 
-        NetworkCache::singleton().traverse([completionHandler, origins](const NetworkCache::Entry *entry) {
-            if (!entry) {
+        NetworkCache::singleton().traverse([completionHandler, origins](const NetworkCache::Cache::TraversalEntry *traversalEntry) {
+            if (!traversalEntry) {
                 Vector<WebsiteData::Entry> entries;
 
                 for (auto& origin : *origins)
@@ -301,7 +301,7 @@
                 return;
             }
 
-            origins->add(SecurityOrigin::create(entry->response().url()));
+            origins->add(SecurityOrigin::create(traversalEntry->entry.response().url()));
         });
 
         return;
@@ -397,11 +397,11 @@
 
         auto* cacheKeysToDelete = new Vector<NetworkCache::Key>;
 
-        NetworkCache::singleton().traverse([completionHandler, originsToDelete, cacheKeysToDelete](const NetworkCache::Entry *entry) {
+        NetworkCache::singleton().traverse([completionHandler, originsToDelete, cacheKeysToDelete](const NetworkCache::Cache::TraversalEntry *traversalEntry) {
 
-            if (entry) {
-                if (originsToDelete->contains(SecurityOrigin::create(entry->response().url())))
-                    cacheKeysToDelete->append(entry->key());
+            if (traversalEntry) {
+                if (originsToDelete->contains(SecurityOrigin::create(traversalEntry->entry.response().url())))
+                    cacheKeysToDelete->append(traversalEntry->entry.key());
                 return;
             }
 

Modified: trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp (197179 => 197180)


--- trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp	2016-02-26 18:40:00 UTC (rev 197179)
+++ trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp	2016-02-26 18:44:17 UTC (rev 197180)
@@ -520,11 +520,11 @@
     remove(makeCacheKey(request));
 }
 
-void Cache::traverse(std::function<void (const Entry*)>&& traverseHandler)
+void Cache::traverse(const std::function<void (const TraversalEntry*)>& traverseHandler)
 {
     ASSERT(isEnabled());
 
-    m_storage->traverse(resourceType(), 0, [traverseHandler](const Storage::Record* record, const Storage::RecordInfo&) {
+    m_storage->traverse(resourceType(), 0, [traverseHandler](const Storage::Record* record, const Storage::RecordInfo& recordInfo) {
         if (!record) {
             traverseHandler(nullptr);
             return;
@@ -534,7 +534,8 @@
         if (!entry)
             return;
 
-        traverseHandler(entry.get());
+        TraversalEntry traversalEntry { *entry, recordInfo };
+        traverseHandler(&traversalEntry);
     });
 }
 

Modified: trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.h (197179 => 197180)


--- trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.h	2016-02-26 18:40:00 UTC (rev 197179)
+++ trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.h	2016-02-26 18:44:17 UTC (rev 197180)
@@ -108,7 +108,11 @@
     std::unique_ptr<Entry> storeRedirect(const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, const WebCore::ResourceRequest& redirectRequest);
     std::unique_ptr<Entry> update(const WebCore::ResourceRequest&, const GlobalFrameID&, const Entry&, const WebCore::ResourceResponse& validatingResponse);
 
-    void traverse(std::function<void (const Entry*)>&&);
+    struct TraversalEntry {
+        const Entry& entry;
+        const Storage::RecordInfo& recordInfo;
+    };
+    void traverse(const std::function<void (const TraversalEntry*)>&);
     void remove(const Key&);
     void remove(const WebCore::ResourceRequest&);
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to