Changeset 199842 in webkit


Ignore:
Timestamp:
Apr 21, 2016 4:06:41 PM (8 years ago)
Author:
andersca@apple.com
Message:

Get rid of the last uses of ApplicationCacheStorage::singleton() from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=156876

Reviewed by Tim Horton.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:

Add and encode and decode a applicationCacheFlatFileSubdirectoryName.

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::createWithLegacyOptions):
Set m_applicationCacheFlatFileSubdirectoryName to "ApplicationCache".

(API::ProcessPoolConfiguration::ProcessPoolConfiguration):
Set m_applicationCacheFlatFileSubdirectoryName to "Files".

(API::ProcessPoolConfiguration::copy):
Copy m_applicationCacheFlatFileSubdirectoryName.

  • UIProcess/API/APIProcessPoolConfiguration.h:

Add getter for applicationCacheFlatFileSubdirectoryName.

  • UIProcess/WebProcessPool.cpp:

(WebKit::legacyWebsiteDataStoreConfiguration):
Initialize applicationCacheFlatFileSubdirectoryName from the process pool configuration.

(WebKit::WebProcessPool::createNewWebProcess):
Initialize parameters.applicationCacheFlatFileSubdirectoryName. Remove a call to
ApplicationCacheStorage::singleton().setDefaultOriginQuota since it had no effect (it was called in the UI process).

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::WebsiteDataStore):
Initialize m_applicationCacheFlatFileSubdirectoryName.

(WebKit::WebsiteDataStore::fetchData):
(WebKit::WebsiteDataStore::removeData):
Pass m_applicationCacheFlatFileSubdirectoryName when creating the application cache storage.

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Add new members.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
Set the application cache storage.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
Initialize the application cache storage.

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::applicationCacheStorage):
Add new getter.

