Title: [217743] trunk
Revision
217743
Author
cdu...@apple.com
Date
2017-06-02 16:48:50 -0700 (Fri, 02 Jun 2017)

Log Message

ResourceLoadStatistics are not using unique paths during test runs
https://bugs.webkit.org/show_bug.cgi?id=172861
<rdar://problem/32442251>

Reviewed by Darin Adler.

Source/WebKit2:

Add WKContextConfigurationSetResourceLoadStatisticsDirectory() C API to allow
WKTR to use a custom directory.

* UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::createWithWebsiteDataStoreConfiguration):
(API::ProcessPoolConfiguration::ProcessPoolConfiguration):
(API::ProcessPoolConfiguration::copy):
* UIProcess/API/APIProcessPoolConfiguration.h:
* UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationCopyResourceLoadStatisticsDirectory):
(WKContextConfigurationSetResourceLoadStatisticsDirectory):
* UIProcess/API/C/WKContextConfigurationRef.h:
* UIProcess/WebProcessPool.cpp:
(WebKit::legacyWebsiteDataStoreConfiguration):

Tools:

Make sure WebKitTestRunner sets a temporary path for saving resource
load statistics.

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

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (217742 => 217743)


--- trunk/Source/WebKit2/ChangeLog	2017-06-02 23:40:07 UTC (rev 217742)
+++ trunk/Source/WebKit2/ChangeLog	2017-06-02 23:48:50 UTC (rev 217743)
@@ -1,3 +1,26 @@
+2017-06-02  Chris Dumez  <cdu...@apple.com>
+
+        ResourceLoadStatistics are not using unique paths during test runs
+        https://bugs.webkit.org/show_bug.cgi?id=172861
+        <rdar://problem/32442251>
+
+        Reviewed by Darin Adler.
+
+        Add WKContextConfigurationSetResourceLoadStatisticsDirectory() C API to allow
+        WKTR to use a custom directory.
+
+        * UIProcess/API/APIProcessPoolConfiguration.cpp:
+        (API::ProcessPoolConfiguration::createWithWebsiteDataStoreConfiguration):
+        (API::ProcessPoolConfiguration::ProcessPoolConfiguration):
+        (API::ProcessPoolConfiguration::copy):
+        * UIProcess/API/APIProcessPoolConfiguration.h:
+        * UIProcess/API/C/WKContextConfigurationRef.cpp:
+        (WKContextConfigurationCopyResourceLoadStatisticsDirectory):
+        (WKContextConfigurationSetResourceLoadStatisticsDirectory):
+        * UIProcess/API/C/WKContextConfigurationRef.h:
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::legacyWebsiteDataStoreConfiguration):
+
 2017-06-02  Brady Eidson  <beid...@apple.com>
 
         Prevent scheme handlers from handling all built-in URL schemes.

Modified: trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.cpp (217742 => 217743)


--- trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.cpp	2017-06-02 23:40:07 UTC (rev 217742)
+++ trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.cpp	2017-06-02 23:48:50 UTC (rev 217743)
@@ -68,6 +68,7 @@
     configuration->m_indexedDBDatabaseDirectory = WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory();
     configuration->m_localStorageDirectory = legacyConfiguration.localStorageDirectory;
     configuration->m_mediaKeysStorageDirectory = legacyConfiguration.mediaKeysStorageDirectory;
+    configuration->m_resourceLoadStatisticsDirectory = legacyConfiguration.resourceLoadStatisticsDirectory;
     configuration->m_webSQLDatabaseDirectory = legacyConfiguration.webSQLDatabaseDirectory;
 
     return configuration;
@@ -82,6 +83,7 @@
     , m_localStorageDirectory(WebsiteDataStore::defaultLocalStorageDirectory())
     , m_webSQLDatabaseDirectory(WebsiteDataStore::defaultWebSQLDatabaseDirectory())
     , m_mediaKeysStorageDirectory(WebsiteDataStore::defaultMediaKeysStorageDirectory())
+    , m_resourceLoadStatisticsDirectory(WebsiteDataStore::defaultResourceLoadStatisticsDirectory())
     , m_javaScriptConfigurationDirectory(WebsiteDataStore::defaultJavaScriptConfigurationDirectory())
 {
 }
@@ -107,6 +109,7 @@
     copy->m_injectedBundlePath = this->m_injectedBundlePath;
     copy->m_localStorageDirectory = this->m_localStorageDirectory;
     copy->m_mediaKeysStorageDirectory = this->m_mediaKeysStorageDirectory;
+    copy->m_resourceLoadStatisticsDirectory = this->m_resourceLoadStatisticsDirectory;
     copy->m_javaScriptConfigurationDirectory = this->m_javaScriptConfigurationDirectory;
     copy->m_webSQLDatabaseDirectory = this->m_webSQLDatabaseDirectory;
     copy->m_cachePartitionedURLSchemes = this->m_cachePartitionedURLSchemes;

Modified: trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h (217742 => 217743)


--- trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h	2017-06-02 23:40:07 UTC (rev 217742)
+++ trunk/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h	2017-06-02 23:48:50 UTC (rev 217743)
@@ -87,6 +87,9 @@
     const WTF::String& mediaKeysStorageDirectory() const { return m_mediaKeysStorageDirectory; }
     void setMediaKeysStorageDirectory(const WTF::String& mediaKeysStorageDirectory) { m_mediaKeysStorageDirectory = mediaKeysStorageDirectory; }
 
