⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 197180 in webkit


Ignore:
Timestamp:
Feb 26, 2016, 10:44:17 AM (11 years ago)
Author:
andersca@apple.com
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:
Location:
trunk/Source/WebKit2
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r197178 r197180  
     12016-02-25  Anders Carlsson  <andersca@apple.com>
     2
     3        Cache::traverse should pass the record info to its traversal handler
     4        https://bugs.webkit.org/show_bug.cgi?id=154695
     5
     6        Reviewed by Antti Koivisto.
     7
     8        * NetworkProcess/NetworkProcess.cpp:
     9        (WebKit::fetchDiskCacheEntries):
     10        (WebKit::clearDiskCacheEntries):
     11        * NetworkProcess/cache/NetworkCache.cpp:
     12        (WebKit::NetworkCache::Cache::traverse):
     13        * NetworkProcess/cache/NetworkCache.h:
     14
    1152016-02-25  Gavin Barraclough  <barraclough@apple.com>
    216
  • trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp

    r197050 r197180  
    286286        auto* origins = new HashSet<RefPtr<SecurityOrigin>>();
    287287
    288         NetworkCache::singleton().traverse([completionHandler, origins](const NetworkCache::Entry *entry) {
    289             if (!entry) {
     288        NetworkCache::singleton().traverse([completionHandler, origins](const NetworkCache::Cache::TraversalEntry *traversalEntry) {
     289            if (!traversalEntry) {
    290290                Vector<WebsiteData::Entry> entries;
    291291
     
    302302            }
    303303
    304             origins->add(SecurityOrigin::create(entry->response().url()));
     304            origins->add(SecurityOrigin::create(traversalEntry->entry.response().url()));
    305305        });
    306306
     
    398398        auto* cacheKeysToDelete = new Vector<NetworkCache::Key>;
    399399
    400         NetworkCache::singleton().traverse([completionHandler, originsToDelete, cacheKeysToDelete](const NetworkCache::Entry *entry) {
    401 
    402             if (entry) {
    403                 if (originsToDelete->contains(SecurityOrigin::create(entry->response().url())))
    404                     cacheKeysToDelete->append(entry->key());
     400        NetworkCache::singleton().traverse([completionHandler, originsToDelete, cacheKeysToDelete](const NetworkCache::Cache::TraversalEntry *traversalEntry) {
     401
     402            if (traversalEntry) {
     403                if (originsToDelete->contains(SecurityOrigin::create(traversalEntry->entry.response().url())))
     404                    cacheKeysToDelete->append(traversalEntry->entry.key());
    405405                return;
    406406            }
  • trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp

    r194496 r197180  
    521521}
    522522
    523 void Cache::traverse(std::function<void (const Entry*)>&& traverseHandler)
     523void Cache::traverse(const std::function<void (const TraversalEntry*)>& traverseHandler)
    524524{
    525525    ASSERT(isEnabled());
    526526
    527     m_storage->traverse(resourceType(), 0, [traverseHandler](const Storage::Record* record, const Storage::RecordInfo&) {
     527    m_storage->traverse(resourceType(), 0, [traverseHandler](const Storage::Record* record, const Storage::RecordInfo& recordInfo) {
    528528        if (!record) {
    529529            traverseHandler(nullptr);
     
    535535            return;
    536536
    537         traverseHandler(entry.get());
     537        TraversalEntry traversalEntry { *entry, recordInfo };
     538        traverseHandler(&traversalEntry);
    538539    });
    539540}
  • trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.h

    r194313 r197180  
    109109    std::unique_ptr<Entry> update(const WebCore::ResourceRequest&, const GlobalFrameID&, const Entry&, const WebCore::ResourceResponse& validatingResponse);
    110110
    111     void traverse(std::function<void (const Entry*)>&&);
     111    struct TraversalEntry {
     112        const Entry& entry;
     113        const Storage::RecordInfo& recordInfo;
     114    };
     115    void traverse(const std::function<void (const TraversalEntry*)>&);
    112116    void remove(const Key&);
    113117    void remove(const WebCore::ResourceRequest&);
Note: See TracChangeset for help on using the changeset viewer.