Title: [185261] trunk
Revision
185261
Author
[email protected]
Date
2015-06-05 12:27:26 -0700 (Fri, 05 Jun 2015)

Log Message

Make the application cache directory part of WKContextConfigurationRef
https://bugs.webkit.org/show_bug.cgi?id=145704

Reviewed by Geoffrey Garen.

Source/WebKit2:

* UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::createWithLegacyOptions):
(API::ProcessPoolConfiguration::ProcessPoolConfiguration):
(API::ProcessPoolConfiguration::copy):
* UIProcess/API/APIProcessPoolConfiguration.h:
* UIProcess/API/C/WKContext.cpp:
(WKContextSetApplicationCacheDirectory): Deleted.
* UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationCopyApplicationCacheDirectory):
(WKContextConfigurationSetApplicationCacheDirectory):
* UIProcess/API/C/WKContextConfigurationRef.h:
* UIProcess/API/C/WKContextPrivate.h:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::applicationCacheDirectory): Deleted.
* UIProcess/WebProcessPool.h:

Tools:

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (185260 => 185261)


--- trunk/Source/WebKit2/ChangeLog	2015-06-05 19:08:47 UTC (rev 185260)
+++ trunk/Source/WebKit2/ChangeLog	2015-06-05 19:27:26 UTC (rev 185261)
@@ -1,3 +1,28 @@
+2015-06-05  Anders Carlsson  <[email protected]>
+
+        Make the application cache directory part of WKContextConfigurationRef
+        https://bugs.webkit.org/show_bug.cgi?id=145704
+
+        Reviewed by Geoffrey Garen.
+
+        * UIProcess/API/APIProcessPoolConfiguration.cpp:
+        (API::ProcessPoolConfiguration::createWithLegacyOptions):
+        (API::ProcessPoolConfiguration::ProcessPoolConfiguration):
+        (API::ProcessPoolConfiguration::copy):
+        * UIProcess/API/APIProcessPoolConfiguration.h:
+        * UIProcess/API/C/WKContext.cpp:
+        (WKContextSetApplicationCacheDirectory): Deleted.
+        * UIProcess/API/C/WKContextConfigurationRef.cpp:
+        (WKContextConfigurationCopyApplicationCacheDirectory):
+        (WKContextConfigurationSetApplicationCacheDirectory):
+        * UIProcess/API/C/WKContextConfigurationRef.h:
+        * UIProcess/API/C/WKContextPrivate.h:
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::WebProcessPool):
+        (WebKit::WebProcessPool::createNewWebProcess):
+        (WebKit::WebProcessPool::applicationCacheDirectory): Deleted.
+        * UIProcess/WebProcessPool.h:
+
 2015-06-05  Mark Lam  <[email protected]>
 
         finally blocks should not set the exception stack trace when re-throwing the exception.

Modified: trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.cpp (185260 => 185261)


--- trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.cpp	2015-06-05 19:08:47 UTC (rev 185260)
+++ trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.cpp	2015-06-05 19:27:26 UTC (rev 185261)
@@ -44,16 +44,19 @@
     configuration->m_processModel = WebKit::ProcessModelSharedSecondaryProcess;
     configuration->m_useNetworkProcess = false;
     configuration->m_cacheModel = WebKit::CacheModelDocumentViewer;
+
+    configuration->m_applicationCacheDirectory = WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory();
+    configuration->m_indexedDBDatabaseDirectory = WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory();
     configuration->m_localStorageDirectory = WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory();
+    configuration->m_mediaKeysStorageDirectory = WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory();
     configuration->m_webSQLDatabaseDirectory = WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory();
-    configuration->m_indexedDBDatabaseDirectory = WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory();
-    configuration->m_mediaKeysStorageDirectory = WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory();
 
     return configuration;
 }
 
 ProcessPoolConfiguration::ProcessPoolConfiguration()
-    : m_indexedDBDatabaseDirectory(WebsiteDataStore::defaultIndexedDBDatabaseDirectory())
+    : m_applicationCacheDirectory(WebsiteDataStore::defaultApplicationCacheDirectory())
+    , m_indexedDBDatabaseDirectory(WebsiteDataStore::defaultIndexedDBDatabaseDirectory())
     , m_localStorageDirectory(WebsiteDataStore::defaultLocalStorageDirectory())
     , m_webSQLDatabaseDirectory(WebsiteDataStore::defaultWebSQLDatabaseDirectory())
     , m_mediaKeysStorageDirectory(WebsiteDataStore::defaultMediaKeysStorageDirectory())
