Title: [221447] trunk/Source/WebKit
Revision
221447
Author
commit-qu...@webkit.org
Date
2017-08-31 14:55:17 -0700 (Thu, 31 Aug 2017)

Log Message

Introduce CacheStorageEngineCache to handle cache records
https://bugs.webkit.org/show_bug.cgi?id=176137

Patch by Youenn Fablet <you...@apple.com> on 2017-08-31
Reviewed by Alex Christensen.

CacheStorageEngineCache is the equivalent of WebCore Cache.
It contains a list of records that it needs to manage (add, update, remove).
Moving the logic of this management from CacheStorageEngine to this new class so as to ease future development.

* CMakeLists.txt:
* NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::open):
(WebKit::CacheStorage::Engine::remove):
(WebKit::CacheStorage::Engine::retrieveRecords):
(WebKit::CacheStorage::Engine::putRecords):
(WebKit::CacheStorage::Engine::deleteMatchingRecords):
(WebKit::CacheStorage::Engine::cache):
(WebKit::CacheStorage::Engine::writeCacheRecords): Deleted.
(WebKit::CacheStorage::Engine::removeCacheRecords): Deleted.
(WebKit::CacheStorage::Engine::queryCache): Deleted.
* NetworkProcess/cache/CacheStorageEngine.h:
* NetworkProcess/cache/CacheStorageEngineCache.cpp: Added.
* NetworkProcess/cache/CacheStorageEngineCache.h:
(WebKit::CacheStorage::Cache::identifier const):
(WebKit::CacheStorage::Cache::name const):
(WebKit::CacheStorage::Cache::info const):
* NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::find):
(WebKit::CacheStorage::Caches::open):
(WebKit::CacheStorage::Caches::remove):
(WebKit::CacheStorage::encodeCacheNames):
(WebKit::CacheStorage::Caches::readCachesFromDisk):
(WebKit::CacheStorage::Caches::cacheInfos const):
* WebKit.xcodeproj/project.pbxproj:

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebKit/CMakeLists.txt (221446 => 221447)


--- trunk/Source/WebKit/CMakeLists.txt	2017-08-31 21:50:57 UTC (rev 221446)
+++ trunk/Source/WebKit/CMakeLists.txt	2017-08-31 21:55:17 UTC (rev 221447)
@@ -117,6 +117,7 @@
     NetworkProcess/PingLoad.cpp
 
     NetworkProcess/cache/CacheStorageEngine.cpp
+    NetworkProcess/cache/CacheStorageEngineCache.cpp
     NetworkProcess/cache/CacheStorageEngineCaches.cpp
     NetworkProcess/cache/CacheStorageEngineConnection.cpp
     NetworkProcess/cache/NetworkCache.cpp

Modified: trunk/Source/WebKit/ChangeLog (221446 => 221447)