+    const WTF::String& resourceLoadStatisticsDirectory() const { return m_resourceLoadStatisticsDirectory; }
+    void setResourceLoadStatisticsDirectory(const WTF::String& resourceLoadStatisticsDirectory) { m_resourceLoadStatisticsDirectory = resourceLoadStatisticsDirectory; }
+
     const WTF::String& _javascript_ConfigurationDirectory() const { return m_javaScriptConfigurationDirectory; }
     void setJavaScriptConfigurationDirectory(const WTF::String& _javascript_ConfigurationDirectory) { m_javaScriptConfigurationDirectory = _javascript_ConfigurationDirectory; }
 

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


--- trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.cpp	2017-06-02 23:40:07 UTC (rev 217742)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.cpp	2017-06-02 23:48:50 UTC (rev 217743)
@@ -118,6 +118,16 @@
     toImpl(configuration)->setMediaKeysStorageDirectory(toImpl(mediaKeysStorageDirectory)->string());
 }
 
+WKStringRef WKContextConfigurationCopyResourceLoadStatisticsDirectory(WKContextConfigurationRef configuration)
+{
+    return toCopiedAPI(toImpl(configuration)->resourceLoadStatisticsDirectory());
+}
+
+void WKContextConfigurationSetResourceLoadStatisticsDirectory(WKContextConfigurationRef configuration, WKStringRef resourceLoadStatisticsDirectory)
+{
+    toImpl(configuration)->setResourceLoadStatisticsDirectory(toImpl(resourceLoadStatisticsDirectory)->string());
+}
+
 bool WKContextConfigurationFullySynchronousModeIsAllowedForTesting(WKContextConfigurationRef configuration)
 {
     return toImpl(configuration)->fullySynchronousModeIsAllowedForTesting();

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


--- trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.h	2017-06-02 23:40:07 UTC (rev 217742)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContextConfigurationRef.h	2017-06-02 23:48:50 UTC (rev 217743)
@@ -56,6 +56,9 @@
 WK_EXPORT WKStringRef WKContextConfigurationCopyMediaKeysStorageDirectory(WKContextConfigurationRef configuration);
 WK_EXPORT void WKContextConfigurationSetMediaKeysStorageDirectory(WKContextConfigurationRef configuration, WKStringRef mediaKeysStorageDirectory);
 
+WK_EXPORT WKStringRef WKContextConfigurationCopyResourceLoadStatisticsDirectory(WKContextConfigurationRef configuration);
+WK_EXPORT void WKContextConfigurationSetResourceLoadStatisticsDirectory(WKContextConfigurationRef configuration, WKStringRef resourceLoadStatisticsDirectory);
+
 WK_EXPORT bool WKContextConfigurationFullySynchronousModeIsAllowedForTesting(WKContextConfigurationRef configuration);
 WK_EXPORT void WKContextConfigurationSetFullySynchronousModeIsAllowedForTesting(WKContextConfigurationRef configuration, bool allowed);
 

Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp (217742 => 217743)


--- trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp	2017-06-02 23:40:07 UTC (rev 217742)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp	2017-06-02 23:48:50 UTC (rev 217743)
@@ -199,12 +199,10 @@
     configuration.applicationCacheFlatFileSubdirectoryName = processPoolConfiguration.applicationCacheFlatFileSubdirectoryName();
     configuration.mediaCacheDirectory = processPoolConfiguration.mediaCacheDirectory();
     configuration.mediaKeysStorageDirectory = processPoolConfiguration.mediaKeysStorageDirectory();
+    configuration.resourceLoadStatisticsDirectory = processPoolConfiguration.resourceLoadStatisticsDirectory();
     configuration.networkCacheDirectory = processPoolConfiguration.diskCacheDirectory();
     configuration._javascript_ConfigurationDirectory = processPoolConfiguration._javascript_ConfigurationDirectory();
 
-    // This is needed to support legacy WK2 clients, which did not have resource load statistics.
-    configuration.resourceLoadStatisticsDirectory = API::WebsiteDataStore::defaultResourceLoadStatisticsDirectory();
-
     return configuration;
 }
 

Modified: trunk/Tools/ChangeLog (217742 => 217743)


--- trunk/Tools/ChangeLog	2017-06-02 23:40:07 UTC (rev 217742)
+++ trunk/Tools/ChangeLog	2017-06-02 23:48:50 UTC (rev 217743)
@@ -1,3 +1,17 @@
+2017-06-02  Chris Dumez  <cdu...@apple.com>
+
+        ResourceLoadStatistics are not using unique paths during test runs
+        https://bugs.webkit.org/show_bug.cgi?id=172861
+        <rdar://problem/32442251>
+
+        Reviewed by Darin Adler.
+
+        Make sure WebKitTestRunner sets a temporary path for saving resource
+        load statistics.
+
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::generateContextConfiguration):
+
 2017-06-02  Brady Eidson  <beid...@apple.com>
 
         Prevent scheme handlers from handling all built-in URL schemes.

Modified: trunk/Tools/WebKitTestRunner/TestController.cpp (217742 => 217743)


--- trunk/Tools/WebKitTestRunner/TestController.cpp	2017-06-02 23:40:07 UTC (rev 217742)
+++ trunk/Tools/WebKitTestRunner/TestController.cpp	2017-06-02 23:48:50 UTC (rev 217743)
@@ -409,6 +409,7 @@
         WKContextConfigurationSetLocalStorageDirectory(configuration.get(), toWK(temporaryFolder + separator + "LocalStorage").get());
         WKContextConfigurationSetWebSQLDatabaseDirectory(configuration.get(), toWK(temporaryFolder + separator + "Databases" + separator + "WebSQL").get());
         WKContextConfigurationSetMediaKeysStorageDirectory(configuration.get(), toWK(temporaryFolder + separator + "MediaKeys").get());
+        WKContextConfigurationSetResourceLoadStatisticsDirectory(configuration.get(), toWK(temporaryFolder + separator + "ResourceLoadStatistics").get());
     }
     return configuration;
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to