Changeset 223141 in webkit


Ignore:
Timestamp:
Oct 10, 2017 2:03:04 PM (7 years ago)
Author:
beidson@apple.com
Message:

Random StorageProcess and SWServer cleanup.
https://bugs.webkit.org/show_bug.cgi?id=178141

Reviewed by Andy Estes.

-StorageProcess should own the set of SWServers
-Some renaming and cleanup

  • StorageProcess/StorageProcess.cpp:

(WebKit::StorageProcess::createStorageToWebProcessConnection):
(WebKit::StorageProcess::swServerForSession):

  • StorageProcess/StorageProcess.h:

(WebKit::StorageProcess::queue):

  • StorageProcess/StorageToWebProcessConnection.cpp:

(WebKit::StorageToWebProcessConnection::establishSWServerConnection):

  • StorageProcess/StorageToWebProcessConnection.h:
Location:
trunk/Source/WebKit
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r223138 r223141  
     12017-10-10  Brady Eidson  <beidson@apple.com>
     2
     3        Random StorageProcess and SWServer cleanup.
     4        https://bugs.webkit.org/show_bug.cgi?id=178141
     5
     6        Reviewed by Andy Estes.
     7
     8        -StorageProcess should own the set of SWServers
     9        -Some renaming and cleanup
     10
     11        * StorageProcess/StorageProcess.cpp:
     12        (WebKit::StorageProcess::createStorageToWebProcessConnection):
     13        (WebKit::StorageProcess::swServerForSession):
     14        * StorageProcess/StorageProcess.h:
     15        (WebKit::StorageProcess::queue):
     16
     17        * StorageProcess/StorageToWebProcessConnection.cpp:
     18        (WebKit::StorageToWebProcessConnection::establishSWServerConnection):
     19        * StorageProcess/StorageToWebProcessConnection.h:
     20
    1212017-10-10  Michael Catanzaro  <mcatanzaro@igalia.com>
    222
  • trunk/Source/WebKit/StorageProcess/StorageProcess.cpp

    r220887 r223141  
    165165#if USE(UNIX_DOMAIN_SOCKETS)
    166166    IPC::Connection::SocketPair socketPair = IPC::Connection::createPlatformConnection();
    167     m_databaseToWebProcessConnections.append(StorageToWebProcessConnection::create(socketPair.server));
     167    m_storageToWebProcessConnections.append(StorageToWebProcessConnection::create(socketPair.server));
    168168    parentProcessConnection()->send(Messages::StorageProcessProxy::DidCreateStorageToWebProcessConnection(IPC::Attachment(socketPair.client)), 0);
    169169#elif OS(DARWIN)
     
    173173
    174174    // Create a listening connection.
    175     m_databaseToWebProcessConnections.append(StorageToWebProcessConnection::create(IPC::Connection::Identifier(listeningPort)));
     175    m_storageToWebProcessConnections.append(StorageToWebProcessConnection::create(IPC::Connection::Identifier(listeningPort)));
    176176
    177177    IPC::Attachment clientPort(listeningPort, MACH_MSG_TYPE_MAKE_SEND);
     
    307307#endif
    308308
     309#if ENABLE(SERVICE_WORKER)
     310SWServer& StorageProcess::swServerForSession(PAL::SessionID sessionID)
     311{
     312    auto result = m_swServers.add(sessionID, nullptr);
     313    if (result.isNewEntry)
     314        result.iterator->value = std::make_unique<SWServer>();
     315
     316    ASSERT(result.iterator->value);
     317    return *result.iterator->value;
     318}
     319#endif
     320
    309321#if !PLATFORM(COCOA)
    310322void StorageProcess::initializeProcess(const ChildProcessInitializationParameters&)
  • trunk/Source/WebKit/StorageProcess/StorageProcess.h

    r220887 r223141  
    3636
    3737namespace WebCore {
     38class SWServer;
    3839struct SecurityOriginData;
    3940}
     
    5657    ~StorageProcess();
    5758
    58 #if ENABLE(INDEXED_DATABASE)
    59     WebCore::IDBServer::IDBServer& idbServer(PAL::SessionID);
    60 #endif
    61 
    6259    WorkQueue& queue() { return m_queue.get(); }
    63 
    6460    void postStorageTask(CrossThreadTask&&);
    6561
    6662#if ENABLE(INDEXED_DATABASE)
     63    WebCore::IDBServer::IDBServer& idbServer(PAL::SessionID);
     64
    6765    // WebCore::IDBServer::IDBBackingStoreFileHandler
    6866    void prepareForAccessToTemporaryFile(const String& path) final;
     
    7270#if ENABLE(SANDBOX_EXTENSIONS)
    7371    void getSandboxExtensionsForBlobFiles(const Vector<String>& filenames, WTF::Function<void (SandboxExtension::HandleArray&&)>&& completionHandler);
     72#endif
     73
     74#if ENABLE(SERVICE_WORKER)
     75    WebCore::SWServer& swServerForSession(PAL::SessionID);
    7476#endif
    7577
     
    109111    void ensurePathExists(const String&);
    110112
    111     Vector<RefPtr<StorageToWebProcessConnection>> m_databaseToWebProcessConnections;
     113    Vector<RefPtr<StorageToWebProcessConnection>> m_storageToWebProcessConnections;
    112114
    113115    Ref<WorkQueue> m_queue;
     
    122124    Deque<CrossThreadTask> m_storageTasks;
    123125    Lock m_storageTaskMutex;
     126   
     127#if ENABLE(SERVICE_WORKER)
     128    HashMap<PAL::SessionID, std::unique_ptr<WebCore::SWServer>> m_swServers;
     129#endif
    124130};
    125131
  • trunk/Source/WebKit/StorageProcess/StorageToWebProcessConnection.cpp

    r222684 r223141  
    2828
    2929#include "Logging.h"
     30#include "StorageProcess.h"
    3031#include "StorageToWebProcessConnectionMessages.h"
    3132#include "WebIDBConnectionToClient.h"
     
    137138    ASSERT(!m_swConnections.contains(serverConnectionIdentifier));
    138139
    139     auto result = m_swServers.add(sessionID, nullptr);
    140     if (result.isNewEntry)
    141         result.iterator->value = std::make_unique<SWServer>();
    142 
    143     ASSERT(result.iterator->value);
    144 
    145     m_swConnections.set(serverConnectionIdentifier, std::make_unique<WebSWServerConnection>(*result.iterator->value, m_connection.get(), serverConnectionIdentifier, sessionID));
     140    auto& server = StorageProcess::singleton().swServerForSession(sessionID);
     141    m_swConnections.set(serverConnectionIdentifier, std::make_unique<WebSWServerConnection>(server, m_connection.get(), serverConnectionIdentifier, sessionID));
    146142}
    147143
  • trunk/Source/WebKit/StorageProcess/StorageToWebProcessConnection.h

    r222684 r223141  
    7171    void establishSWServerConnection(PAL::SessionID, uint64_t& serverConnectionIdentifier);
    7272    void removeSWServerConnection(uint64_t serverConnectionIdentifier);
    73     HashMap<PAL::SessionID, std::unique_ptr<WebCore::SWServer>> m_swServers;
    7473    HashMap<uint64_t, std::unique_ptr<WebSWServerConnection>> m_swConnections;
    7574#endif
Note: See TracChangeset for help on using the changeset viewer.