--- trunk/Source/WebKit/ChangeLog	2017-08-31 21:50:57 UTC (rev 221446)
+++ trunk/Source/WebKit/ChangeLog	2017-08-31 21:55:17 UTC (rev 221447)
@@ -1,3 +1,40 @@
+2017-08-31  Youenn Fablet  <you...@apple.com>
+
+        Introduce CacheStorageEngineCache to handle cache records
+        https://bugs.webkit.org/show_bug.cgi?id=176137
+
+        Reviewed by Alex Christensen.
+
+        CacheStorageEngineCache is the equivalent of WebCore Cache.
+        It contains a list of records that it needs to manage (add, update, remove).
+        Moving the logic of this management from CacheStorageEngine to this new class so as to ease future development.
+
+        * CMakeLists.txt:
+        * NetworkProcess/cache/CacheStorageEngine.cpp:
+        (WebKit::CacheStorage::Engine::open):
+        (WebKit::CacheStorage::Engine::remove):
+        (WebKit::CacheStorage::Engine::retrieveRecords):
+        (WebKit::CacheStorage::Engine::putRecords):
+        (WebKit::CacheStorage::Engine::deleteMatchingRecords):
+        (WebKit::CacheStorage::Engine::cache):
+        (WebKit::CacheStorage::Engine::writeCacheRecords): Deleted.
+        (WebKit::CacheStorage::Engine::removeCacheRecords): Deleted.
+        (WebKit::CacheStorage::Engine::queryCache): Deleted.
+        * NetworkProcess/cache/CacheStorageEngine.h:
+        * NetworkProcess/cache/CacheStorageEngineCache.cpp: Added.
+        * NetworkProcess/cache/CacheStorageEngineCache.h:
+        (WebKit::CacheStorage::Cache::identifier const):
+        (WebKit::CacheStorage::Cache::name const):
+        (WebKit::CacheStorage::Cache::info const):
+        * NetworkProcess/cache/CacheStorageEngineCaches.cpp:
+        (WebKit::CacheStorage::Caches::find):
+        (WebKit::CacheStorage::Caches::open):
+        (WebKit::CacheStorage::Caches::remove):
+        (WebKit::CacheStorage::encodeCacheNames):
+        (WebKit::CacheStorage::Caches::readCachesFromDisk):
+        (WebKit::CacheStorage::Caches::cacheInfos const):
+        * WebKit.xcodeproj/project.pbxproj:
+
 2017-08-31  David Quesada  <david_ques...@apple.com>
 
         WKNavigationDelegatePrivate client redirect SPI needs to be able to detect redirects scheduled before the document finishes loading

Modified: trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp (221446 => 221447)


--- trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp	2017-08-31 21:50:57 UTC (rev 221446)
+++ trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp	2017-08-31 21:55:17 UTC (rev 221447)
@@ -93,7 +93,7 @@
         Caches& caches = cachesOrError.value();
 
         if (auto* cache = caches.find(cacheName)) {
-            callback(cache->identifier);
+            callback(cache->identifier());
             return;
         }
 
@@ -146,93 +146,32 @@
             callback(makeUnexpected(result.error()));
             return;
         }
-        // FIXME: Pass records by reference.
-        auto& records = result.value().get().records;
 
