Title: [184677] trunk/Source/WebKit2
Revision
184677
Author
[email protected]
Date
2015-05-20 17:10:57 -0700 (Wed, 20 May 2015)

Log Message

Make sure we always have a process pool to perform data store operations with
https://bugs.webkit.org/show_bug.cgi?id=145231
rdar://problem/20618248

Reviewed by Tim Horton.

Make sure that we always return a process pool. If we're a legacy C SPI per-context data store,
find the process pool we're a part of and use that. Otherwise, create a new one.

* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::processPools):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (184676 => 184677)


--- trunk/Source/WebKit2/ChangeLog	2015-05-20 23:42:08 UTC (rev 184676)
+++ trunk/Source/WebKit2/ChangeLog	2015-05-21 00:10:57 UTC (rev 184677)
@@ -1,3 +1,17 @@
+2015-05-20  Anders Carlsson  <[email protected]>
+
+        Make sure we always have a process pool to perform data store operations with
+        https://bugs.webkit.org/show_bug.cgi?id=145231
+        rdar://problem/20618248
+
+        Reviewed by Tim Horton.
+
+        Make sure that we always return a process pool. If we're a legacy C SPI per-context data store,
+        find the process pool we're a part of and use that. Otherwise, create a new one.
+    
+        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+        (WebKit::WebsiteDataStore::processPools):
+
 2015-05-19  Jer Noble  <[email protected]>
 
         Touching HTMLMediaElement.h or MediaPlayer.h causes a world rebuild.

Modified: trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp (184676 => 184677)


--- trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp	2015-05-20 23:42:08 UTC (rev 184676)
+++ trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp	2015-05-21 00:10:57 UTC (rev 184677)
@@ -26,6 +26,7 @@
 #include "config.h"
 #include "WebsiteDataStore.h"
 
+#include "APIProcessPoolConfiguration.h"
 #include "APIWebsiteDataRecord.h"
 #include "StorageManager.h"
 #include "WebProcessPool.h"
@@ -734,6 +735,24 @@
     for (auto& process : processes())
         processPools.add(&process->processPool());
 
+    if (processPools.isEmpty()) {
+        // Check if we're one of the legacy data stores.
+        for (auto& processPool : WebProcessPool::allProcessPools()) {
+            if (auto dataStore = processPool->websiteDataStore()) {
+                if (&dataStore->websiteDataStore() == this) {
+                    processPools.add(processPool);
+                    break;
+                }
+            }
+        }
+    }
+
+    if (processPools.isEmpty()) {
+        auto processPool = WebProcessPool::create(API::ProcessPoolConfiguration::create());
+
+        processPools.add(processPool.ptr());
+    }
+
     return processPools;
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to