Title: [239671] trunk/Source/WebKit
Revision
239671
Author
[email protected]
Date
2019-01-07 05:56:42 -0800 (Mon, 07 Jan 2019)

Log Message

Modernize CacheModel and disk cache fetching and clearing
https://bugs.webkit.org/show_bug.cgi?id=193164

Reviewed by Joseph Pecoraro.

fetchDiskCacheEntries and clearDiskCacheEntries now use an early-return model.
CacheModel is now an enum class.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::fetchDiskCacheEntries):
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::clearDiskCacheEntries):
(WebKit::NetworkProcess::setCacheModel):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/NetworkProcessCreationParameters.h:
* NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::initializeShareableResourceHandleFromStorageRecord const):
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::clearDiskCache):
* Shared/CacheModel.cpp:
(WebKit::calculateMemoryCacheSizes):
(WebKit::calculateURLCacheSizes):
* Shared/CacheModel.h:
(): Deleted.
* UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::createWithLegacyOptions):
* UIProcess/API/APIProcessPoolConfiguration.h:
* UIProcess/API/C/WKAPICast.h:
(WebKit::toCacheModel):
(WebKit::toAPI):
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration pageCacheEnabled]):
(-[_WKProcessPoolConfiguration setPageCacheEnabled:]):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::setCacheModel):
(WebKit::WebProcess::clearResourceCaches):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (239670 => 239671)


--- trunk/Source/WebKit/ChangeLog	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/ChangeLog	2019-01-07 13:56:42 UTC (rev 239671)
@@ -1,3 +1,48 @@
+2019-01-07  Alex Christensen  <[email protected]>
+
+        Modernize CacheModel and disk cache fetching and clearing
+        https://bugs.webkit.org/show_bug.cgi?id=193164
+
+        Reviewed by Joseph Pecoraro.
+
+        fetchDiskCacheEntries and clearDiskCacheEntries now use an early-return model.
+        CacheModel is now an enum class.
+
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::NetworkProcess):
+        (WebKit::NetworkProcess::initializeNetworkProcess):
+        (WebKit::fetchDiskCacheEntries):
+        (WebKit::NetworkProcess::fetchWebsiteData):
+        (WebKit::clearDiskCacheEntries):
+        (WebKit::NetworkProcess::setCacheModel):
+        * NetworkProcess/NetworkProcess.h:
+        * NetworkProcess/NetworkProcess.messages.in:
+        * NetworkProcess/NetworkProcessCreationParameters.h:
+        * NetworkProcess/cache/NetworkCacheEntry.cpp:
+        (WebKit::NetworkCache::Entry::initializeShareableResourceHandleFromStorageRecord const):
+        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
+        (WebKit::NetworkProcess::clearDiskCache):
+        * Shared/CacheModel.cpp:
+        (WebKit::calculateMemoryCacheSizes):
+        (WebKit::calculateURLCacheSizes):
+        * Shared/CacheModel.h:
+        (): Deleted.
+        * UIProcess/API/APIProcessPoolConfiguration.cpp:
+        (API::ProcessPoolConfiguration::createWithLegacyOptions):
+        * UIProcess/API/APIProcessPoolConfiguration.h:
+        * UIProcess/API/C/WKAPICast.h:
+        (WebKit::toCacheModel):
+        (WebKit::toAPI):
+        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
+        (-[_WKProcessPoolConfiguration pageCacheEnabled]):
+        (-[_WKProcessPoolConfiguration setPageCacheEnabled:]):
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::initializeWebProcess):
+        (WebKit::WebProcess::setCacheModel):
+        (WebKit::WebProcess::clearResourceCaches):
+        * WebProcess/WebProcess.h:
+        * WebProcess/WebProcess.messages.in:
+
 2019-01-06  Jiewen Tan  <[email protected]>
 
         [WebAuthN] Import U2F command/response converters from Chromium

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (239670 => 239671)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2019-01-07 13:56:42 UTC (rev 239671)
@@ -121,7 +121,7 @@
 
 NetworkProcess::NetworkProcess()
     : m_hasSetCacheModel(false)
