Title: [265134] trunk/Source/WebKit
Revision
265134
Author
commit-qu...@webkit.org
Date
2020-07-30 23:16:33 -0700 (Thu, 30 Jul 2020)

Log Message

Optimize WebsiteDataStoreConfiguration::copy
https://bugs.webkit.org/show_bug.cgi?id=215012
<rdar://problem/64263406>

Patch by Alex Christensen <achristen...@webkit.org> on 2020-07-30
Reviewed by Brady Eidson.

The WebsiteDataStoreConfiguration constructor does some read/write heavy things.
We only want to do these things if we are not just going to overwrite the strings with strings from another WebsiteDataStoreConfiguration.
No change in behavior, just making things faster.

* UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
(WebKit::WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration):
(WebKit::WebsiteDataStoreConfiguration::copy const):
* UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
(WebKit::WebsiteDataStoreConfiguration::create):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (265133 => 265134)


--- trunk/Source/WebKit/ChangeLog	2020-07-31 06:05:29 UTC (rev 265133)
+++ trunk/Source/WebKit/ChangeLog	2020-07-31 06:16:33 UTC (rev 265134)
@@ -1,3 +1,21 @@
+2020-07-30  Alex Christensen  <achristen...@webkit.org>
+
+        Optimize WebsiteDataStoreConfiguration::copy
+        https://bugs.webkit.org/show_bug.cgi?id=215012
+        <rdar://problem/64263406>
+
+        Reviewed by Brady Eidson.
+
+        The WebsiteDataStoreConfiguration constructor does some read/write heavy things.
+        We only want to do these things if we are not just going to overwrite the strings with strings from another WebsiteDataStoreConfiguration.
+        No change in behavior, just making things faster.
+
+        * UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:
+        (WebKit::WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration):
+        (WebKit::WebsiteDataStoreConfiguration::copy const):
+        * UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:
+        (WebKit::WebsiteDataStoreConfiguration::create):
+
 2020-07-30  Ryan Haddad  <ryanhad...@apple.com>
 
         Unreviewed second attempt to fix Catalyst build after r265084.

Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp (265133 => 265134)


--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp	2020-07-31 06:05:29 UTC (rev 265133)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp	2020-07-31 06:16:33 UTC (rev 265134)
@@ -30,10 +30,10 @@
 
 namespace WebKit {
 
-WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration(IsPersistent isPersistent)
+WebsiteDataStoreConfiguration::WebsiteDataStoreConfiguration(IsPersistent isPersistent, WillCopyPathsFromExistingConfiguration willCopyPaths)
     : m_isPersistent(isPersistent)
 {
-    if (isPersistent == IsPersistent::Yes) {
+    if (isPersistent == IsPersistent::Yes && willCopyPaths == WillCopyPathsFromExistingConfiguration::No) {
         setApplicationCacheDirectory(WebsiteDataStore::defaultApplicationCacheDirectory());
         setCacheStorageDirectory(WebsiteDataStore::defaultCacheStorageDirectory());
         setNetworkCacheDirectory(WebsiteDataStore::defaultNetworkCacheDirectory());
@@ -52,7 +52,7 @@
 
 Ref<WebsiteDataStoreConfiguration> WebsiteDataStoreConfiguration::copy() const
 {
-    auto copy = WebsiteDataStoreConfiguration::create(m_isPersistent);
+    auto copy = WebsiteDataStoreConfiguration::create(m_isPersistent, WillCopyPathsFromExistingConfiguration::Yes);
 
     copy->m_serviceWorkerProcessTerminationDelayEnabled = this->m_serviceWorkerProcessTerminationDelayEnabled;
     copy->m_fastServerTrustEvaluationEnabled = this->m_fastServerTrustEvaluationEnabled;

Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h (265133 => 265134)


--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h	2020-07-31 06:05:29 UTC (rev 265133)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h	2020-07-31 06:16:33 UTC (rev 265134)
@@ -33,11 +33,12 @@
 namespace WebKit {
 
 enum class IsPersistent : bool { No, Yes };
+enum class WillCopyPathsFromExistingConfiguration : bool { No, Yes };
 
 class WebsiteDataStoreConfiguration : public API::ObjectImpl<API::Object::Type::WebsiteDataStoreConfiguration> {
 public:
-    static Ref<WebsiteDataStoreConfiguration> create(IsPersistent isPersistent) { return adoptRef(*new WebsiteDataStoreConfiguration(isPersistent)); }
-    WebsiteDataStoreConfiguration(IsPersistent);
+    static Ref<WebsiteDataStoreConfiguration> create(IsPersistent isPersistent, WillCopyPathsFromExistingConfiguration willCopyPaths = WillCopyPathsFromExistingConfiguration::No) { return adoptRef(*new WebsiteDataStoreConfiguration(isPersistent, willCopyPaths)); }
+    WebsiteDataStoreConfiguration(IsPersistent, WillCopyPathsFromExistingConfiguration = WillCopyPathsFromExistingConfiguration::No);
 
     Ref<WebsiteDataStoreConfiguration> copy() const;
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to