Diff
Modified: trunk/Source/WebKit/ChangeLog (225876 => 225877)
--- trunk/Source/WebKit/ChangeLog 2017-12-13 23:10:22 UTC (rev 225876)
+++ trunk/Source/WebKit/ChangeLog 2017-12-13 23:58:37 UTC (rev 225877)
@@ -1,3 +1,17 @@
+2017-12-13 Matt Lewis <[email protected]>
+
+ Unreviewed, rolling out r225864.
+
+ This caused the Layout test step to crash out on Debug testers
+
+ Reverted changeset:
+
+ "REGRESSION (r225789): API tests
+ WKProcessPool.InitialWarmedProcessUsed and
+ WebKit.WebsiteDataStoreCustomPaths are failing."
+ https://bugs.webkit.org/show_bug.cgi?id=180722
+ https://trac.webkit.org/changeset/225864
+
2017-12-13 Brady Eidson <[email protected]>
REGRESSION (r225789): API tests WKProcessPool.InitialWarmedProcessUsed and WebKit.WebsiteDataStoreCustomPaths are failing.
Modified: trunk/Source/WebKit/StorageProcess/StorageProcess.cpp (225876 => 225877)
--- trunk/Source/WebKit/StorageProcess/StorageProcess.cpp 2017-12-13 23:10:22 UTC (rev 225876)
+++ trunk/Source/WebKit/StorageProcess/StorageProcess.cpp 2017-12-13 23:58:37 UTC (rev 225877)
@@ -111,7 +111,7 @@
swServer->markAllWorkersAsTerminated();
if (shouldRelaunch)
- createServerToContextConnection(std::nullopt);
+ createServerToContextConnection();
}
// The rule is that we need a context process (and a connection to it) as long as we have SWServerConnections to regular WebProcesses.
@@ -427,16 +427,13 @@
return m_serverToContextConnection.get();
}
-void StorageProcess::createServerToContextConnection(std::optional<PAL::SessionID> sessionID)
+void StorageProcess::createServerToContextConnection()
{
if (m_waitingForServerToContextProcessConnection)
return;
m_waitingForServerToContextProcessConnection = true;
- if (sessionID)
- parentProcessConnection()->send(Messages::StorageProcessProxy::EstablishWorkerContextConnectionToStorageProcessForExplicitSession(*sessionID), 0);
- else
- parentProcessConnection()->send(Messages::StorageProcessProxy::EstablishWorkerContextConnectionToStorageProcess(), 0);
+ parentProcessConnection()->send(Messages::StorageProcessProxy::EstablishWorkerContextConnectionToStorageProcess(), 0);
}
void StorageProcess::didFailFetch(SWServerConnectionIdentifier serverConnectionIdentifier, uint64_t fetchIdentifier)
Modified: trunk/Source/WebKit/StorageProcess/StorageProcess.h (225876 => 225877)
--- trunk/Source/WebKit/StorageProcess/StorageProcess.h 2017-12-13 23:10:22 UTC (rev 225876)
+++ trunk/Source/WebKit/StorageProcess/StorageProcess.h 2017-12-13 23:58:37 UTC (rev 225877)
@@ -89,7 +89,7 @@
// For now we just have one global connection to service worker context processes.
// This will change in the future.
WebSWServerToContextConnection* globalServerToContextConnection();
- void createServerToContextConnection(std::optional<PAL::SessionID>);
+ void createServerToContextConnection();
WebCore::SWServer& swServerForSession(PAL::SessionID);
void registerSWServerConnection(WebSWServerConnection&);
Modified: trunk/Source/WebKit/StorageProcess/StorageToWebProcessConnection.cpp (225876 => 225877)
--- trunk/Source/WebKit/StorageProcess/StorageToWebProcessConnection.cpp 2017-12-13 23:10:22 UTC (rev 225876)
+++ trunk/Source/WebKit/StorageProcess/StorageToWebProcessConnection.cpp 2017-12-13 23:58:37 UTC (rev 225877)
@@ -171,7 +171,7 @@
ASSERT_UNUSED(addResult, addResult.isNewEntry);
if (!StorageProcess::singleton().globalServerToContextConnection())
- StorageProcess::singleton().createServerToContextConnection(sessionID);
+ StorageProcess::singleton().createServerToContextConnection();
}
void StorageToWebProcessConnection::removeSWServerConnection(WebCore::SWServer::Connection::Identifier serverConnectionIdentifier)
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm (225876 => 225877)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm 2017-12-13 23:10:22 UTC (rev 225876)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm 2017-12-13 23:58:37 UTC (rev 225877)
@@ -437,29 +437,6 @@
return _processPool->processes().size();
}
-- (size_t)_webPageContentProcessCount
-{
- auto allWebProcesses = _processPool->processes();
- auto* serviceWorkerProcess = _processPool->serviceWorkerProxy();
- if (!serviceWorkerProcess)
- return allWebProcesses.size();
-
-#if !ASSERT_DISABLED
- bool serviceWorkerProcessWasFound = false;
- for (auto& process : allWebProcesses) {
- if (process == serviceWorkerProcess) {
- serviceWorkerProcessWasFound = true;
- break;
- }
- }
-
- ASSERT(serviceWorkerProcessWasFound);
- ASSERT(allWebProcesses.size() > 1);
-#endif
-
- return allWebProcesses.size() - 1;
-}
-
- (void)_preconnectToServer:(NSURL *)serverURL
{
_processPool->preconnectToServer(serverURL);
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h (225876 => 225877)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h 2017-12-13 23:10:22 UTC (rev 225876)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h 2017-12-13 23:58:37 UTC (rev 225877)
@@ -85,9 +85,6 @@
- (size_t)_pluginProcessCount WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
- (void)_syncNetworkProcessCookies WK_API_AVAILABLE(macosx(10.13), ios(11.0));
-// Test only. Returns web processes running web pages (does not include web processes running service workers)
-- (size_t)_webPageContentProcessCount WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
-
// Test only. Should be called before any web content processes are launched.
+ (void)_forceGameControllerFramework WK_API_AVAILABLE(macosx(10.13), ios(11.0));
Modified: trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.cpp (225876 => 225877)
--- trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.cpp 2017-12-13 23:10:22 UTC (rev 225876)
+++ trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.cpp 2017-12-13 23:58:37 UTC (rev 225877)
@@ -223,13 +223,8 @@
#if ENABLE(SERVICE_WORKER)
void StorageProcessProxy::establishWorkerContextConnectionToStorageProcess()
{
- m_processPool.establishWorkerContextConnectionToStorageProcess(*this, std::nullopt);
+ m_processPool.establishWorkerContextConnectionToStorageProcess(*this);
}
-
-void StorageProcessProxy::establishWorkerContextConnectionToStorageProcessForExplicitSession(PAL::SessionID sessionID)
-{
- m_processPool.establishWorkerContextConnectionToStorageProcess(*this, sessionID);
-}
#endif
} // namespace WebKit
Modified: trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.h (225876 => 225877)
--- trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.h 2017-12-13 23:10:22 UTC (rev 225876)
+++ trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.h 2017-12-13 23:58:37 UTC (rev 225877)
@@ -81,7 +81,6 @@
#endif
#if ENABLE(SERVICE_WORKER)
void establishWorkerContextConnectionToStorageProcess();
- void establishWorkerContextConnectionToStorageProcessForExplicitSession(PAL::SessionID);
#endif
// ProcessLauncher::Client
Modified: trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.messages.in (225876 => 225877)
--- trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.messages.in 2017-12-13 23:10:22 UTC (rev 225876)
+++ trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.messages.in 2017-12-13 23:58:37 UTC (rev 225877)
@@ -33,6 +33,5 @@
#if ENABLE(SERVICE_WORKER)
EstablishWorkerContextConnectionToStorageProcess()
- EstablishWorkerContextConnectionToStorageProcessForExplicitSession(PAL::SessionID explicitSession)
#endif
}
Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (225876 => 225877)
--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2017-12-13 23:10:22 UTC (rev 225876)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2017-12-13 23:58:37 UTC (rev 225877)
@@ -589,7 +589,7 @@
}
#if ENABLE(SERVICE_WORKER)
-void WebProcessPool::establishWorkerContextConnectionToStorageProcess(StorageProcessProxy& proxy, std::optional<PAL::SessionID> sessionID)
+void WebProcessPool::establishWorkerContextConnectionToStorageProcess(StorageProcessProxy& proxy)
{
ASSERT_UNUSED(proxy, &proxy == m_storageProcess);
@@ -596,22 +596,13 @@
if (m_serviceWorkerProcess)
return;
- WebsiteDataStore* websiteDataStore = nullptr;
- if (sessionID)
- websiteDataStore = WebsiteDataStore::existingDataStoreForSessionID(*sessionID);
+ if (!m_websiteDataStore)
+ m_websiteDataStore = API::WebsiteDataStore::defaultDataStore().ptr();
- if (!websiteDataStore) {
- if (!m_websiteDataStore)
- m_websiteDataStore = API::WebsiteDataStore::defaultDataStore().ptr();
- websiteDataStore = &m_websiteDataStore->websiteDataStore();
- }
-
- auto serviceWorkerProcessProxy = ServiceWorkerProcessProxy::create(*this, *websiteDataStore);
+ auto serviceWorkerProcessProxy = ServiceWorkerProcessProxy::create(*this, m_websiteDataStore->websiteDataStore());
m_serviceWorkerProcess = serviceWorkerProcessProxy.ptr();
-
updateProcessAssertions();
- initializeNewWebProcess(serviceWorkerProcessProxy.get(), *websiteDataStore);
-
+ initializeNewWebProcess(serviceWorkerProcessProxy.get(), m_websiteDataStore->websiteDataStore());
m_processes.append(WTFMove(serviceWorkerProcessProxy));
m_serviceWorkerProcess->start(m_defaultPageGroup->preferences().store());
Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.h (225876 => 225877)
--- trunk/Source/WebKit/UIProcess/WebProcessPool.h 2017-12-13 23:10:22 UTC (rev 225876)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.h 2017-12-13 23:58:37 UTC (rev 225877)
@@ -323,7 +323,7 @@
void getStorageProcessConnection(bool isServiceWorkerProcess, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&&);
void storageProcessCrashed(StorageProcessProxy*);
#if ENABLE(SERVICE_WORKER)
- void establishWorkerContextConnectionToStorageProcess(StorageProcessProxy&, std::optional<PAL::SessionID>);
+ void establishWorkerContextConnectionToStorageProcess(StorageProcessProxy&);
bool isServiceWorker(uint64_t pageID) const { return m_serviceWorkerProcess && m_serviceWorkerProcess->pageID() == pageID; }
ServiceWorkerProcessProxy* serviceWorkerProxy() const { return m_serviceWorkerProcess; }
void setAllowsAnySSLCertificateForServiceWorker(bool allows) { m_allowsAnySSLCertificateForServiceWorker = allows; }
Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp (225876 => 225877)
--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp 2017-12-13 23:10:22 UTC (rev 225876)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp 2017-12-13 23:58:37 UTC (rev 225877)
@@ -55,13 +55,6 @@
namespace WebKit {
-static HashMap<PAL::SessionID, WebsiteDataStore*>& allDataStores()
-{
- RELEASE_ASSERT(isMainThread());
- static NeverDestroyed<HashMap<PAL::SessionID, WebsiteDataStore*>> map;
- return map;
-}
-
Ref<WebsiteDataStore> WebsiteDataStore::createNonPersistent()
{
return adoptRef(*new WebsiteDataStore(PAL::SessionID::generateEphemeralSessionID()));
@@ -78,9 +71,6 @@
, m_storageManager(StorageManager::create(m_configuration.localStorageDirectory))
, m_queue(WorkQueue::create("com.apple.WebKit.WebsiteDataStore"))
{
- auto result = allDataStores().add(sessionID, this);
- ASSERT_UNUSED(result, result.isNewEntry);
-
platformInitialize();
}
@@ -89,17 +79,11 @@
, m_configuration()
, m_queue(WorkQueue::create("com.apple.WebKit.WebsiteDataStore"))
{
- auto result = allDataStores().add(sessionID, this);
- ASSERT_UNUSED(result, result.isNewEntry);
-
platformInitialize();
}
WebsiteDataStore::~WebsiteDataStore()
{
- ASSERT(allDataStores().get(m_sessionID) == this);
- allDataStores().remove(m_sessionID);
-
platformDestroy();
if (m_sessionID.isValid() && m_sessionID != PAL::SessionID::defaultSessionID()) {
@@ -108,11 +92,6 @@
}
}
-WebsiteDataStore* WebsiteDataStore::existingDataStoreForSessionID(PAL::SessionID sessionID)
-{
- return allDataStores().get(sessionID);
-}
-
WebProcessPool* WebsiteDataStore::processPoolForCookieStorageOperations()
{
auto pools = processPools(1, false);
Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h (225876 => 225877)
--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h 2017-12-13 23:10:22 UTC (rev 225876)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h 2017-12-13 23:58:37 UTC (rev 225877)
@@ -91,8 +91,6 @@
static Ref<WebsiteDataStore> create(Configuration, PAL::SessionID);
virtual ~WebsiteDataStore();
- static WebsiteDataStore* existingDataStoreForSessionID(PAL::SessionID);
-
bool isPersistent() const { return !m_sessionID.isEphemeral(); }
PAL::SessionID sessionID() const { return m_sessionID; }
Modified: trunk/Tools/ChangeLog (225876 => 225877)
--- trunk/Tools/ChangeLog 2017-12-13 23:10:22 UTC (rev 225876)
+++ trunk/Tools/ChangeLog 2017-12-13 23:58:37 UTC (rev 225877)
@@ -1,3 +1,17 @@
+2017-12-13 Matt Lewis <[email protected]>
+
+ Unreviewed, rolling out r225864.
+
+ This caused the Layout test step to crash out on Debug testers
+
+ Reverted changeset:
+
+ "REGRESSION (r225789): API tests
+ WKProcessPool.InitialWarmedProcessUsed and
+ WebKit.WebsiteDataStoreCustomPaths are failing."
+ https://bugs.webkit.org/show_bug.cgi?id=180722
+ https://trac.webkit.org/changeset/225864
+
2017-12-13 Youenn Fablet <[email protected]>
Update ContentFiltering.LazilyLoadPlatformFrameworks test to account for libwebrtc using VideoProcessing framework
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm (225876 => 225877)
--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm 2017-12-13 23:10:22 UTC (rev 225876)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm 2017-12-13 23:58:37 UTC (rev 225877)
@@ -48,7 +48,7 @@
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:loadableURL]]];
[webView _test_waitForDidFinishNavigation];
- EXPECT_EQ([pool _webPageContentProcessCount], static_cast<size_t>(1));
+ EXPECT_EQ([pool _webProcessCount], static_cast<size_t>(1));
}
#endif