@@ -74,11 +77,12 @@
     copy->m_maximumProcessCount = this->m_maximumProcessCount;
     copy->m_cacheModel = this->m_cacheModel;
     copy->m_diskCacheSizeOverride = this->m_diskCacheSizeOverride;
+    copy->m_applicationCacheDirectory = this->m_applicationCacheDirectory;
     copy->m_indexedDBDatabaseDirectory = this->m_indexedDBDatabaseDirectory;
     copy->m_injectedBundlePath = this->m_injectedBundlePath;
     copy->m_localStorageDirectory = this->m_localStorageDirectory;
+    copy->m_mediaKeysStorageDirectory = this->m_mediaKeysStorageDirectory;
     copy->m_webSQLDatabaseDirectory = this->m_webSQLDatabaseDirectory;
-    copy->m_mediaKeysStorageDirectory = this->m_mediaKeysStorageDirectory;
     copy->m_cachePartitionedURLSchemes = this->m_cachePartitionedURLSchemes;
     
     return copy;

Modified: trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h (185260 => 185261)


--- trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h	2015-06-05 19:08:47 UTC (rev 185260)
+++ trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h	2015-06-05 19:27:26 UTC (rev 185261)
@@ -63,6 +63,9 @@
     int64_t diskCacheSizeOverride() const { return m_diskCacheSizeOverride; }
     void setDiskCacheSizeOverride(int64_t size) { m_diskCacheSizeOverride = size; }
 
+    WTF::String applicationCacheDirectory() const { return m_applicationCacheDirectory; }
+    void setApplicationCacheDirectory(const WTF::String& applicationCacheDirectory) { m_applicationCacheDirectory = applicationCacheDirectory; }
+
     WTF::String indexedDBDatabaseDirectory() const { return m_indexedDBDatabaseDirectory; }
     void setIndexedDBDatabaseDirectory(const WTF::String& indexedDBDatabaseDirectory) { m_indexedDBDatabaseDirectory = indexedDBDatabaseDirectory; }
 
@@ -89,8 +92,10 @@
     unsigned m_maximumProcessCount { 0 };
     WebKit::CacheModel m_cacheModel { WebKit::CacheModelPrimaryWebBrowser };
     int64_t m_diskCacheSizeOverride { -1 };
+
+    WTF::String m_applicationCacheDirectory;
+    WTF::String m_indexedDBDatabaseDirectory;
     WTF::String m_injectedBundlePath;
-    WTF::String m_indexedDBDatabaseDirectory;
     WTF::String m_localStorageDirectory;
     WTF::String m_webSQLDatabaseDirectory;
     WTF::String m_mediaKeysStorageDirectory;

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp (185260 => 185261)


--- trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp	2015-06-05 19:08:47 UTC (rev 185260)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp	2015-06-05 19:27:26 UTC (rev 185261)
@@ -504,11 +504,6 @@
     toImpl(contextRef)->allowSpecificHTTPSCertificateForHost(toImpl(certificateRef), toImpl(hostRef)->string());
 }
 
-WK_EXPORT void WKContextSetApplicationCacheDirectory(WKContextRef contextRef, WKStringRef applicationCacheDirectory)
-{
-    toImpl(contextRef)->setApplicationCacheDirectory(toImpl(applicationCacheDirectory)->string());
-}
-
 WK_EXPORT void WKContextSetDiskCacheDirectory(WKContextRef contextRef, WKStringRef diskCacheDirectory)
 {
     toImpl(contextRef)->setDiskCacheDirectory(toImpl(diskCacheDirectory)->string());

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.cpp (185260 => 185261)


--- trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.cpp	2015-06-05 19:08:47 UTC (rev 185260)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.cpp	2015-06-05 19:27:26 UTC (rev 185261)
@@ -42,6 +42,16 @@
     return toAPI(&configuration.leakRef());
 }
 