-    , m_cacheModel(CacheModelDocumentViewer)
+    , m_cacheModel(CacheModel::DocumentViewer)
     , m_diskCacheIsDisabledForTesting(false)
     , m_canHandleHTTPSServerTrustEvaluation(true)
 #if PLATFORM(COCOA)
@@ -291,7 +291,7 @@
 
     m_diskCacheIsDisabledForTesting = parameters.shouldUseTestingNetworkSession;
 
-    setCacheModel(static_cast<uint32_t>(parameters.cacheModel));
+    setCacheModel(parameters.cacheModel);
 
     setCanHandleHTTPSServerTrustEvaluation(parameters.canHandleHTTPSServerTrustEvaluation);
 
@@ -567,36 +567,36 @@
         m_sessionsControlledByAutomation.remove(sessionID);
 }
 
-static void fetchDiskCacheEntries(PAL::SessionID sessionID, OptionSet<WebsiteDataFetchOption> fetchOptions, Function<void (Vector<WebsiteData::Entry>)>&& completionHandler)
+static void fetchDiskCacheEntries(PAL::SessionID sessionID, OptionSet<WebsiteDataFetchOption> fetchOptions, CompletionHandler<void(Vector<WebsiteData::Entry>)>&& completionHandler)
 {
-    if (auto* cache = NetworkProcess::singleton().cache()) {
-        HashMap<SecurityOriginData, uint64_t> originsAndSizes;
-        cache->traverse([fetchOptions, completionHandler = WTFMove(completionHandler), originsAndSizes = WTFMove(originsAndSizes)](auto* traversalEntry) mutable {
-            if (!traversalEntry) {
-                Vector<WebsiteData::Entry> entries;
+    auto* cache = NetworkProcess::singleton().cache();
+    if (!cache) {
+        RunLoop::main().dispatch([completionHandler = WTFMove(completionHandler)] () mutable {
+            completionHandler({ });
+        });
+        return;
+    }
+    
+    HashMap<SecurityOriginData, uint64_t> originsAndSizes;
+    cache->traverse([fetchOptions, completionHandler = WTFMove(completionHandler), originsAndSizes = WTFMove(originsAndSizes)](auto* traversalEntry) mutable {
+        if (!traversalEntry) {
+            Vector<WebsiteData::Entry> entries;
 
-                for (auto& originAndSize : originsAndSizes)
-                    entries.append(WebsiteData::Entry { originAndSize.key, WebsiteDataType::DiskCache, originAndSize.value });
+            for (auto& originAndSize : originsAndSizes)
+                entries.append(WebsiteData::Entry { originAndSize.key, WebsiteDataType::DiskCache, originAndSize.value });
 
-                RunLoop::main().dispatch([completionHandler = WTFMove(completionHandler), entries = WTFMove(entries)] {
-                    completionHandler(entries);
-                });
+            RunLoop::main().dispatch([completionHandler = WTFMove(completionHandler), entries = WTFMove(entries)] () mutable {
+                completionHandler(entries);
+            });
 
-                return;
-            }
+            return;
+        }
 
-            auto url = ""
-            auto result = originsAndSizes.add({url.protocol().toString(), url.host().toString(), url.port()}, 0);
+        auto url = ""
+        auto result = originsAndSizes.add({url.protocol().toString(), url.host().toString(), url.port()}, 0);
 
-            if (fetchOptions.contains(WebsiteDataFetchOption::ComputeSizes))
-                result.iterator->value += traversalEntry->entry.sourceStorageRecord().header.size() + traversalEntry->recordInfo.bodySize;
-        });
-
-        return;
-    }
-
-    RunLoop::main().dispatch([completionHandler = WTFMove(completionHandler)] {
-        completionHandler({ });
+        if (fetchOptions.contains(WebsiteDataFetchOption::ComputeSizes))
+            result.iterator->value += traversalEntry->entry.sourceStorageRecord().header.size() + traversalEntry->recordInfo.bodySize;
     });
 }
 
@@ -612,12 +612,12 @@
         {
             ASSERT(RunLoop::isMain());
 
-            RunLoop::main().dispatch([completionHandler = WTFMove(m_completionHandler), websiteData = WTFMove(m_websiteData)] {
+            RunLoop::main().dispatch([completionHandler = WTFMove(m_completionHandler), websiteData = WTFMove(m_websiteData)] () mutable {
                 completionHandler(websiteData);
             });
         }
 
-        Function<void (WebsiteData)> m_completionHandler;
+        CompletionHandler<void(WebsiteData)> m_completionHandler;
         WebsiteData m_websiteData;
     };
 
@@ -718,29 +718,29 @@
         clearDiskCache(modifiedSince, [clearTasksHandler = WTFMove(clearTasksHandler)] { });
 }
 
-static void clearDiskCacheEntries(const Vector<SecurityOriginData>& origins, Function<void ()>&& completionHandler)
+static void clearDiskCacheEntries(const Vector<SecurityOriginData>& origins, CompletionHandler<void()>&& completionHandler)
 {
-    if (auto* cache = NetworkProcess::singleton().cache()) {
-        HashSet<RefPtr<SecurityOrigin>> originsToDelete;
-        for (auto& origin : origins)
-            originsToDelete.add(origin.securityOrigin());
+    auto* cache = NetworkProcess::singleton().cache();
+    if (!cache) {
+        RunLoop::main().dispatch(WTFMove(completionHandler));
+        return;
+    }
 
-        Vector<NetworkCache::Key> cacheKeysToDelete;
-        cache->traverse([cache, completionHandler = WTFMove(completionHandler), originsToDelete = WTFMove(originsToDelete), cacheKeysToDelete = WTFMove(cacheKeysToDelete)](auto* traversalEntry) mutable {
-            if (traversalEntry) {
-                if (originsToDelete.contains(SecurityOrigin::create(traversalEntry->entry.response().url())))
-                    cacheKeysToDelete.append(traversalEntry->entry.key());
-                return;
-            }
+    HashSet<RefPtr<SecurityOrigin>> originsToDelete;
+    for (auto& origin : origins)
+        originsToDelete.add(origin.securityOrigin());
 
-            cache->remove(cacheKeysToDelete, WTFMove(completionHandler));
+    Vector<NetworkCache::Key> cacheKeysToDelete;
+    cache->traverse([cache, completionHandler = WTFMove(completionHandler), originsToDelete = WTFMove(originsToDelete), cacheKeysToDelete = WTFMove(cacheKeysToDelete)](auto* traversalEntry) mutable {
+        if (traversalEntry) {
+            if (originsToDelete.contains(SecurityOrigin::create(traversalEntry->entry.response().url())))
+                cacheKeysToDelete.append(traversalEntry->entry.key());
             return;
-        });
+        }
 
+        cache->remove(cacheKeysToDelete, WTFMove(completionHandler));
         return;
-    }
-
-    RunLoop::main().dispatch(WTFMove(completionHandler));
+    });
 }
 
 void NetworkProcess::deleteWebsiteDataForOrigins(PAL::SessionID sessionID, OptionSet<WebsiteDataType> websiteDataTypes, const Vector<SecurityOriginData>& originDatas, const Vector<String>& cookieHostNames, const Vector<String>& HSTSCacheHostNames, uint64_t callbackID)
@@ -838,10 +838,8 @@
         downloadManager().continueDecidePendingDownloadDestination(downloadID, destination, WTFMove(sandboxExtensionHandle), allowOverwrite);
 }
 
-void NetworkProcess::setCacheModel(uint32_t cm)
+void NetworkProcess::setCacheModel(CacheModel cacheModel)
 {
-    CacheModel cacheModel = static_cast<CacheModel>(cm);
-
     if (m_hasSetCacheModel && (cacheModel == m_cacheModel))
         return;
 

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (239670 => 239671)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2019-01-07 13:56:42 UTC (rev 239671)
@@ -264,7 +264,7 @@
     void setCacheStorageParameters(PAL::SessionID, uint64_t quota, String&& cacheStorageDirectory, SandboxExtension::Handle&&);
 
     // FIXME: This should take a session ID so we can identify which disk cache to delete.
-    void clearDiskCache(WallTime modifiedSince, Function<void ()>&& completionHandler);
+    void clearDiskCache(WallTime modifiedSince, CompletionHandler<void()>&&);
 
     void downloadRequest(PAL::SessionID, DownloadID, const WebCore::ResourceRequest&, const String& suggestedFilename);
     void resumeDownload(PAL::SessionID, DownloadID, const IPC::DataReference& resumeData, const String& path, SandboxExtension::Handle&&);
@@ -275,7 +275,7 @@
     void continueWillSendRequest(DownloadID, WebCore::ResourceRequest&&);
     void continueDecidePendingDownloadDestination(DownloadID, String destination, SandboxExtension::Handle&&, bool allowOverwrite);
 
-    void setCacheModel(uint32_t);
+    void setCacheModel(CacheModel);
     void allowSpecificHTTPSCertificateForHost(const WebCore::CertificateInfo&, const String& host);
     void setCanHandleHTTPSServerTrustEvaluation(bool);
     void getNetworkProcessStatistics(uint64_t callbackID);

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in (239670 => 239671)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in	2019-01-07 13:56:42 UTC (rev 239671)
@@ -70,7 +70,7 @@
     GetNetworkProcessStatistics(uint64_t callbackID)
     
     ClearCacheForAllOrigins(uint32_t cachesToClear)
-    SetCacheModel(uint32_t cacheModel);
+    SetCacheModel(enum:uint8_t WebKit::CacheModel cacheModel);
 
     ProcessDidTransitionToBackground()
     ProcessDidTransitionToForeground()

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h (239670 => 239671)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h	2019-01-07 13:56:42 UTC (rev 239671)
@@ -51,7 +51,7 @@
     void encode(IPC::Encoder&) const;
     static bool decode(IPC::Decoder&, NetworkProcessCreationParameters&);
 
-    CacheModel cacheModel { CacheModelDocumentViewer };
+    CacheModel cacheModel { CacheModel::DocumentViewer };
     bool canHandleHTTPSServerTrustEvaluation { true };
 
     String diskCacheDirectory;

Modified: trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.cpp (239670 => 239671)


--- trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.cpp	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.cpp	2019-01-07 13:56:42 UTC (rev 239671)
@@ -160,10 +160,6 @@
 #if ENABLE(SHAREABLE_RESOURCE)
 void Entry::initializeShareableResourceHandleFromStorageRecord() const
 {
-    auto* cache = NetworkProcess::singleton().cache();
-    if (!cache)
-        return;
-
     auto sharedMemory = m_sourceStorageRecord.body.tryCreateSharedMemory();
     if (!sharedMemory)
         return;

Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm (239670 => 239671)


--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm	2019-01-07 13:56:42 UTC (rev 239671)
@@ -174,18 +174,21 @@
     _CFNetworkResetHSTSHostsSinceDate(session.platformSession(), (__bridge CFDateRef)date);
 }
 
-void NetworkProcess::clearDiskCache(WallTime modifiedSince, Function<void ()>&& completionHandler)
+void NetworkProcess::clearDiskCache(WallTime modifiedSince, CompletionHandler<void()>&& completionHandler)
 {
     if (!m_clearCacheDispatchGroup)
         m_clearCacheDispatchGroup = dispatch_group_create();
 
-    if (auto* cache = NetworkProcess::singleton().cache()) {
-        auto group = m_clearCacheDispatchGroup;
-        dispatch_group_async(group, dispatch_get_main_queue(), makeBlockPtr([cache, modifiedSince, completionHandler = WTFMove(completionHandler)] () mutable {
-            cache->clear(modifiedSince, [completionHandler = WTFMove(completionHandler)] () mutable {
-            });
-        }).get());
+    auto* cache = NetworkProcess::singleton().cache();
+    if (!cache) {
+        completionHandler();
+        return;
     }
+
+    auto group = m_clearCacheDispatchGroup;
+    dispatch_group_async(group, dispatch_get_main_queue(), makeBlockPtr([cache, modifiedSince, completionHandler = WTFMove(completionHandler)] () mutable {
+        cache->clear(modifiedSince, WTFMove(completionHandler));
+    }).get());
 }
 
 #if PLATFORM(MAC)

Modified: trunk/Source/WebKit/NetworkProcess/curl/NetworkProcessCurl.cpp (239670 => 239671)


--- trunk/Source/WebKit/NetworkProcess/curl/NetworkProcessCurl.cpp	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/NetworkProcess/curl/NetworkProcessCurl.cpp	2019-01-07 13:56:42 UTC (rev 239671)
@@ -49,9 +49,10 @@
     notImplemented();
 }
 
-void NetworkProcess::clearDiskCache(WallTime, Function<void()>&&)
+void NetworkProcess::clearDiskCache(WallTime, CompletionHandler<void()>&& completionHandler)
 {
     notImplemented();
+    completionHandler();
 }
 
 void NetworkProcess::platformTerminate()

Modified: trunk/Source/WebKit/NetworkProcess/soup/NetworkProcessSoup.cpp (239670 => 239671)


--- trunk/Source/WebKit/NetworkProcess/soup/NetworkProcessSoup.cpp	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/NetworkProcess/soup/NetworkProcessSoup.cpp	2019-01-07 13:56:42 UTC (rev 239671)
@@ -151,10 +151,12 @@
     clearDiskCache(-WallTime::infinity(), [] { });
 }
 
-void NetworkProcess::clearDiskCache(WallTime modifiedSince, Function<void ()>&& completionHandler)
+void NetworkProcess::clearDiskCache(WallTime modifiedSince, CompletionHandler<void()>&& completionHandler)
 {
-    if (!m_cache)
+    if (!m_cache) {
+        completionHandler();
         return;
+    }
     m_cache->clear(modifiedSince, WTFMove(completionHandler));
 }
 

Modified: trunk/Source/WebKit/Shared/CacheModel.cpp (239670 => 239671)


--- trunk/Source/WebKit/Shared/CacheModel.cpp	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/Shared/CacheModel.cpp	2019-01-07 13:56:42 UTC (rev 239671)
@@ -38,7 +38,7 @@
     uint64_t memorySize = ramSize() / MB;
 
     switch (cacheModel) {
-    case CacheModelDocumentViewer: {
+    case CacheModel::DocumentViewer: {
         // Page cache capacity (in pages)
         pageCacheCapacity = 0;
 
@@ -59,7 +59,7 @@
 
         break;
     }
-    case CacheModelDocumentBrowser: {
+    case CacheModel::DocumentBrowser: {
         // Page cache capacity (in pages)
         if (memorySize >= 512)
             pageCacheCapacity = 2;
@@ -85,7 +85,7 @@
 
         break;
     }
-    case CacheModelPrimaryWebBrowser: {
+    case CacheModel::PrimaryWebBrowser: {
         // Page cache capacity (in pages)
         if (memorySize >= 512)
             pageCacheCapacity = 2;
@@ -128,7 +128,7 @@
 void calculateURLCacheSizes(CacheModel cacheModel, uint64_t diskFreeSize, unsigned& urlCacheMemoryCapacity, uint64_t& urlCacheDiskCapacity)
 {
     switch (cacheModel) {
-    case CacheModelDocumentViewer: {
+    case CacheModel::DocumentViewer: {
         // Foundation memory cache capacity (in bytes)
         urlCacheMemoryCapacity = 0;
 
@@ -137,7 +137,7 @@
 
         break;
     }
-    case CacheModelDocumentBrowser: {
+    case CacheModel::DocumentBrowser: {
         uint64_t memorySize = ramSize() / MB;
 
         // Foundation memory cache capacity (in bytes)
@@ -162,7 +162,7 @@
 
         break;
     }
-    case CacheModelPrimaryWebBrowser: {
+    case CacheModel::PrimaryWebBrowser: {
         uint64_t memorySize = ramSize() / MB;
 
 #if PLATFORM(IOS_FAMILY)

Modified: trunk/Source/WebKit/Shared/CacheModel.h (239670 => 239671)


--- trunk/Source/WebKit/Shared/CacheModel.h	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/Shared/CacheModel.h	2019-01-07 13:56:42 UTC (rev 239671)
@@ -26,14 +26,15 @@
 #pragma once
 
 #include <stdint.h>
+#include <wtf/Forward.h>
 #include <wtf/Seconds.h>
 
 namespace WebKit {
 
-enum CacheModel {
-    CacheModelDocumentViewer,
-    CacheModelDocumentBrowser,
-    CacheModelPrimaryWebBrowser
+enum class CacheModel : uint8_t {
+    DocumentViewer,
+    DocumentBrowser,
+    PrimaryWebBrowser
 };
 
 void calculateMemoryCacheSizes(CacheModel, unsigned& cacheTotalCapacity, unsigned& cacheMinDeadCapacity, unsigned& cacheMaxDeadCapacity, Seconds& deadDecodedDataDeletionInterval, unsigned& pageCacheCapacity);
@@ -40,3 +41,16 @@
 void calculateURLCacheSizes(CacheModel, uint64_t diskFreeSize, unsigned& urlCacheMemoryCapacity, uint64_t& urlCacheDiskCapacity);
 
 } // namespace WebKit
+
+namespace WTF {
+
+template<> struct EnumTraits<WebKit::CacheModel> {
+    using values = EnumValues<
+    WebKit::CacheModel,
+    WebKit::CacheModel::DocumentViewer,
+    WebKit::CacheModel::DocumentBrowser,
+    WebKit::CacheModel::PrimaryWebBrowser
+    >;
+};
+
+} // namespace WTF

Modified: trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp (239670 => 239671)


--- trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp	2019-01-07 13:56:42 UTC (rev 239671)
@@ -42,7 +42,7 @@
 
     configuration->m_shouldHaveLegacyDataStore = true;
     configuration->m_maximumProcessCount = 1;
-    configuration->m_cacheModel = WebKit::CacheModelDocumentViewer;
+    configuration->m_cacheModel = WebKit::CacheModel::DocumentViewer;
 
     return configuration;
 }

Modified: trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h (239670 => 239671)


--- trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h	2019-01-07 13:56:42 UTC (rev 239671)
@@ -189,7 +189,7 @@
 
     unsigned m_maximumProcessCount { 0 };
     bool m_diskCacheSpeculativeValidationEnabled { false };
-    WebKit::CacheModel m_cacheModel { WebKit::CacheModelPrimaryWebBrowser };
+    WebKit::CacheModel m_cacheModel { WebKit::CacheModel::PrimaryWebBrowser };
 
     WTF::String m_applicationCacheDirectory;
     WTF::String m_applicationCacheFlatFileSubdirectoryName;

Modified: trunk/Source/WebKit/UIProcess/API/C/WKAPICast.h (239670 => 239671)


--- trunk/Source/WebKit/UIProcess/API/C/WKAPICast.h	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/UIProcess/API/C/WKAPICast.h	2019-01-07 13:56:42 UTC (rev 239671)
@@ -204,25 +204,25 @@
 {
     switch (wkCacheModel) {
     case kWKCacheModelDocumentViewer:
-        return CacheModelDocumentViewer;
+        return CacheModel::DocumentViewer;
     case kWKCacheModelDocumentBrowser:
-        return CacheModelDocumentBrowser;
+        return CacheModel::DocumentBrowser;
     case kWKCacheModelPrimaryWebBrowser:
-        return CacheModelPrimaryWebBrowser;
+        return CacheModel::PrimaryWebBrowser;
     }
 
     ASSERT_NOT_REACHED();
-    return CacheModelDocumentViewer;
+    return CacheModel::DocumentViewer;
 }
 
 inline WKCacheModel toAPI(CacheModel cacheModel)
 {
     switch (cacheModel) {
-    case CacheModelDocumentViewer:
+    case CacheModel::DocumentViewer:
         return kWKCacheModelDocumentViewer;
-    case CacheModelDocumentBrowser:
+    case CacheModel::DocumentBrowser:
         return kWKCacheModelDocumentBrowser;
-    case CacheModelPrimaryWebBrowser:
+    case CacheModel::PrimaryWebBrowser:
         return kWKCacheModelPrimaryWebBrowser;
     }
     

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm (239670 => 239671)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm	2019-01-07 13:56:42 UTC (rev 239671)
@@ -279,15 +279,15 @@
 
 - (BOOL)pageCacheEnabled
 {
-    return _processPoolConfiguration->cacheModel() != WebKit::CacheModelDocumentViewer;
+    return _processPoolConfiguration->cacheModel() != WebKit::CacheModel::DocumentViewer;
 }
 
 - (void)setPageCacheEnabled:(BOOL)enabled
 {
     if (!enabled)
-        _processPoolConfiguration->setCacheModel(WebKit::CacheModelDocumentViewer);
+        _processPoolConfiguration->setCacheModel(WebKit::CacheModel::DocumentViewer);
     else if (![self pageCacheEnabled])
-        _processPoolConfiguration->setCacheModel(WebKit::CacheModelPrimaryWebBrowser);
+        _processPoolConfiguration->setCacheModel(WebKit::CacheModel::PrimaryWebBrowser);
 }
 
 - (BOOL)suppressesConnectionTerminationOnSystemChange

Modified: trunk/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp (239670 => 239671)


--- trunk/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp	2019-01-07 13:56:42 UTC (rev 239671)
@@ -720,13 +720,13 @@
 
     switch (model) {
     case WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER:
-        cacheModel = CacheModelDocumentViewer;
+        cacheModel = CacheModel::DocumentViewer;
         break;
     case WEBKIT_CACHE_MODEL_WEB_BROWSER:
-        cacheModel = CacheModelPrimaryWebBrowser;
+        cacheModel = CacheModel::PrimaryWebBrowser;
         break;
     case WEBKIT_CACHE_MODEL_DOCUMENT_BROWSER:
-        cacheModel = CacheModelDocumentBrowser;
+        cacheModel = CacheModel::DocumentBrowser;
         break;
     default:
         g_assert_not_reached();
@@ -751,11 +751,11 @@
     g_return_val_if_fail(WEBKIT_IS_WEB_CONTEXT(context), WEBKIT_CACHE_MODEL_WEB_BROWSER);
 
     switch (context->priv->processPool->cacheModel()) {
-    case CacheModelDocumentViewer:
+    case CacheModel::DocumentViewer:
         return WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER;
-    case CacheModelPrimaryWebBrowser:
+    case CacheModel::PrimaryWebBrowser:
         return WEBKIT_CACHE_MODEL_WEB_BROWSER;
-    case CacheModelDocumentBrowser:
+    case CacheModel::DocumentBrowser:
         return WEBKIT_CACHE_MODEL_DOCUMENT_BROWSER;
     default:
         g_assert_not_reached();

Modified: trunk/Source/WebKit/UIProcess/gtk/WebProcessPoolGtk.cpp (239670 => 239671)


--- trunk/Source/WebKit/UIProcess/gtk/WebProcessPoolGtk.cpp	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/UIProcess/gtk/WebProcessPoolGtk.cpp	2019-01-07 13:56:42 UTC (rev 239671)
@@ -79,7 +79,7 @@
 
 void WebProcessPool::platformInitializeWebProcess(WebProcessCreationParameters& parameters)
 {
-    parameters.memoryCacheDisabled = m_memoryCacheDisabled || cacheModel() == CacheModelDocumentViewer;
+    parameters.memoryCacheDisabled = m_memoryCacheDisabled || cacheModel() == CacheModel::DocumentViewer;
     parameters.proxySettings = m_networkProxySettings;
 
     parameters.shouldAlwaysUseComplexTextCodePath = true;

Modified: trunk/Source/WebKit/UIProcess/wpe/WebProcessPoolWPE.cpp (239670 => 239671)


--- trunk/Source/WebKit/UIProcess/wpe/WebProcessPoolWPE.cpp	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/UIProcess/wpe/WebProcessPoolWPE.cpp	2019-01-07 13:56:42 UTC (rev 239671)
@@ -86,7 +86,7 @@
 
 void WebProcessPool::platformInitializeWebProcess(WebProcessCreationParameters& parameters)
 {
-    parameters.memoryCacheDisabled = m_memoryCacheDisabled || cacheModel() == CacheModelDocumentViewer;
+    parameters.memoryCacheDisabled = m_memoryCacheDisabled || cacheModel() == CacheModel::DocumentViewer;
 
     const char* disableMemoryPressureMonitor = getenv("WEBKIT_DISABLE_MEMORY_PRESSURE_MONITOR");
     if (disableMemoryPressureMonitor && !strcmp(disableMemoryPressureMonitor, "1"))

Modified: trunk/Source/WebKit/WebProcess/WebProcess.cpp (239670 => 239671)


--- trunk/Source/WebKit/WebProcess/WebProcess.cpp	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/WebProcess/WebProcess.cpp	2019-01-07 13:56:42 UTC (rev 239671)
@@ -328,7 +328,7 @@
         WebCore::HTMLMediaElement::setMediaCacheDirectory(parameters.mediaCacheDirectory);
 #endif
 
-    setCacheModel(static_cast<uint32_t>(parameters.cacheModel));
+    setCacheModel(parameters.cacheModel);
 
     if (!parameters.languages.isEmpty())
         overrideUserPreferredLanguages(parameters.languages);
@@ -562,10 +562,8 @@
 }
 #endif
 
-void WebProcess::setCacheModel(uint32_t cm)
+void WebProcess::setCacheModel(CacheModel cacheModel)
 {
-    CacheModel cacheModel = static_cast<CacheModel>(cm);
-
     if (m_hasSetCacheModel && (cacheModel == m_cacheModel))
         return;
 
@@ -781,7 +779,7 @@
     // Toggling the cache model like this forces the cache to evict all its in-memory resources.
     // FIXME: We need a better way to do this.
     CacheModel cacheModel = m_cacheModel;
-    setCacheModel(CacheModelDocumentViewer);
+    setCacheModel(CacheModel::DocumentViewer);
     setCacheModel(cacheModel);
 
     MemoryCache::singleton().evictResources();

Modified: trunk/Source/WebKit/WebProcess/WebProcess.h (239670 => 239671)


--- trunk/Source/WebKit/WebProcess/WebProcess.h	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/WebProcess/WebProcess.h	2019-01-07 13:56:42 UTC (rev 239671)
@@ -175,7 +175,7 @@
 
     LibWebRTCNetwork& libWebRTCNetwork();
 
-    void setCacheModel(uint32_t);
+    void setCacheModel(CacheModel);
 
     void ensureLegacyPrivateBrowsingSessionInNetworkProcess();
     void addWebsiteDataStore(WebsiteDataStoreParameters&&);
@@ -417,7 +417,7 @@
     HashSet<String> m_plugInAutoStartOrigins;
 
     bool m_hasSetCacheModel { false };
-    CacheModel m_cacheModel { CacheModelDocumentViewer };
+    CacheModel m_cacheModel { CacheModel::DocumentViewer };
 
 #if PLATFORM(COCOA)
     WTF::MachSendRight m_compositingRenderServerPort;

Modified: trunk/Source/WebKit/WebProcess/WebProcess.messages.in (239670 => 239671)


--- trunk/Source/WebKit/WebProcess/WebProcess.messages.in	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/WebProcess/WebProcess.messages.in	2019-01-07 13:56:42 UTC (rev 239671)
@@ -30,7 +30,7 @@
     PrewarmWithDomainInformation(struct WebCore::PrewarmInformation prewarmInformation)
 
     # Global preferences.
-    SetCacheModel(uint32_t cacheModel)
+    SetCacheModel(enum:uint8_t WebKit::CacheModel cacheModel)
 
     RegisterURLSchemeAsEmptyDocument(String scheme)
     RegisterURLSchemeAsSecure(String scheme)

Modified: trunk/Source/WebKit/WebProcess/soup/WebProcessSoup.cpp (239670 => 239671)


--- trunk/Source/WebKit/WebProcess/soup/WebProcessSoup.cpp	2019-01-07 10:42:51 UTC (rev 239670)
+++ trunk/Source/WebKit/WebProcess/soup/WebProcessSoup.cpp	2019-01-07 13:56:42 UTC (rev 239671)
@@ -41,7 +41,7 @@
 
 void WebProcess::platformSetCacheModel(CacheModel cacheModel)
 {
-    WebCore::MemoryCache::singleton().setDisabled(cacheModel == CacheModelDocumentViewer);
+    WebCore::MemoryCache::singleton().setDisabled(cacheModel == CacheModel::DocumentViewer);
 }
 
 void WebProcess::platformInitializeWebProcess(WebProcessCreationParameters&& parameters)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to