-        Vector<Record> copy;
-        copy.reserveInitialCapacity(records.size());
-        for (auto& record : records)
-            copy.uncheckedAppend(record.copy());
-
-        callback(WTFMove(copy));
+        callback(result.value().get().records());
     });
 }
 
 void Engine::putRecords(uint64_t cacheIdentifier, Vector<Record>&& records, RecordIdentifiersCallback&& callback)
 {
-    readCache(cacheIdentifier, [this, cacheIdentifier, records = WTFMove(records), callback = WTFMove(callback)](CacheOrError&& result) mutable {
+    readCache(cacheIdentifier, [this, records = WTFMove(records), callback = WTFMove(callback)](CacheOrError&& result) mutable {
         if (!result.hasValue()) {
             callback(makeUnexpected(result.error()));
             return;
         }
 
-        Cache& cache = result.value();
-
-        WebCore::CacheQueryOptions options;
-        Vector<uint64_t> recordIdentifiers;
-        recordIdentifiers.reserveInitialCapacity(records.size());
-        for (auto& record : records) {
-            auto matchingRecords = Engine::queryCache(cache.records, record.request, options);
-            if (matchingRecords.isEmpty()) {
-                record.identifier = ++cache.nextRecordIdentifier;
-                recordIdentifiers.uncheckedAppend(record.identifier);
-                cache.records.append(WTFMove(record));
-            } else {
-                auto identifier = matchingRecords[0];
-                auto position = cache.records.findMatching([&](const auto& item) { return item.identifier == identifier; });
-                ASSERT(position != notFound);
-                if (position != notFound) {
-                    auto& existingRecord = cache.records[position];
-                    recordIdentifiers.uncheckedAppend(identifier);
-                    existingRecord.responseHeadersGuard = record.responseHeadersGuard;
-                    existingRecord.response = WTFMove(record.response);
-                    existingRecord.responseBody = WTFMove(record.responseBody);
-                    ++existingRecord.updateResponseCounter;
-                }
-            }
-        }
-        writeCacheRecords(cacheIdentifier, WTFMove(recordIdentifiers), [callback = WTFMove(callback)](RecordIdentifiersOrError&& result) mutable {
-            callback(WTFMove(result));
-        });
+        result.value().get().put(WTFMove(records), WTFMove(callback));
     });
 }
 
 void Engine::deleteMatchingRecords(uint64_t cacheIdentifier, WebCore::ResourceRequest&& request, WebCore::CacheQueryOptions&& options, RecordIdentifiersCallback&& callback)
 {
-    readCache(cacheIdentifier, [this, cacheIdentifier, request = WTFMove(request), options = WTFMove(options), callback = WTFMove(callback)](CacheOrError&& result) mutable {
+    readCache(cacheIdentifier, [this, request = WTFMove(request), options = WTFMove(options), callback = WTFMove(callback)](CacheOrError&& result) mutable {
         if (!result.hasValue()) {
             callback(makeUnexpected(result.error()));
             return;
         }
 
-        auto& currentRecords = result.value().get().records;
-
-        auto recordsToRemove = queryCache(currentRecords, request, options);
-        if (recordsToRemove.isEmpty()) {
-            callback({ });
-            return;
-        }
-
-        Vector<Record> recordsToKeep;
-        for (auto& record : currentRecords) {
-            if (recordsToRemove.findMatching([&](auto item) { return item == record.identifier; }) == notFound)
-                recordsToKeep.append(record.copy());
-        }
-        removeCacheRecords(cacheIdentifier, WTFMove(recordsToRemove), [this, cacheIdentifier, recordsToKeep = WTFMove(recordsToKeep), callback = WTFMove(callback)](RecordIdentifiersOrError&& result) mutable {
-            if (!result.hasValue()) {
-                callback(makeUnexpected(result.error()));
-                return;
-            }
-
-            auto* writtenCache = cache(cacheIdentifier);
-            if (!writtenCache) {
-                callback(makeUnexpected(Error::Internal));
-                return;
-            }
-            writtenCache->records = WTFMove(recordsToKeep);
-
-            callback(WTFMove(result.value()));
-        });
+        result.value().get().remove(WTFMove(request), WTFMove(options), WTFMove(callback));
     });
 }
 
@@ -304,18 +243,6 @@
     callback(std::reference_wrapper<Cache> { *cache });
 }
 
-void Engine::writeCacheRecords(uint64_t cacheIdentifier, Vector<uint64_t>&& recordsIdentifiers, RecordIdentifiersCallback&& callback)
-{
-    // FIXME: Implement writing.
-    callback(WTFMove(recordsIdentifiers));
-}
-
-void Engine::removeCacheRecords(uint64_t cacheIdentifier, Vector<uint64_t>&& recordsIdentifiers, RecordIdentifiersCallback&& callback)
-{
-    // FIXME: Implement writing.
-    callback(WTFMove(recordsIdentifiers));
-}
-
 Cache* Engine::cache(uint64_t cacheIdentifier)
 {
     Cache* result = nullptr;
@@ -326,19 +253,6 @@
     return result;
 }
 
-Vector<uint64_t> Engine::queryCache(const Vector<Record>& records, const WebCore::ResourceRequest& request, const WebCore::CacheQueryOptions& options)
-{
-    if (!options.ignoreMethod && request.httpMethod() != "GET")
-        return { };
-
-    Vector<uint64_t> results;
-    for (const auto& record : records) {
-        if (WebCore::DOMCache::queryCacheMatch(request, record.request, record.response, options))
-            results.append(record.identifier);
-    }
-    return results;
-}
-
 void Engine::writeFile(const String& filename, NetworkCache::Data&& data, WebCore::DOMCache::CompletionCallback&& callback)
 {
     if (!shouldPersist()) {

Modified: trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngine.h (221446 => 221447)


--- trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngine.h	2017-08-31 21:50:57 UTC (rev 221446)
+++ trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngine.h	2017-08-31 21:55:17 UTC (rev 221447)
@@ -85,11 +85,6 @@
     using CacheCallback = WTF::Function<void(CacheOrError&&)>;
     void readCache(uint64_t cacheIdentifier, CacheCallback&&);
 
-    void writeCacheRecords(uint64_t cacheIdentifier, Vector<uint64_t>&&, WebCore::DOMCache::RecordIdentifiersCallback&&);
-    void removeCacheRecords(uint64_t cacheIdentifier, Vector<uint64_t>&&, WebCore::DOMCache::RecordIdentifiersCallback&&);
-
-    Vector<uint64_t> queryCache(const Vector<WebCore::DOMCache::Record>&, const WebCore::ResourceRequest&, const WebCore::CacheQueryOptions&);
-
     Cache* cache(uint64_t cacheIdentifier);
 
     HashMap<String, Ref<Caches>> m_caches;

Added: trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp (0 => 221447)


--- trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp	                        (rev 0)
+++ trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp	2017-08-31 21:55:17 UTC (rev 221447)
@@ -0,0 +1,169 @@
+/*
+ * Copyright (C) 2017 Apple Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "CacheStorageEngine.h"
+
+#include "NetworkCacheIOChannel.h"
+#include "NetworkCacheKey.h"
+#include "NetworkProcess.h"
+#include <WebCore/CacheQueryOptions.h>
+#include <pal/SessionID.h>
+#include <wtf/CurrentTime.h>
+#include <wtf/MainThread.h>
+#include <wtf/NeverDestroyed.h>
+#include <wtf/persistence/PersistentCoders.h>
+#include <wtf/persistence/PersistentDecoder.h>
+#include <wtf/persistence/PersistentEncoder.h>
+#include <wtf/text/StringBuilder.h>
+#include <wtf/text/StringHash.h>
+
+
+using namespace WebCore;
+using namespace WebCore::DOMCache;
+using namespace WebKit::NetworkCache;
+
+namespace WebKit {
+
+namespace CacheStorage {
+
+Cache::Cache(uint64_t identifier, String&& name)
+    : m_identifier(identifier)
+    , m_name(WTFMove(name))
+{
+}
+
+Vector<Record> Cache::records() const
+{
+    Vector<Record> records;
+    records.reserveInitialCapacity(m_records.size());
+    for (auto& record : m_records)
+        records.uncheckedAppend(record.copy());
+    return records;
+}
+
+void Cache::put(Vector<Record>&& records, RecordIdentifiersCallback&& callback)
+{
+    bool shouldWriteRecordList { false };
+    WebCore::CacheQueryOptions options;
+    Vector<uint64_t> recordIdentifiers;
+    recordIdentifiers.reserveInitialCapacity(records.size());
+    for (auto& record : records) {
+        auto matchingRecords = queryCache(record.request, options);
+        if (matchingRecords.isEmpty()) {
+            record.identifier = ++m_nextRecordIdentifier;
+            recordIdentifiers.uncheckedAppend(record.identifier);
+            m_records.append(WTFMove(record));
+
+            shouldWriteRecordList = true;
+            writeRecordToDisk(m_records.last());
+        } else {
+            auto identifier = matchingRecords[0];
+            auto position = m_records.findMatching([&](const auto& item) { return item.identifier == identifier; });
+            ASSERT(position != notFound);
+            if (position != notFound) {
+                auto& existingRecord = m_records[position];
+                recordIdentifiers.uncheckedAppend(identifier);
+                existingRecord.responseHeadersGuard = record.responseHeadersGuard;
+                existingRecord.response = WTFMove(record.response);
+                existingRecord.responseBody = WTFMove(record.responseBody);
+                ++existingRecord.updateResponseCounter;
+
+                writeRecordToDisk(existingRecord);
+            }
+        }
+    }
+
+    if (!shouldWriteRecordList) {
+        callback(WTFMove(recordIdentifiers));
+        return;
+    }
+    writeRecordsList([callback = WTFMove(callback), recordIdentifiers = WTFMove(recordIdentifiers)](std::optional<Error>&& error) mutable {
+        if (error) {
+            callback(makeUnexpected(error.value()));
+            return;
+        }
+        callback(WTFMove(recordIdentifiers));
+    });
+}
+
+void Cache::remove(WebCore::ResourceRequest&& request, WebCore::CacheQueryOptions&& options, RecordIdentifiersCallback&& callback)
+{
+    auto recordIdentifiers = queryCache(request, options);
+    if (recordIdentifiers.isEmpty()) {
+        callback({ });
+        return;
+    }
+
+    Vector<Record> recordsToKeep;
+    for (auto& record : m_records) {
+        if (recordIdentifiers.findMatching([&](auto item) { return item == record.identifier; }) == notFound)
+            recordsToKeep.append(WTFMove(record));
+        else
+            removeRecordFromDisk(record);
+    }
+    m_records = WTFMove(recordsToKeep);
+
+    writeRecordsList([callback = WTFMove(callback), recordIdentifiers = WTFMove(recordIdentifiers)](std::optional<Error>&& error) mutable {
+        if (error) {
+            callback(makeUnexpected(error.value()));
+            return;
+        }
+        callback(WTFMove(recordIdentifiers));
+    });
+}
+
+Vector<uint64_t> Cache::queryCache(const ResourceRequest& request, const CacheQueryOptions& options)
+{
+    if (!options.ignoreMethod && request.httpMethod() != "GET")
+        return { };
+
+    Vector<uint64_t> results;
+    for (const auto& record : m_records) {
+        if (WebCore::DOMCache::queryCacheMatch(request, record.request, record.response, options))
+            results.append(record.identifier);
+    }
+    return results;
+}
+
+void Cache::writeRecordsList(CompletionCallback&& callback)
+{
+    // FIXME: Implement this.
+    callback(std::nullopt);
+}
+
+void Cache::writeRecordToDisk(Record& record)
+{
+    // FIXME: Implement this.
+}
+
+void Cache::removeRecordFromDisk(Record& record)
+{
+    // FIXME: Implement this.
+}
+
+} // namespace CacheStorage
+
+} // namespace WebKit

Modified: trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.h (221446 => 221447)


--- trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.h	2017-08-31 21:50:57 UTC (rev 221446)
+++ trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.h	2017-08-31 21:55:17 UTC (rev 221447)
@@ -33,11 +33,30 @@
 
 namespace CacheStorage {
 
-struct Cache {
-    uint64_t identifier { 0 };
-    String name;
-    Vector<WebCore::DOMCache::Record> records;
-    uint64_t nextRecordIdentifier { 0 };
+class Cache {
+public:
+    Cache(uint64_t identifier, String&& name);
+
+    uint64_t identifier() const { return m_identifier; }
+    const String& name() const { return m_name; }
+
+    Vector<WebCore::DOMCache::Record> records() const;
+    WebCore::DOMCache::CacheInfo info() const { return { m_identifier, m_name }; }
+
+    void put(Vector<WebCore::DOMCache::Record>&&, WebCore::DOMCache::RecordIdentifiersCallback&&);
+    void remove(WebCore::ResourceRequest&&, WebCore::CacheQueryOptions&&, WebCore::DOMCache::RecordIdentifiersCallback&&);
+
+private:
+    Vector<uint64_t> queryCache(const WebCore::ResourceRequest&, const WebCore::CacheQueryOptions&);
+
+    void writeRecordsList(WebCore::DOMCache::CompletionCallback&&);
+    void writeRecordToDisk(WebCore::DOMCache::Record&);
+    void removeRecordFromDisk(WebCore::DOMCache::Record&);
+
+    uint64_t m_identifier { 0 };
+    String m_name;
+    Vector<WebCore::DOMCache::Record> m_records;
+    uint64_t m_nextRecordIdentifier { 0 };
 };
 
 } // namespace CacheStorage

Modified: trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.cpp (221446 => 221447)


--- trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.cpp	2017-08-31 21:50:57 UTC (rev 221446)
+++ trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.cpp	2017-08-31 21:55:17 UTC (rev 221447)
@@ -101,17 +101,17 @@
 
 Cache* Caches::find(const String& name)
 {
-    auto position = m_caches.findMatching([&](const auto& item) { return item.name == name; });
+    auto position = m_caches.findMatching([&](const auto& item) { return item.name() == name; });
     return (position != notFound) ? &m_caches[position] : nullptr;
 }
 
 Cache* Caches::find(uint64_t identifier)
 {
-    auto position = m_caches.findMatching([&](const auto& item) { return item.identifier == identifier; });
+    auto position = m_caches.findMatching([&](const auto& item) { return item.identifier() == identifier; });
     if (position != notFound)
         return &m_caches[position];
 
-    position = m_removedCaches.findMatching([&](const auto& item) { return item.identifier == identifier; });
+    position = m_removedCaches.findMatching([&](const auto& item) { return item.identifier() == identifier; });
     return (position != notFound) ? &m_removedCaches[position] : nullptr;
 }
 
@@ -120,7 +120,7 @@
     ASSERT(m_engine);
 
     uint64_t cacheIdentifier = m_engine->nextCacheIdentifier();
-    m_caches.append(Cache { cacheIdentifier, WTFMove(name), { }, 0 });
+    m_caches.append(Cache { cacheIdentifier, WTFMove(name) });
     writeCachesToDisk([callback = WTFMove(callback), cacheIdentifier](std::optional<Error>&& error) mutable {
         if (error) {
             callback(makeUnexpected(error.value()));
@@ -134,10 +134,10 @@
 {
     ASSERT(m_engine);
 
-    auto position = m_caches.findMatching([&](const auto& item) { return item.identifier == identifier; });
+    auto position = m_caches.findMatching([&](const auto& item) { return item.identifier() == identifier; });
 
     if (position == notFound) {
-        ASSERT(m_removedCaches.findMatching([&](const auto& item) { return item.identifier == identifier; }) != notFound);
+        ASSERT(m_removedCaches.findMatching([&](const auto& item) { return item.identifier() == identifier; }) != notFound);
         callback(std::nullopt);
         return;
     }
@@ -156,7 +156,7 @@
     uint64_t size = caches.size();
     encoder << size;
     for (auto& cache : caches)
-        encoder << cache.name;
+        encoder << cache.name();
 
     return Data { encoder.buffer(), encoder.bufferSize() };
 }
@@ -214,7 +214,7 @@
         Vector<Cache> caches;
         caches.reserveInitialCapacity(result.value().size());
         for (auto& name : result.value())
-            caches.uncheckedAppend(Cache { m_engine->nextCacheIdentifier(), WTFMove(name), { }, 0 });
+            caches.uncheckedAppend(Cache { m_engine->nextCacheIdentifier(), WTFMove(name) });
 
         callback(WTFMove(caches));
     });
@@ -252,7 +252,7 @@
     Vector<CacheInfo> cacheInfos;
     cacheInfos.reserveInitialCapacity(m_caches.size());
     for (auto& cache : m_caches)
-        cacheInfos.uncheckedAppend(CacheInfo { cache.identifier, cache.name });
+        cacheInfos.uncheckedAppend(CacheInfo { cache.identifier(), cache.name() });
     return cacheInfos;
 }
 

Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (221446 => 221447)


--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2017-08-31 21:50:57 UTC (rev 221446)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2017-08-31 21:55:17 UTC (rev 221447)
@@ -899,6 +899,7 @@
 		41897ED81F415D8A0016FA42 /* CacheStorageEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 41897ED21F415D850016FA42 /* CacheStorageEngine.h */; };
 		41897ED91F415D8A0016FA42 /* CacheStorageEngineConnection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41897ED31F415D850016FA42 /* CacheStorageEngineConnection.cpp */; };
 		41897EDA1F415D8A0016FA42 /* CacheStorageEngineConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 41897ED41F415D850016FA42 /* CacheStorageEngineConnection.h */; };
+		41C8581A1F5136CA0065E085 /* CacheStorageEngineCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41C858191F510DEE0065E085 /* CacheStorageEngineCache.cpp */; };
 		41D129DA1F3D101800D15E47 /* WebCacheStorageProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 41D129D91F3D101400D15E47 /* WebCacheStorageProvider.h */; };
 		41DC45961E3D6E2200B11F51 /* NetworkRTCProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 41DC45941E3D6E1E00B11F51 /* NetworkRTCProvider.h */; };
 		41DC45971E3D6E2200B11F51 /* NetworkRTCProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41DC45951E3D6E1E00B11F51 /* NetworkRTCProvider.cpp */; };