+WKStringRef WKContextConfigurationCopyApplicationCacheDirectory(WKContextConfigurationRef configuration)
+{
+    return toCopiedAPI(toImpl(configuration)->applicationCacheDirectory());
+}
+
+void WKContextConfigurationSetApplicationCacheDirectory(WKContextConfigurationRef configuration, WKStringRef applicationCacheDirectory)
+{
+    toImpl(configuration)->setApplicationCacheDirectory(toImpl(applicationCacheDirectory)->string());
+}
+
 WKStringRef WKContextConfigurationCopyIndexedDBDatabaseDirectory(WKContextConfigurationRef configuration)
 {
     return toCopiedAPI(toImpl(configuration)->indexedDBDatabaseDirectory());

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.h (185260 => 185261)


--- trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.h	2015-06-05 19:08:47 UTC (rev 185260)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.h	2015-06-05 19:27:26 UTC (rev 185261)
@@ -34,6 +34,9 @@
 
 WK_EXPORT WKContextConfigurationRef WKContextConfigurationCreate();
 
+WK_EXPORT WKStringRef WKContextConfigurationCopyApplicationCacheDirectory(WKContextConfigurationRef configuration);
+WK_EXPORT void WKContextConfigurationSetApplicationCacheDirectory(WKContextConfigurationRef configuration, WKStringRef applicationCacheDirectory);
+
 WK_EXPORT WKStringRef WKContextConfigurationCopyIndexedDBDatabaseDirectory(WKContextConfigurationRef configuration);
 WK_EXPORT void WKContextConfigurationSetIndexedDBDatabaseDirectory(WKContextConfigurationRef configuration, WKStringRef indexedDBDatabaseDirectory);
 

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKContextPrivate.h (185260 => 185261)


--- trunk/Source/WebKit2/UIProcess/API/C/WKContextPrivate.h	2015-06-05 19:08:47 UTC (rev 185260)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContextPrivate.h	2015-06-05 19:27:26 UTC (rev 185261)
@@ -64,9 +64,6 @@
 
 WK_EXPORT void WKContextAllowSpecificHTTPSCertificateForHost(WKContextRef context, WKCertificateInfoRef certificate, WKStringRef host);
 
-// FIXME: These functions are only effective if called before the Web process is launched. But
-// we should really change these settings to be on WebPreferences and changeable at runtime.
-WK_EXPORT void WKContextSetApplicationCacheDirectory(WKContextRef context, WKStringRef applicationCacheDirectory);
 WK_EXPORT void WKContextSetDiskCacheDirectory(WKContextRef context, WKStringRef diskCacheDirectory);
 WK_EXPORT void WKContextSetCookieStorageDirectory(WKContextRef context, WKStringRef cookieStorageDirectory);
 

Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp (185260 => 185261)


--- trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp	2015-06-05 19:08:47 UTC (rev 185260)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp	2015-06-05 19:27:26 UTC (rev 185261)
@@ -165,9 +165,10 @@
 #if USE(SOUP)
     , m_initialHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicyOnlyFromMainDocumentDomain)
 #endif
-    , m_webSQLDatabaseDirectory(configuration.webSQLDatabaseDirectory())
+    , m_applicationCacheDirectory(configuration.applicationCacheDirectory())
     , m_indexedDBDatabaseDirectory(configuration.indexedDBDatabaseDirectory())
     , m_mediaKeysStorageDirectory(configuration.mediaKeysStorageDirectory())
+    , m_webSQLDatabaseDirectory(configuration.webSQLDatabaseDirectory())
     , m_shouldUseTestingNetworkSession(false)
     , m_processTerminationEnabled(true)
 #if ENABLE(NETWORK_PROCESS)
@@ -609,7 +610,7 @@
     if (!parameters.injectedBundlePath.isEmpty())
         SandboxExtension::createHandle(parameters.injectedBundlePath, SandboxExtension::ReadOnly, parameters.injectedBundlePathExtensionHandle);
 
-    parameters.applicationCacheDirectory = applicationCacheDirectory();
+    parameters.applicationCacheDirectory = m_applicationCacheDirectory;
     if (!parameters.applicationCacheDirectory.isEmpty())
         SandboxExtension::createHandleForReadWriteDirectory(parameters.applicationCacheDirectory, parameters.applicationCacheDirectoryExtensionHandle);
 
@@ -1164,14 +1165,6 @@
     sendToAllProcesses(Messages::WebProcess::StopMemorySampler());
 }
 
