Changeset 225877 in webkit


Ignore:
Timestamp:
Dec 13, 2017 3:58:37 PM (6 years ago)
Author:
Matt Lewis
Message:

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

Location:
trunk
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r225864 r225877  
     12017-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
    1152017-12-13  Brady Eidson  <beidson@apple.com>
    216
  • trunk/Source/WebKit/StorageProcess/StorageProcess.cpp

    r225864 r225877  
    112112
    113113    if (shouldRelaunch)
    114         createServerToContextConnection(std::nullopt);
     114        createServerToContextConnection();
    115115}
    116116
     
    428428}
    429429
    430 void StorageProcess::createServerToContextConnection(std::optional<PAL::SessionID> sessionID)
     430void StorageProcess::createServerToContextConnection()
    431431{
    432432    if (m_waitingForServerToContextProcessConnection)
     
    434434   
    435435    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);
    440437}
    441438
  • trunk/Source/WebKit/StorageProcess/StorageProcess.h

    r225864 r225877  
    9090    // This will change in the future.
    9191    WebSWServerToContextConnection* globalServerToContextConnection();
    92     void createServerToContextConnection(std::optional<PAL::SessionID>);
     92    void createServerToContextConnection();
    9393
    9494    WebCore::SWServer& swServerForSession(PAL::SessionID);
  • trunk/Source/WebKit/StorageProcess/StorageToWebProcessConnection.cpp

    r225864 r225877  
    172172
    173173    if (!StorageProcess::singleton().globalServerToContextConnection())
    174         StorageProcess::singleton().createServerToContextConnection(sessionID);
     174        StorageProcess::singleton().createServerToContextConnection();
    175175}
    176176
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm

    r225864 r225877  
    438438}
    439439
    440 - (size_t)_webPageContentProcessCount
    441 {
    442     auto allWebProcesses = _processPool->processes();
    443     auto* serviceWorkerProcess = _processPool->serviceWorkerProxy();
    444     if (!serviceWorkerProcess)
    445         return allWebProcesses.size();
    446 
    447 #if !ASSERT_DISABLED
    448     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 #endif
    459 
    460     return allWebProcesses.size() - 1;
    461 }
    462 
    463440- (void)_preconnectToServer:(NSURL *)serverURL
    464441{
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h

    r225864 r225877  
    8686- (void)_syncNetworkProcessCookies WK_API_AVAILABLE(macosx(10.13), ios(11.0));
    8787
    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 
    9188// Test only. Should be called before any web content processes are launched.
    9289+ (void)_forceGameControllerFramework WK_API_AVAILABLE(macosx(10.13), ios(11.0));
  • trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.cpp

    r225864 r225877  
    224224void StorageProcessProxy::establishWorkerContextConnectionToStorageProcess()
    225225{
    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);
    232227}
    233228#endif
  • trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.h

    r225864 r225877  
    8282#if ENABLE(SERVICE_WORKER)
    8383    void establishWorkerContextConnectionToStorageProcess();
    84     void establishWorkerContextConnectionToStorageProcessForExplicitSession(PAL::SessionID);
    8584#endif
    8685
  • trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.messages.in

    r225864 r225877  
    3434#if ENABLE(SERVICE_WORKER)
    3535    EstablishWorkerContextConnectionToStorageProcess()
    36     EstablishWorkerContextConnectionToStorageProcessForExplicitSession(PAL::SessionID explicitSession)
    3736#endif
    3837}
  • trunk/Source/WebKit/UIProcess/WebProcessPool.cpp

    r225864 r225877  
    590590
    591591#if ENABLE(SERVICE_WORKER)
    592 void WebProcessPool::establishWorkerContextConnectionToStorageProcess(StorageProcessProxy& proxy, std::optional<PAL::SessionID> sessionID)
     592void WebProcessPool::establishWorkerContextConnectionToStorageProcess(StorageProcessProxy& proxy)
    593593{
    594594    ASSERT_UNUSED(proxy, &proxy == m_storageProcess);
     
    597597        return;
    598598
    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());
    610603    m_serviceWorkerProcess = serviceWorkerProcessProxy.ptr();
    611 
    612604    updateProcessAssertions();
    613     initializeNewWebProcess(serviceWorkerProcessProxy.get(), *websiteDataStore);
    614 
     605    initializeNewWebProcess(serviceWorkerProcessProxy.get(), m_websiteDataStore->websiteDataStore());
    615606    m_processes.append(WTFMove(serviceWorkerProcessProxy));
    616607
  • trunk/Source/WebKit/UIProcess/WebProcessPool.h

    r225864 r225877  
    324324    void storageProcessCrashed(StorageProcessProxy*);
    325325#if ENABLE(SERVICE_WORKER)
    326     void establishWorkerContextConnectionToStorageProcess(StorageProcessProxy&, std::optional<PAL::SessionID>);
     326    void establishWorkerContextConnectionToStorageProcess(StorageProcessProxy&);
    327327    bool isServiceWorker(uint64_t pageID) const { return m_serviceWorkerProcess && m_serviceWorkerProcess->pageID() == pageID; }
    328328    ServiceWorkerProcessProxy* serviceWorkerProxy() const { return m_serviceWorkerProcess; }
  • trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp

    r225864 r225877  
    5656namespace WebKit {
    5757
    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 
    6558Ref<WebsiteDataStore> WebsiteDataStore::createNonPersistent()
    6659{
     
    7972    , m_queue(WorkQueue::create("com.apple.WebKit.WebsiteDataStore"))
    8073{
    81     auto result = allDataStores().add(sessionID, this);
    82     ASSERT_UNUSED(result, result.isNewEntry);
    83 
    8474    platformInitialize();
    8575}
     
    9080    , m_queue(WorkQueue::create("com.apple.WebKit.WebsiteDataStore"))
    9181{
    92     auto result = allDataStores().add(sessionID, this);
    93     ASSERT_UNUSED(result, result.isNewEntry);
    94 
    9582    platformInitialize();
    9683}
     
    9885WebsiteDataStore::~WebsiteDataStore()
    9986{
    100     ASSERT(allDataStores().get(m_sessionID) == this);
    101     allDataStores().remove(m_sessionID);
    102 
    10387    platformDestroy();
    10488
     
    10791            processPool->sendToNetworkingProcess(Messages::NetworkProcess::DestroySession(m_sessionID));
    10892    }
    109 }
    110 
    111 WebsiteDataStore* WebsiteDataStore::existingDataStoreForSessionID(PAL::SessionID sessionID)
    112 {
    113     return allDataStores().get(sessionID);
    11493}
    11594
  • trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h

    r225864 r225877  
    9292    virtual ~WebsiteDataStore();
    9393
    94     static WebsiteDataStore* existingDataStoreForSessionID(PAL::SessionID);
    95 
    9694    bool isPersistent() const { return !m_sessionID.isEphemeral(); }
    9795    PAL::SessionID sessionID() const { return m_sessionID; }
  • trunk/Tools/ChangeLog

    r225870 r225877  
     12017-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
    1152017-12-13  Youenn Fablet  <youenn@apple.com>
    216
  • trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm

    r225864 r225877  
    4949    [webView _test_waitForDidFinishNavigation];
    5050
    51     EXPECT_EQ([pool _webPageContentProcessCount], static_cast<size_t>(1));
     51    EXPECT_EQ([pool _webProcessCount], static_cast<size_t>(1));
    5252}
    5353
Note: See TracChangeset for help on using the changeset viewer.