Location:
trunk/Source/WebKit2
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r199839 r199842  
     12016-04-21  Anders Carlsson  <andersca@apple.com>
     2
     3        Get rid of the last uses of ApplicationCacheStorage::singleton() from WebKit2
     4        https://bugs.webkit.org/show_bug.cgi?id=156876
     5
     6        Reviewed by Tim Horton.
     7
     8        * Shared/WebProcessCreationParameters.cpp:
     9        (WebKit::WebProcessCreationParameters::encode):
     10        (WebKit::WebProcessCreationParameters::decode):
     11        * Shared/WebProcessCreationParameters.h:
     12        Add and encode and decode a applicationCacheFlatFileSubdirectoryName.
     13
     14        * UIProcess/API/APIProcessPoolConfiguration.cpp:
     15        (API::ProcessPoolConfiguration::createWithLegacyOptions):
     16        Set m_applicationCacheFlatFileSubdirectoryName to "ApplicationCache".
     17
     18        (API::ProcessPoolConfiguration::ProcessPoolConfiguration):
     19        Set m_applicationCacheFlatFileSubdirectoryName to "Files".
     20
     21        (API::ProcessPoolConfiguration::copy):
     22        Copy m_applicationCacheFlatFileSubdirectoryName.
     23
     24        * UIProcess/API/APIProcessPoolConfiguration.h:
     25        Add getter for applicationCacheFlatFileSubdirectoryName.
     26
     27        * UIProcess/WebProcessPool.cpp:
     28        (WebKit::legacyWebsiteDataStoreConfiguration):
     29        Initialize applicationCacheFlatFileSubdirectoryName from the process pool configuration.
     30
     31        (WebKit::WebProcessPool::createNewWebProcess):
     32        Initialize parameters.applicationCacheFlatFileSubdirectoryName. Remove a call to
     33        ApplicationCacheStorage::singleton().setDefaultOriginQuota since it had no effect (it was called in the UI process).
     34
     35        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
     36        (WebKit::WebsiteDataStore::WebsiteDataStore):
     37        Initialize m_applicationCacheFlatFileSubdirectoryName.
     38
     39        (WebKit::WebsiteDataStore::fetchData):
     40        (WebKit::WebsiteDataStore::removeData):
     41        Pass m_applicationCacheFlatFileSubdirectoryName when creating the application cache storage.
     42
     43        * UIProcess/WebsiteData/WebsiteDataStore.h:
     44        Add new members.
     45
     46        * WebProcess/WebPage/WebPage.cpp:
     47        (WebKit::WebPage::WebPage):
     48        Set the application cache storage.
     49
     50        * WebProcess/WebProcess.cpp:
     51        (WebKit::WebProcess::initializeWebProcess):
     52        Initialize the application cache storage.
     53
     54        * WebProcess/WebProcess.h:
     55        (WebKit::WebProcess::applicationCacheStorage):
     56        Add new getter.
     57
    1582016-04-21  Anders Carlsson  <andersca@apple.com>
    259
  • trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp

    r199691 r199842  
    6363    encoder << initializationUserData;
    6464    encoder << applicationCacheDirectory;
     65    encoder << applicationCacheFlatFileSubdirectoryName;
    6566    encoder << applicationCacheDirectoryExtensionHandle;
    6667    encoder << webSQLDatabaseDirectory;
     
    157158    if (!decoder.decode(parameters.applicationCacheDirectory))
    158159        return false;
     160    if (!decoder.decode(parameters.applicationCacheFlatFileSubdirectoryName))
     161        return false;
    159162    if (!decoder.decode(parameters.applicationCacheDirectoryExtensionHandle))
    160163        return false;
  • trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h

    r199691 r199842  
    6969    UserData initializationUserData;
    7070
    71     String applicationCacheDirectory;   
     71    String applicationCacheDirectory;
     72    String applicationCacheFlatFileSubdirectoryName;
    7273    SandboxExtension::Handle applicationCacheDirectoryExtensionHandle;
    7374    String webSQLDatabaseDirectory;
  • trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.cpp

    r199326 r199842  
    4646
    4747    configuration->m_applicationCacheDirectory = WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory();
     48    configuration->m_applicationCacheFlatFileSubdirectoryName = "ApplicationCache";
    4849    configuration->m_diskCacheDirectory = WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory();
    4950    configuration->m_mediaCacheDirectory = WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory();
     
    5859ProcessPoolConfiguration::ProcessPoolConfiguration()
    5960    : m_applicationCacheDirectory(WebsiteDataStore::defaultApplicationCacheDirectory())
     61    , m_applicationCacheFlatFileSubdirectoryName("Files")
    6062    , m_diskCacheDirectory(WebsiteDataStore::defaultNetworkCacheDirectory())
    6163    , m_mediaCacheDirectory(WebsiteDataStore::defaultMediaCacheDirectory())
     
    8183    copy->m_diskCacheSizeOverride = this->m_diskCacheSizeOverride;
    8284    copy->m_applicationCacheDirectory = this->m_applicationCacheDirectory;
     85    copy->m_applicationCacheFlatFileSubdirectoryName = this->m_applicationCacheFlatFileSubdirectoryName;
    8386    copy->m_diskCacheDirectory = this->m_diskCacheDirectory;
    8487    copy->m_mediaCacheDirectory = this->m_mediaCacheDirectory;
  • trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h

    r199326 r199842  
    6363    void setApplicationCacheDirectory(const WTF::String& applicationCacheDirectory) { m_applicationCacheDirectory = applicationCacheDirectory; }
    6464
     65    const WTF::String& applicationCacheFlatFileSubdirectoryName() const { return m_applicationCacheFlatFileSubdirectoryName; }
     66
    6567    const WTF::String& diskCacheDirectory() const { return m_diskCacheDirectory; }
    6668    void setDiskCacheDirectory(const WTF::String& diskCacheDirectory) { m_diskCacheDirectory = diskCacheDirectory; }
     
    105107
    106108    WTF::String m_applicationCacheDirectory;
     109    WTF::String m_applicationCacheFlatFileSubdirectoryName;
    107110    WTF::String m_diskCacheDirectory;
    108111    WTF::String m_mediaCacheDirectory;
  • trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp

    r199691 r199842  
    129129    configuration.webSQLDatabaseDirectory = processPoolConfiguration.webSQLDatabaseDirectory();
    130130    configuration.applicationCacheDirectory = processPoolConfiguration.applicationCacheDirectory();
     131    configuration.applicationCacheFlatFileSubdirectoryName = processPoolConfiguration.applicationCacheFlatFileSubdirectoryName();
    131132    configuration.mediaCacheDirectory = processPoolConfiguration.mediaCacheDirectory();
    132133    configuration.mediaKeysStorageDirectory = processPoolConfiguration.mediaKeysStorageDirectory();
     
    539540
    540541    parameters.applicationCacheDirectory = m_configuration->applicationCacheDirectory();
     542    parameters.applicationCacheFlatFileSubdirectoryName = m_configuration->applicationCacheFlatFileSubdirectoryName();
     543
    541544    if (!parameters.applicationCacheDirectory.isEmpty())
    542545        SandboxExtension::createHandleForReadWriteDirectory(parameters.applicationCacheDirectory, parameters.applicationCacheDirectoryExtensionHandle);
     
    646649#if PLATFORM(COCOA)
    647650    process->send(Messages::WebProcess::SetQOS(webProcessLatencyQOS(), webProcessThroughputQOS()), 0);
    648 #endif
    649 #if PLATFORM(IOS)
    650     ApplicationCacheStorage::singleton().setDefaultOriginQuota(25ULL * 1024 * 1024);
    651651#endif
    652652
  • trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp

    r199326 r199842  
    7979    , m_networkCacheDirectory(WTFMove(configuration.networkCacheDirectory))
    8080    , m_applicationCacheDirectory(WTFMove(configuration.applicationCacheDirectory))
     81    , m_applicationCacheFlatFileSubdirectoryName(WTFMove(configuration.applicationCacheFlatFileSubdirectoryName))
    8182    , m_mediaCacheDirectory(WTFMove(configuration.mediaCacheDirectory))
    8283    , m_webSQLDatabaseDirectory(WTFMove(configuration.webSQLDatabaseDirectory))
     
    356357    if (dataTypes.contains(WebsiteDataType::OfflineWebApplicationCache) && isPersistent()) {
    357358        StringCapture applicationCacheDirectory { m_applicationCacheDirectory };
    358 
    359         callbackAggregator->addPendingCallback();
    360 
    361         m_queue->dispatch([fetchOptions, applicationCacheDirectory, callbackAggregator] {
    362             auto storage = WebCore::ApplicationCacheStorage::create(applicationCacheDirectory.string(), "ApplicationCache");
     359        StringCapture applicationCacheFlatFileSubdirectoryName { m_applicationCacheFlatFileSubdirectoryName };
     360
     361        callbackAggregator->addPendingCallback();
     362
     363        m_queue->dispatch([fetchOptions, applicationCacheDirectory, applicationCacheFlatFileSubdirectoryName, callbackAggregator] {
     364            auto storage = WebCore::ApplicationCacheStorage::create(applicationCacheDirectory.string(), applicationCacheFlatFileSubdirectoryName.string());
    363365
    364366            WebsiteData* websiteData = new WebsiteData;
     
    633635    if (dataTypes.contains(WebsiteDataType::OfflineWebApplicationCache) && isPersistent()) {
    634636        StringCapture applicationCacheDirectory { m_applicationCacheDirectory };
    635 
    636         callbackAggregator->addPendingCallback();
    637 
    638         m_queue->dispatch([applicationCacheDirectory, callbackAggregator] {
    639             auto storage = WebCore::ApplicationCacheStorage::create(applicationCacheDirectory.string(), "ApplicationCache");
     637        StringCapture applicationCacheFlatFileSubdirectoryName { m_applicationCacheFlatFileSubdirectoryName };
     638
     639        callbackAggregator->addPendingCallback();
     640
     641        m_queue->dispatch([applicationCacheDirectory, applicationCacheFlatFileSubdirectoryName, callbackAggregator] {
     642            auto storage = WebCore::ApplicationCacheStorage::create(applicationCacheDirectory.string(), applicationCacheFlatFileSubdirectoryName.string());
    640643
    641644            storage->deleteAllCaches();
     
    885888    if (dataTypes.contains(WebsiteDataType::OfflineWebApplicationCache) && isPersistent()) {
    886889        StringCapture applicationCacheDirectory { m_applicationCacheDirectory };
     890        StringCapture applicationCacheFlatFileSubdirectoryName { m_applicationCacheFlatFileSubdirectoryName };
    887891
    888892        HashSet<RefPtr<WebCore::SecurityOrigin>> origins;
     
    893897
    894898        callbackAggregator->addPendingCallback();
    895         m_queue->dispatch([origins, applicationCacheDirectory, callbackAggregator] {
    896             auto storage = WebCore::ApplicationCacheStorage::create(applicationCacheDirectory.string(), "ApplicationCache");
     899        m_queue->dispatch([origins, applicationCacheDirectory, applicationCacheFlatFileSubdirectoryName, callbackAggregator] {
     900            auto storage = WebCore::ApplicationCacheStorage::create(applicationCacheDirectory.string(), applicationCacheFlatFileSubdirectoryName.string());
    897901
    898902            for (const auto& origin : origins)
  • trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.h

    r199326 r199842  
    6161        String networkCacheDirectory;
    6262        String applicationCacheDirectory;
     63        String applicationCacheFlatFileSubdirectoryName;
    6364
    6465        String mediaCacheDirectory;
     
    119120    const String m_networkCacheDirectory;
    120121    const String m_applicationCacheDirectory;
     122    const String m_applicationCacheFlatFileSubdirectoryName;
    121123    const String m_mediaCacheDirectory;
    122124
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r199700 r199842  
    107107#include "WebUserMediaClient.h"
    108108#include <JavaScriptCore/APICast.h>
     109#include <WebCore/ApplicationCacheStorage.h>
    109110#include <WebCore/ArchiveResource.h>
    110111#include <WebCore/Chrome.h>
     
    403404    pageConfiguration.diagnosticLoggingClient = new WebDiagnosticLoggingClient(*this);
    404405
     406    pageConfiguration.applicationCacheStorage = &WebProcess::singleton().applicationCacheStorage();
    405407    pageConfiguration.databaseProvider = WebDatabaseProvider::getOrCreate(m_pageGroup->pageGroupID());
    406408    pageConfiguration.storageNamespaceProvider = WebStorageNamespaceProvider::getOrCreate(m_pageGroup->pageGroupID());
  • trunk/Source/WebKit2/WebProcess/WebProcess.cpp

    r199839 r199842  
    292292#endif
    293293
    294     if (!parameters.applicationCacheDirectory.isEmpty())
    295         ApplicationCacheStorage::singleton().setCacheDirectory(parameters.applicationCacheDirectory);
     294    // FIXME: This should be constructed per data store, not per process.
     295    m_applicationCacheStorage = ApplicationCacheStorage::create(parameters.applicationCacheDirectory, parameters.applicationCacheFlatFileSubdirectoryName);
     296#if PLATFORM(IOS)
     297    m_applicationCacheStorage->setDefaultOriginQuota(25ULL * 1024 * 1024);
     298#endif
    296299
    297300    if (!parameters.mediaCacheDirectory.isEmpty())
  • trunk/Source/WebKit2/WebProcess/WebProcess.h

    r199839 r199842  
    6262
    6363namespace WebCore {
     64class ApplicationCacheStorage;
    6465class CertificateInfo;
    6566class PageGroup;
     
    208209#endif
    209210
     211    WebCore::ApplicationCacheStorage& applicationCacheStorage() { return *m_applicationCacheStorage; }
     212
    210213    void prefetchDNS(const String&);
    211214
     
    386389    WebCore::Timer m_statisticsChangedTimer;
    387390
     391    RefPtr<WebCore::ApplicationCacheStorage> m_applicationCacheStorage;
     392
    388393#if PLATFORM(IOS)
    389394    WebSQLiteDatabaseTracker m_webSQLiteDatabaseTracker;
Note: See TracChangeset for help on using the changeset viewer.