-String WebProcessPool::applicationCacheDirectory() const
-{
-    if (!m_overrideApplicationCacheDirectory.isEmpty())
-        return m_overrideApplicationCacheDirectory;
-
-    return legacyPlatformDefaultApplicationCacheDirectory();
-}
-
 void WebProcessPool::setIconDatabasePath(const String& path)
 {
     m_overrideIconDatabasePath = path;

Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.h (185260 => 185261)


--- trunk/Source/WebKit2/UIProcess/WebProcessPool.h	2015-06-05 19:08:47 UTC (rev 185260)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.h	2015-06-05 19:27:26 UTC (rev 185261)
@@ -243,7 +243,6 @@
     };
     static Statistics& statistics();    
 
-    void setApplicationCacheDirectory(const String& dir) { m_overrideApplicationCacheDirectory = dir; }
     void setIconDatabasePath(const String&);
     String iconDatabasePath() const;
     void setDiskCacheDirectory(const String& dir) { m_overrideDiskCacheDirectory = dir; }
@@ -394,8 +393,6 @@
     static void languageChanged(void* context);
     void languageChanged();
 
-    String applicationCacheDirectory() const;
-
     String platformDefaultIconDatabasePath() const;
 
     String diskCacheDirectory() const;
@@ -507,14 +504,14 @@
     RetainPtr<NSObject> m_automaticDashSubstitutionNotificationObserver;
 #endif
 
-    String m_overrideApplicationCacheDirectory;
     String m_overrideIconDatabasePath;
     String m_overrideDiskCacheDirectory;
     String m_overrideCookieStorageDirectory;
 
-    String m_webSQLDatabaseDirectory;
+    String m_applicationCacheDirectory;
     String m_indexedDBDatabaseDirectory;
     String m_mediaKeysStorageDirectory;
+    String m_webSQLDatabaseDirectory;
 
     bool m_shouldUseTestingNetworkSession;
 

Modified: trunk/Tools/ChangeLog (185260 => 185261)


--- trunk/Tools/ChangeLog	2015-06-05 19:08:47 UTC (rev 185260)
+++ trunk/Tools/ChangeLog	2015-06-05 19:27:26 UTC (rev 185261)
@@ -1,3 +1,13 @@
+2015-06-05  Anders Carlsson  <[email protected]>
+
+        Make the application cache directory part of WKContextConfigurationRef
+        https://bugs.webkit.org/show_bug.cgi?id=145704
+
+        Reviewed by Geoffrey Garen.
+
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::initialize):
+
 2015-06-04  Carlos Alberto Lopez Perez  <[email protected]>
 
         check-webkit-style should recommend using nullptr instead of recommending using 0 for the null pointer in C++ code.

Modified: trunk/Tools/WebKitTestRunner/TestController.cpp (185260 => 185261)


--- trunk/Tools/WebKitTestRunner/TestController.cpp	2015-06-05 19:08:47 UTC (rev 185260)
+++ trunk/Tools/WebKitTestRunner/TestController.cpp	2015-06-05 19:27:26 UTC (rev 185261)
@@ -358,6 +358,7 @@
 
         const char separator = '/';
 
+        WKContextConfigurationSetApplicationCacheDirectory(configuration.get(), toWK(temporaryFolder + separator + "ApplicationCache").get());
         WKContextConfigurationSetIndexedDBDatabaseDirectory(configuration.get(), toWK(temporaryFolder + separator + "Databases" + separator + "IndexedDB").get());
         WKContextConfigurationSetLocalStorageDirectory(configuration.get(), toWK(temporaryFolder + separator + "LocalStorage").get());
         WKContextConfigurationSetWebSQLDatabaseDirectory(configuration.get(), toWK(temporaryFolder + separator + "Databases" + separator + "WebSQL").get());
@@ -377,8 +378,7 @@
 
         const char separator = '/';
 
-        // FIXME: These should be migrated to WKContextConfigurationRef.
-        WKContextSetApplicationCacheDirectory(m_context.get(), toWK(temporaryFolder + separator + "ApplicationCache").get());
+        // FIXME: This should be migrated to WKContextConfigurationRef.
         WKContextSetDiskCacheDirectory(m_context.get(), toWK(temporaryFolder + separator + "Cache").get());
         // Disable icon database to avoid fetching <http://127.0.0.1:8000/favicon.ico> and making tests flaky.
         // Invividual tests can enable it using testRunner.setIconDatabaseEnabled, although it's not currently supported in WebKitTestRunner.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to