@@ -3175,6 +3176,7 @@
 		41897ED51F415D850016FA42 /* CacheStorageEngineConnection.messages.in */ = {isa = PBXFileReference; lastKnownFileType = text; path = CacheStorageEngineConnection.messages.in; sourceTree = "<group>"; };
 		41897ED61F415D860016FA42 /* CacheStorageEngine.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CacheStorageEngine.cpp; sourceTree = "<group>"; };
 		41AC86811E042E5300303074 /* WebRTCResolver.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; lineEnding = 0; name = WebRTCResolver.messages.in; path = Network/webrtc/WebRTCResolver.messages.in; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = "<none>"; };
+		41C858191F510DEE0065E085 /* CacheStorageEngineCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CacheStorageEngineCache.cpp; sourceTree = "<group>"; };
 		41D129D91F3D101400D15E47 /* WebCacheStorageProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebCacheStorageProvider.h; sourceTree = "<group>"; };
 		41DC45941E3D6E1E00B11F51 /* NetworkRTCProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkRTCProvider.h; path = NetworkProcess/webrtc/NetworkRTCProvider.h; sourceTree = "<group>"; };
 		41DC45951E3D6E1E00B11F51 /* NetworkRTCProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkRTCProvider.cpp; path = NetworkProcess/webrtc/NetworkRTCProvider.cpp; sourceTree = "<group>"; };
@@ -8203,6 +8205,7 @@
 			children = (
 				41897ED61F415D860016FA42 /* CacheStorageEngine.cpp */,
 				41897ED21F415D850016FA42 /* CacheStorageEngine.h */,
+				41C858191F510DEE0065E085 /* CacheStorageEngineCache.cpp */,
 				41FABD281F4DDFDC006A6C97 /* CacheStorageEngineCache.h */,
 				4135FBCF1F4FB7F20074C47B /* CacheStorageEngineCaches.cpp */,
 				4135FBD01F4FB7F20074C47B /* CacheStorageEngineCaches.h */,
@@ -9996,6 +9999,7 @@
 				E170876B16D6CA6900F99226 /* BlobRegistryProxy.cpp in Sources */,
 				BCF18638167D071E00A1A85A /* CacheModel.cpp in Sources */,
 				41897ED71F415D8A0016FA42 /* CacheStorageEngine.cpp in Sources */,
+				41C8581A1F5136CA0065E085 /* CacheStorageEngineCache.cpp in Sources */,
 				4135FBD11F4FB8090074C47B /* CacheStorageEngineCaches.cpp in Sources */,
 				41897ED91F415D8A0016FA42 /* CacheStorageEngineConnection.cpp in Sources */,
 				517CF0E3163A486C00C2950F /* CacheStorageEngineConnectionMessageReceiver.cpp in Sources */,
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to