Changeset 225877 in webkit
- Timestamp:
- Dec 13, 2017 3:58:37 PM (6 years ago)
- Location:
- trunk
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r225864 r225877 1 2017-12-13 Matt Lewis <jlewis3@apple.com> 2 3 Unreviewed, rolling out r225864. 4 5 This caused the Layout test step to crash out on Debug testers 6 7 Reverted changeset: 8 9 "REGRESSION (r225789): API tests 10 WKProcessPool.InitialWarmedProcessUsed and 11 WebKit.WebsiteDataStoreCustomPaths are failing." 12 https://bugs.webkit.org/show_bug.cgi?id=180722 13 https://trac.webkit.org/changeset/225864 14 1 15 2017-12-13 Brady Eidson <beidson@apple.com> 2 16 -
trunk/Source/WebKit/StorageProcess/StorageProcess.cpp
r225864 r225877 112 112 113 113 if (shouldRelaunch) 114 createServerToContextConnection( std::nullopt);114 createServerToContextConnection(); 115 115 } 116 116 … … 428 428 } 429 429 430 void StorageProcess::createServerToContextConnection( std::optional<PAL::SessionID> sessionID)430 void StorageProcess::createServerToContextConnection() 431 431 { 432 432 if (m_waitingForServerToContextProcessConnection) … … 434 434 435 435 m_waitingForServerToContextProcessConnection = true; 436 if (sessionID) 437 parentProcessConnection()->send(Messages::StorageProcessProxy::EstablishWorkerContextConnectionToStorageProcessForExplicitSession(*sessionID), 0); 438 else 439 parentProcessConnection()->send(Messages::StorageProcessProxy::EstablishWorkerContextConnectionToStorageProcess(), 0); 436 parentProcessConnection()->send(Messages::StorageProcessProxy::EstablishWorkerContextConnectionToStorageProcess(), 0); 440 437 } 441 438 -
trunk/Source/WebKit/StorageProcess/StorageProcess.h
r225864 r225877 90 90 // This will change in the future. 91 91 WebSWServerToContextConnection* globalServerToContextConnection(); 92 void createServerToContextConnection( std::optional<PAL::SessionID>);92 void createServerToContextConnection(); 93 93 94 94 WebCore::SWServer& swServerForSession(PAL::SessionID); -
trunk/Source/WebKit/StorageProcess/StorageToWebProcessConnection.cpp
r225864 r225877 172 172 173 173 if (!StorageProcess::singleton().globalServerToContextConnection()) 174 StorageProcess::singleton().createServerToContextConnection( sessionID);174 StorageProcess::singleton().createServerToContextConnection(); 175 175 } 176 176 -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm
r225864 r225877 438 438 } 439 439 440 - (size_t)_webPageContentProcessCount441 {442 auto allWebProcesses = _processPool->processes();443 auto* serviceWorkerProcess = _processPool->serviceWorkerProxy();444 if (!serviceWorkerProcess)445 return allWebProcesses.size();446 447 #if !ASSERT_DISABLED448 bool serviceWorkerProcessWasFound = false;449 for (auto& process : allWebProcesses) {450 if (process == serviceWorkerProcess) {451 serviceWorkerProcessWasFound = true;452 break;453 }454 }455 456 ASSERT(serviceWorkerProcessWasFound);457 ASSERT(allWebProcesses.size() > 1);458 #endif459 460 return allWebProcesses.size() - 1;461 }462 463 440 - (void)_preconnectToServer:(NSURL *)serverURL 464 441 { -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h
r225864 r225877 86 86 - (void)_syncNetworkProcessCookies WK_API_AVAILABLE(macosx(10.13), ios(11.0)); 87 87 88 // Test only. Returns web processes running web pages (does not include web processes running service workers)89 - (size_t)_webPageContentProcessCount WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));90 91 88 // Test only. Should be called before any web content processes are launched. 92 89 + (void)_forceGameControllerFramework WK_API_AVAILABLE(macosx(10.13), ios(11.0)); -
trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.cpp
r225864 r225877 224 224 void StorageProcessProxy::establishWorkerContextConnectionToStorageProcess() 225 225 { 226 m_processPool.establishWorkerContextConnectionToStorageProcess(*this, std::nullopt); 227 } 228 229 void StorageProcessProxy::establishWorkerContextConnectionToStorageProcessForExplicitSession(PAL::SessionID sessionID) 230 { 231 m_processPool.establishWorkerContextConnectionToStorageProcess(*this, sessionID); 226 m_processPool.establishWorkerContextConnectionToStorageProcess(*this); 232 227 } 233 228 #endif -
trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.h
r225864 r225877 82 82 #if ENABLE(SERVICE_WORKER) 83 83 void establishWorkerContextConnectionToStorageProcess(); 84 void establishWorkerContextConnectionToStorageProcessForExplicitSession(PAL::SessionID);85 84 #endif 86 85 -
trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.messages.in
r225864 r225877 34 34 #if ENABLE(SERVICE_WORKER) 35 35 EstablishWorkerContextConnectionToStorageProcess() 36 EstablishWorkerContextConnectionToStorageProcessForExplicitSession(PAL::SessionID explicitSession)37 36 #endif 38 37 } -
trunk/Source/WebKit/UIProcess/WebProcessPool.cpp
r225864 r225877 590 590 591 591 #if ENABLE(SERVICE_WORKER) 592 void WebProcessPool::establishWorkerContextConnectionToStorageProcess(StorageProcessProxy& proxy , std::optional<PAL::SessionID> sessionID)592 void WebProcessPool::establishWorkerContextConnectionToStorageProcess(StorageProcessProxy& proxy) 593 593 { 594 594 ASSERT_UNUSED(proxy, &proxy == m_storageProcess); … … 597 597 return; 598 598 599 WebsiteDataStore* websiteDataStore = nullptr; 600 if (sessionID) 601 websiteDataStore = WebsiteDataStore::existingDataStoreForSessionID(*sessionID); 602 603 if (!websiteDataStore) { 604 if (!m_websiteDataStore) 605 m_websiteDataStore = API::WebsiteDataStore::defaultDataStore().ptr(); 606 websiteDataStore = &m_websiteDataStore->websiteDataStore(); 607 } 608 609 auto serviceWorkerProcessProxy = ServiceWorkerProcessProxy::create(*this, *websiteDataStore); 599 if (!m_websiteDataStore) 600 m_websiteDataStore = API::WebsiteDataStore::defaultDataStore().ptr(); 601 602 auto serviceWorkerProcessProxy = ServiceWorkerProcessProxy::create(*this, m_websiteDataStore->websiteDataStore()); 610 603 m_serviceWorkerProcess = serviceWorkerProcessProxy.ptr(); 611 612 604 updateProcessAssertions(); 613 initializeNewWebProcess(serviceWorkerProcessProxy.get(), *websiteDataStore); 614 605 initializeNewWebProcess(serviceWorkerProcessProxy.get(), m_websiteDataStore->websiteDataStore()); 615 606 m_processes.append(WTFMove(serviceWorkerProcessProxy)); 616 607 -
trunk/Source/WebKit/UIProcess/WebProcessPool.h
r225864 r225877 324 324 void storageProcessCrashed(StorageProcessProxy*); 325 325 #if ENABLE(SERVICE_WORKER) 326 void establishWorkerContextConnectionToStorageProcess(StorageProcessProxy& , std::optional<PAL::SessionID>);326 void establishWorkerContextConnectionToStorageProcess(StorageProcessProxy&); 327 327 bool isServiceWorker(uint64_t pageID) const { return m_serviceWorkerProcess && m_serviceWorkerProcess->pageID() == pageID; } 328 328 ServiceWorkerProcessProxy* serviceWorkerProxy() const { return m_serviceWorkerProcess; } -
trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
r225864 r225877 56 56 namespace WebKit { 57 57 58 static HashMap<PAL::SessionID, WebsiteDataStore*>& allDataStores()59 {60 RELEASE_ASSERT(isMainThread());61 static NeverDestroyed<HashMap<PAL::SessionID, WebsiteDataStore*>> map;62 return map;63 }64 65 58 Ref<WebsiteDataStore> WebsiteDataStore::createNonPersistent() 66 59 { … … 79 72 , m_queue(WorkQueue::create("com.apple.WebKit.WebsiteDataStore")) 80 73 { 81 auto result = allDataStores().add(sessionID, this);82 ASSERT_UNUSED(result, result.isNewEntry);83 84 74 platformInitialize(); 85 75 } … … 90 80 , m_queue(WorkQueue::create("com.apple.WebKit.WebsiteDataStore")) 91 81 { 92 auto result = allDataStores().add(sessionID, this);93 ASSERT_UNUSED(result, result.isNewEntry);94 95 82 platformInitialize(); 96 83 } … … 98 85 WebsiteDataStore::~WebsiteDataStore() 99 86 { 100 ASSERT(allDataStores().get(m_sessionID) == this);101 allDataStores().remove(m_sessionID);102 103 87 platformDestroy(); 104 88 … … 107 91 processPool->sendToNetworkingProcess(Messages::NetworkProcess::DestroySession(m_sessionID)); 108 92 } 109 }110 111 WebsiteDataStore* WebsiteDataStore::existingDataStoreForSessionID(PAL::SessionID sessionID)112 {113 return allDataStores().get(sessionID);114 93 } 115 94 -
trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h
r225864 r225877 92 92 virtual ~WebsiteDataStore(); 93 93 94 static WebsiteDataStore* existingDataStoreForSessionID(PAL::SessionID);95 96 94 bool isPersistent() const { return !m_sessionID.isEphemeral(); } 97 95 PAL::SessionID sessionID() const { return m_sessionID; } -
trunk/Tools/ChangeLog
r225870 r225877 1 2017-12-13 Matt Lewis <jlewis3@apple.com> 2 3 Unreviewed, rolling out r225864. 4 5 This caused the Layout test step to crash out on Debug testers 6 7 Reverted changeset: 8 9 "REGRESSION (r225789): API tests 10 WKProcessPool.InitialWarmedProcessUsed and 11 WebKit.WebsiteDataStoreCustomPaths are failing." 12 https://bugs.webkit.org/show_bug.cgi?id=180722 13 https://trac.webkit.org/changeset/225864 14 1 15 2017-12-13 Youenn Fablet <youenn@apple.com> 2 16 -
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm
r225864 r225877 49 49 [webView _test_waitForDidFinishNavigation]; 50 50 51 EXPECT_EQ([pool _webP ageContentProcessCount], static_cast<size_t>(1));51 EXPECT_EQ([pool _webProcessCount], static_cast<size_t>(1)); 52 52 } 53 53
Note: See TracChangeset
for help on using the changeset viewer.