⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 243258 in webkit


Ignore:
Timestamp:
Mar 20, 2019, 4:37:54 PM (7 years ago)
Author:
achristensen@apple.com
Message:

Reduce use of LegacySync IPC message type
https://bugs.webkit.org/show_bug.cgi?id=194835

Reviewed by Darin Adler.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
(WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
(WebKit::NetworkConnectionToWebProcess::getRawCookies):
(WebKit::NetworkConnectionToWebProcess::blobSize):
(WebKit::NetworkConnectionToWebProcess::establishIDBConnectionToServer):
(WebKit::NetworkConnectionToWebProcess::establishSWServerConnection):

  • NetworkProcess/NetworkConnectionToWebProcess.h:

(WebKit::NetworkConnectionToWebProcess::getNetworkLoadInformationRequest):
(WebKit::NetworkConnectionToWebProcess::getNetworkLoadInformationResponse):
(WebKit::NetworkConnectionToWebProcess::getNetworkLoadIntermediateInformation):
(WebKit::NetworkConnectionToWebProcess::takeNetworkLoadInformationMetrics):

  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:

(WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints):
(WebKit::UserMediaCaptureManagerProxy::capabilities):

  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:
  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/Plugins/PluginProcessProxy.messages.in:
  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::launchProcess):
(WebKit::PluginProcessProxy::launchApplicationAtURL):
(WebKit::PluginProcessProxy::openURL):
(WebKit::PluginProcessProxy::openFile):

  • UIProcess/WebFullScreenManagerProxy.cpp:

(WebKit::WebFullScreenManagerProxy::supportsFullScreen):

  • UIProcess/WebFullScreenManagerProxy.h:
  • UIProcess/WebFullScreenManagerProxy.messages.in:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::fetchWebsiteData):
(WebKit::WebProcess::deleteWebsiteData):
(WebKit::WebProcess::deleteWebsiteDataForOrigins):
(WebKit::WebProcess::processWillSuspendImminently):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
Location:
trunk/Source/WebKit
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r243253 r243258  
     12019-03-20  Alex Christensen  <achristensen@webkit.org>
     2
     3        Reduce use of LegacySync IPC message type
     4        https://bugs.webkit.org/show_bug.cgi?id=194835
     5
     6        Reviewed by Darin Adler.
     7
     8        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
     9        (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
     10        (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
     11        (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
     12        (WebKit::NetworkConnectionToWebProcess::getRawCookies):
     13        (WebKit::NetworkConnectionToWebProcess::blobSize):
     14        (WebKit::NetworkConnectionToWebProcess::establishIDBConnectionToServer):
     15        (WebKit::NetworkConnectionToWebProcess::establishSWServerConnection):
     16        * NetworkProcess/NetworkConnectionToWebProcess.h:
     17        (WebKit::NetworkConnectionToWebProcess::getNetworkLoadInformationRequest):
     18        (WebKit::NetworkConnectionToWebProcess::getNetworkLoadInformationResponse):
     19        (WebKit::NetworkConnectionToWebProcess::getNetworkLoadIntermediateInformation):
     20        (WebKit::NetworkConnectionToWebProcess::takeNetworkLoadInformationMetrics):
     21        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
     22        * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
     23        (WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints):
     24        (WebKit::UserMediaCaptureManagerProxy::capabilities):
     25        * UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
     26        * UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:
     27        * UIProcess/Plugins/PluginProcessProxy.h:
     28        * UIProcess/Plugins/PluginProcessProxy.messages.in:
     29        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
     30        (WebKit::PluginProcessProxy::launchProcess):
     31        (WebKit::PluginProcessProxy::launchApplicationAtURL):
     32        (WebKit::PluginProcessProxy::openURL):
     33        (WebKit::PluginProcessProxy::openFile):
     34        * UIProcess/WebFullScreenManagerProxy.cpp:
     35        (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
     36        * UIProcess/WebFullScreenManagerProxy.h:
     37        * UIProcess/WebFullScreenManagerProxy.messages.in:
     38        * WebProcess/WebProcess.cpp:
     39        (WebKit::WebProcess::fetchWebsiteData):
     40        (WebKit::WebProcess::deleteWebsiteData):
     41        (WebKit::WebProcess::deleteWebsiteDataForOrigins):
     42        (WebKit::WebProcess::processWillSuspendImminently):
     43        * WebProcess/WebProcess.h:
     44        * WebProcess/WebProcess.messages.in:
     45
    1462019-03-20  Keith Rollin  <krollin@apple.com>
    247
  • trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp

    r242891 r243258  
    480480}
    481481
    482 void NetworkConnectionToWebProcess::cookiesForDOM(PAL::SessionID sessionID, const URL& firstParty, const SameSiteInfo& sameSiteInfo, const URL& url, Optional<uint64_t> frameID, Optional<uint64_t> pageID, IncludeSecureCookies includeSecureCookies, String& cookieString, bool& secureCookiesAccessed)
     482void NetworkConnectionToWebProcess::cookiesForDOM(PAL::SessionID sessionID, const URL& firstParty, const SameSiteInfo& sameSiteInfo, const URL& url, Optional<uint64_t> frameID, Optional<uint64_t> pageID, IncludeSecureCookies includeSecureCookies, CompletionHandler<void(String cookieString, bool secureCookiesAccessed)>&& completionHandler)
    483483{
    484484    auto& networkStorageSession = storageSession(networkProcess(), sessionID);
    485     std::tie(cookieString, secureCookiesAccessed) = networkStorageSession.cookiesForDOM(firstParty, sameSiteInfo, url, frameID, pageID, includeSecureCookies);
     485    auto result = networkStorageSession.cookiesForDOM(firstParty, sameSiteInfo, url, frameID, pageID, includeSecureCookies);
    486486#if ENABLE(RESOURCE_LOAD_STATISTICS) && !RELEASE_LOG_DISABLED
    487487    if (auto session = networkProcess().networkSession(sessionID)) {
     
    490490    }
    491491#endif
     492    completionHandler(WTFMove(result.first), result.second);
    492493}
    493494
     
    504505}
    505506
    506 void NetworkConnectionToWebProcess::cookiesEnabled(PAL::SessionID sessionID, bool& result)
    507 {
    508     result = storageSession(networkProcess(), sessionID).cookiesEnabled();
    509 }
    510 
    511 void NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue(PAL::SessionID sessionID, const URL& firstParty, const SameSiteInfo& sameSiteInfo, const URL& url, Optional<uint64_t> frameID, Optional<uint64_t> pageID, IncludeSecureCookies includeSecureCookies, String& cookieString, bool& secureCookiesAccessed)
    512 {
    513     std::tie(cookieString, secureCookiesAccessed) = storageSession(networkProcess(), sessionID).cookieRequestHeaderFieldValue(firstParty, sameSiteInfo, url, frameID, pageID, includeSecureCookies);
    514 }
    515 
    516 void NetworkConnectionToWebProcess::getRawCookies(PAL::SessionID sessionID, const URL& firstParty, const SameSiteInfo& sameSiteInfo, const URL& url, Optional<uint64_t> frameID, Optional<uint64_t> pageID, Vector<Cookie>& result)
    517 {
     507void NetworkConnectionToWebProcess::cookiesEnabled(PAL::SessionID sessionID, CompletionHandler<void(bool)>&& completionHandler)
     508{
     509    completionHandler(storageSession(networkProcess(), sessionID).cookiesEnabled());
     510}
     511
     512void NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue(PAL::SessionID sessionID, const URL& firstParty, const SameSiteInfo& sameSiteInfo, const URL& url, Optional<uint64_t> frameID, Optional<uint64_t> pageID, IncludeSecureCookies includeSecureCookies, CompletionHandler<void(String, bool)>&& completionHandler)
     513{
     514    auto result = storageSession(networkProcess(), sessionID).cookieRequestHeaderFieldValue(firstParty, sameSiteInfo, url, frameID, pageID, includeSecureCookies);
     515    completionHandler(WTFMove(result.first), result.second);
     516}
     517
     518void NetworkConnectionToWebProcess::getRawCookies(PAL::SessionID sessionID, const URL& firstParty, const SameSiteInfo& sameSiteInfo, const URL& url, Optional<uint64_t> frameID, Optional<uint64_t> pageID, CompletionHandler<void(Vector<WebCore::Cookie>&&)>&& completionHandler)
     519{
     520    Vector<WebCore::Cookie> result;
    518521    storageSession(networkProcess(), sessionID).getRawCookies(firstParty, sameSiteInfo, url, frameID, pageID, result);
     522    completionHandler(WTFMove(result));
    519523}
    520524
     
    554558}
    555559
    556 void NetworkConnectionToWebProcess::blobSize(const URL& url, uint64_t& resultSize)
    557 {
    558     resultSize = m_networkProcess->networkBlobRegistry().blobSize(*this, url);
     560void NetworkConnectionToWebProcess::blobSize(const URL& url, CompletionHandler<void(uint64_t)>&& completionHandler)
     561{
     562    completionHandler(m_networkProcess->networkBlobRegistry().blobSize(*this, url));
    559563}
    560564
     
    790794}
    791795
    792 void NetworkConnectionToWebProcess::establishIDBConnectionToServer(PAL::SessionID sessionID, uint64_t& serverConnectionIdentifier)
    793 {
    794     serverConnectionIdentifier = generateIDBConnectionToServerIdentifier();
     796void NetworkConnectionToWebProcess::establishIDBConnectionToServer(PAL::SessionID sessionID, CompletionHandler<void(uint64_t)>&& completionHandler)
     797{
     798    uint64_t serverConnectionIdentifier = generateIDBConnectionToServerIdentifier();
    795799    LOG(IndexedDB, "NetworkConnectionToWebProcess::establishIDBConnectionToServer - %" PRIu64, serverConnectionIdentifier);
    796800    ASSERT(!m_webIDBConnections.contains(serverConnectionIdentifier));
    797801   
    798802    m_webIDBConnections.set(serverConnectionIdentifier, WebIDBConnectionToClient::create(m_networkProcess, m_connection.get(), serverConnectionIdentifier, sessionID));
     803    completionHandler(serverConnectionIdentifier);
    799804}
    800805#endif
     
    810815}
    811816
    812 void NetworkConnectionToWebProcess::establishSWServerConnection(PAL::SessionID sessionID, SWServerConnectionIdentifier& serverConnectionIdentifier)
     817void NetworkConnectionToWebProcess::establishSWServerConnection(PAL::SessionID sessionID, CompletionHandler<void(WebCore::SWServerConnectionIdentifier&&)>&& completionHandler)
    813818{
    814819    auto& server = m_networkProcess->swServerForSession(sessionID);
    815820    auto connection = std::make_unique<WebSWServerConnection>(m_networkProcess, server, m_connection.get(), sessionID);
    816821   
    817     serverConnectionIdentifier = connection->identifier();
     822    SWServerConnectionIdentifier serverConnectionIdentifier = connection->identifier();
    818823    LOG(ServiceWorker, "NetworkConnectionToWebProcess::establishSWServerConnection - %s", serverConnectionIdentifier.loggingString().utf8().data());
    819824
     
    821826    m_swConnections.add(serverConnectionIdentifier, makeWeakPtr(*connection));
    822827    server.addConnection(WTFMove(connection));
     828    completionHandler(WTFMove(serverConnectionIdentifier));
    823829}
    824830#endif
  • trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h

    r242891 r243258  
    9292    void endSuspension();
    9393
    94     void getNetworkLoadInformationRequest(ResourceLoadIdentifier identifier, WebCore::ResourceRequest& request)
    95     {
    96         request = m_networkLoadInformationByID.get(identifier).request;
    97     }
    98 
    99     void getNetworkLoadInformationResponse(ResourceLoadIdentifier identifier, WebCore::ResourceResponse& response)
    100     {
    101         response = m_networkLoadInformationByID.get(identifier).response;
    102     }
    103 
    104     void getNetworkLoadIntermediateInformation(ResourceLoadIdentifier identifier, Vector<WebCore::NetworkTransactionInformation>& information)
    105     {
    106         information = m_networkLoadInformationByID.get(identifier).transactions;
    107     }
    108 
    109     void takeNetworkLoadInformationMetrics(ResourceLoadIdentifier identifier, WebCore::NetworkLoadMetrics& metrics)
    110     {
    111         metrics = m_networkLoadInformationByID.take(identifier).metrics;
     94    void getNetworkLoadInformationRequest(ResourceLoadIdentifier identifier, CompletionHandler<void(const WebCore::ResourceRequest&)>&& completionHandler)
     95    {
     96        completionHandler(m_networkLoadInformationByID.get(identifier).request);
     97    }
     98
     99    void getNetworkLoadInformationResponse(ResourceLoadIdentifier identifier, CompletionHandler<void(const WebCore::ResourceResponse&)>&& completionHandler)
     100    {
     101        completionHandler(m_networkLoadInformationByID.get(identifier).response);
     102    }
     103
     104    void getNetworkLoadIntermediateInformation(ResourceLoadIdentifier identifier, CompletionHandler<void(const Vector<WebCore::NetworkTransactionInformation>&)>&& completionHandler)
     105    {
     106        completionHandler(m_networkLoadInformationByID.get(identifier).transactions);
     107    }
     108
     109    void takeNetworkLoadInformationMetrics(ResourceLoadIdentifier identifier, CompletionHandler<void(const WebCore::NetworkLoadMetrics&)>&& completionHandler)
     110    {
     111        completionHandler(m_networkLoadInformationByID.take(identifier).metrics);
    112112    }
    113113
     
    169169    void convertMainResourceLoadToDownload(PAL::SessionID, uint64_t mainResourceLoadIdentifier, DownloadID, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&);
    170170
    171     void cookiesForDOM(PAL::SessionID, const URL& firstParty, const WebCore::SameSiteInfo&, const URL&, Optional<uint64_t> frameID, Optional<uint64_t> pageID, WebCore::IncludeSecureCookies, String& cookieString, bool& secureCookiesAccessed);
     171    void cookiesForDOM(PAL::SessionID, const URL& firstParty, const WebCore::SameSiteInfo&, const URL&, Optional<uint64_t> frameID, Optional<uint64_t> pageID, WebCore::IncludeSecureCookies, CompletionHandler<void(String cookieString, bool secureCookiesAccessed)>&&);
    172172    void setCookiesFromDOM(PAL::SessionID, const URL& firstParty, const WebCore::SameSiteInfo&, const URL&, Optional<uint64_t> frameID, Optional<uint64_t> pageID, const String&);
    173     void cookiesEnabled(PAL::SessionID, bool& result);
    174     void cookieRequestHeaderFieldValue(PAL::SessionID, const URL& firstParty, const WebCore::SameSiteInfo&, const URL&, Optional<uint64_t> frameID, Optional<uint64_t> pageID, WebCore::IncludeSecureCookies, String& cookieString, bool& secureCookiesAccessed);
    175     void getRawCookies(PAL::SessionID, const URL& firstParty, const WebCore::SameSiteInfo&, const URL&, Optional<uint64_t> frameID, Optional<uint64_t> pageID, Vector<WebCore::Cookie>&);
     173    void cookiesEnabled(PAL::SessionID, CompletionHandler<void(bool)>&&);
     174    void cookieRequestHeaderFieldValue(PAL::SessionID, const URL& firstParty, const WebCore::SameSiteInfo&, const URL&, Optional<uint64_t> frameID, Optional<uint64_t> pageID, WebCore::IncludeSecureCookies, CompletionHandler<void(String cookieString, bool secureCookiesAccessed)>&&);
     175    void getRawCookies(PAL::SessionID, const URL& firstParty, const WebCore::SameSiteInfo&, const URL&, Optional<uint64_t> frameID, Optional<uint64_t> pageID, CompletionHandler<void(Vector<WebCore::Cookie>&&)>&&);
    176176    void deleteCookie(PAL::SessionID, const URL&, const String& cookieName);
    177177
     
    181181    void registerBlobURLOptionallyFileBacked(const URL&, const URL& srcURL, const String& fileBackedPath, const String& contentType);
    182182    void registerBlobURLForSlice(const URL&, const URL& srcURL, int64_t start, int64_t end);
    183     void blobSize(const URL&, uint64_t& resultSize);
     183    void blobSize(const URL&, CompletionHandler<void(uint64_t)>&&);
    184184    void unregisterBlobURL(const URL&);
    185185    void writeBlobsToTemporaryFiles(const Vector<String>& blobURLs, CompletionHandler<void(Vector<String>&&)>&&);
     
    194194#if ENABLE(INDEXED_DATABASE)
    195195    // Messages handlers (Modern IDB).
    196     void establishIDBConnectionToServer(PAL::SessionID, uint64_t& serverConnectionIdentifier);
     196    void establishIDBConnectionToServer(PAL::SessionID, CompletionHandler<void(uint64_t  serverConnectionIdentifier)>&&);
    197197#endif
    198198
    199199#if ENABLE(SERVICE_WORKER)
    200     void establishSWServerConnection(PAL::SessionID, WebCore::SWServerConnectionIdentifier&);
     200    void establishSWServerConnection(PAL::SessionID, CompletionHandler<void(WebCore::SWServerConnectionIdentifier&&)>&&);
    201201    void unregisterSWConnections();
    202202#endif
  • trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in

    r242891 r243258  
    3434    ConvertMainResourceLoadToDownload(PAL::SessionID sessionID, uint64_t mainResourceLoadIdentifier, WebKit::DownloadID downloadID, WebCore::ResourceRequest request, WebCore::ResourceResponse response)
    3535
    36     CookiesForDOM(PAL::SessionID sessionID, URL firstParty, struct WebCore::SameSiteInfo sameSiteInfo, URL url, Optional<uint64_t> frameID, Optional<uint64_t> pageID, enum:bool WebCore::IncludeSecureCookies includeSecureCookies) -> (String cookieString, bool didAccessSecureCookies) LegacySync
     36    CookiesForDOM(PAL::SessionID sessionID, URL firstParty, struct WebCore::SameSiteInfo sameSiteInfo, URL url, Optional<uint64_t> frameID, Optional<uint64_t> pageID, enum:bool WebCore::IncludeSecureCookies includeSecureCookies) -> (String cookieString, bool didAccessSecureCookies) Delayed
    3737    SetCookiesFromDOM(PAL::SessionID sessionID, URL firstParty, struct WebCore::SameSiteInfo sameSiteInfo, URL url, Optional<uint64_t> frameID, Optional<uint64_t> pageID, String cookieString)
    38     CookiesEnabled(PAL::SessionID sessionID) -> (bool enabled) LegacySync
    39     CookieRequestHeaderFieldValue(PAL::SessionID sessionID, URL firstParty, struct WebCore::SameSiteInfo sameSiteInfo, URL url, Optional<uint64_t> frameID, Optional<uint64_t> pageID, enum:bool WebCore::IncludeSecureCookies includeSecureCookies) -> (String cookieString, bool didAccessSecureCookies) LegacySync
    40     GetRawCookies(PAL::SessionID sessionID, URL firstParty, struct WebCore::SameSiteInfo sameSiteInfo, URL url, Optional<uint64_t> frameID, Optional<uint64_t> pageID) -> (Vector<WebCore::Cookie> cookies) LegacySync
     38    CookiesEnabled(PAL::SessionID sessionID) -> (bool enabled) Delayed
     39    CookieRequestHeaderFieldValue(PAL::SessionID sessionID, URL firstParty, struct WebCore::SameSiteInfo sameSiteInfo, URL url, Optional<uint64_t> frameID, Optional<uint64_t> pageID, enum:bool WebCore::IncludeSecureCookies includeSecureCookies) -> (String cookieString, bool didAccessSecureCookies) Delayed
     40    GetRawCookies(PAL::SessionID sessionID, URL firstParty, struct WebCore::SameSiteInfo sameSiteInfo, URL url, Optional<uint64_t> frameID, Optional<uint64_t> pageID) -> (Vector<WebCore::Cookie> cookies) Delayed
    4141    DeleteCookie(PAL::SessionID sessionID, URL url, String cookieName)
    4242
     
    4747    RegisterBlobURLForSlice(URL url, URL srcURL, int64_t start, int64_t end)
    4848    UnregisterBlobURL(URL url)
    49     BlobSize(URL url) -> (uint64_t resultSize) LegacySync
     49    BlobSize(URL url) -> (uint64_t resultSize) Delayed
    5050    WriteBlobsToTemporaryFiles(Vector<String> blobURLs) -> (Vector<String> fileNames) Async
    5151
     
    7272    ResetOriginAccessWhitelists();
    7373
    74     GetNetworkLoadInformationRequest(uint64_t resourceLoadIdentifier) -> (WebCore::ResourceRequest request) LegacySync
    75     GetNetworkLoadInformationResponse(uint64_t resourceLoadIdentifier) -> (WebCore::ResourceResponse response) LegacySync
    76     GetNetworkLoadIntermediateInformation(uint64_t resourceLoadIdentifier) -> (Vector<WebCore::NetworkTransactionInformation> transactions) LegacySync
    77     TakeNetworkLoadInformationMetrics(uint64_t resourceLoadIdentifier) -> (WebCore::NetworkLoadMetrics networkMetrics) LegacySync
     74    GetNetworkLoadInformationRequest(uint64_t resourceLoadIdentifier) -> (WebCore::ResourceRequest request) Delayed
     75    GetNetworkLoadInformationResponse(uint64_t resourceLoadIdentifier) -> (WebCore::ResourceResponse response) Delayed
     76    GetNetworkLoadIntermediateInformation(uint64_t resourceLoadIdentifier) -> (Vector<WebCore::NetworkTransactionInformation> transactions) Delayed
     77    TakeNetworkLoadInformationMetrics(uint64_t resourceLoadIdentifier) -> (WebCore::NetworkLoadMetrics networkMetrics) Delayed
    7878
    7979#if ENABLE(INDEXED_DATABASE)
    80     EstablishIDBConnectionToServer(PAL::SessionID sessionID) -> (uint64_t serverConnectionIdentifier) LegacySync
     80    EstablishIDBConnectionToServer(PAL::SessionID sessionID) -> (uint64_t serverConnectionIdentifier) Delayed
    8181#endif
    8282
    8383#if ENABLE(SERVICE_WORKER)
    84     EstablishSWServerConnection(PAL::SessionID sessionID) -> (WebCore::SWServerConnectionIdentifier serverConnectionIdentifier) LegacySync
     84    EstablishSWServerConnection(PAL::SessionID sessionID) -> (WebCore::SWServerConnectionIdentifier serverConnectionIdentifier) Delayed
    8585#endif
    8686
  • trunk/Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp

    r242378 r243258  
    140140}
    141141
    142 void UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints(uint64_t id, const CaptureDevice& device, String&& hashSalt, const MediaConstraints& constraints, bool& succeeded, String& invalidConstraints, WebCore::RealtimeMediaSourceSettings& settings)
     142void UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints(uint64_t id, const CaptureDevice& device, String&& hashSalt, const MediaConstraints& constraints, CompletionHandler<void(bool succeeded, String invalidConstraints, WebCore::RealtimeMediaSourceSettings&&)>&& completionHandler)
    143143{
    144144    MESSAGE_CHECK_CONTEXTID(id);
     
    161161    }
    162162
    163     succeeded = !!sourceOrError;
     163    bool succeeded = !!sourceOrError;
     164    String invalidConstraints;
     165    WebCore::RealtimeMediaSourceSettings settings;
    164166    if (sourceOrError) {
    165167        auto source = sourceOrError.source();
     
    170172    } else
    171173        invalidConstraints = WTFMove(sourceOrError.errorMessage);
     174    completionHandler(succeeded, invalidConstraints, WTFMove(settings));
    172175}
    173176
     
    194197}
    195198
    196 void UserMediaCaptureManagerProxy::capabilities(uint64_t id, WebCore::RealtimeMediaSourceCapabilities& capabilities)
    197 {
    198     MESSAGE_CHECK_CONTEXTID(id);
     199void UserMediaCaptureManagerProxy::capabilities(uint64_t id, CompletionHandler<void(WebCore::RealtimeMediaSourceCapabilities&&)>&& completionHandler)
     200{
     201    MESSAGE_CHECK_CONTEXTID(id);
     202    WebCore::RealtimeMediaSourceCapabilities capabilities;
    199203    auto iter = m_proxies.find(id);
    200204    if (iter != m_proxies.end())
    201205        capabilities = iter->value->source().capabilities();
     206    completionHandler(WTFMove(capabilities));
    202207}
    203208
  • trunk/Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h

    r241132 r243258  
    5252    void didReceiveSyncMessage(IPC::Connection&, IPC::Decoder&, std::unique_ptr<IPC::Encoder>&) final;
    5353
    54     void createMediaSourceForCaptureDeviceWithConstraints(uint64_t id, const WebCore::CaptureDevice& deviceID, String&&, const WebCore::MediaConstraints&, bool& succeeded, String& invalidConstraints, WebCore::RealtimeMediaSourceSettings&);
     54    void createMediaSourceForCaptureDeviceWithConstraints(uint64_t id, const WebCore::CaptureDevice& deviceID, String&&, const WebCore::MediaConstraints&, CompletionHandler<void(bool succeeded, String invalidConstraints, WebCore::RealtimeMediaSourceSettings&&)>&&);
    5555    void startProducingData(uint64_t);
    5656    void stopProducingData(uint64_t);
    5757    void end(uint64_t);
    58     void capabilities(uint64_t, WebCore::RealtimeMediaSourceCapabilities&);
     58    void capabilities(uint64_t, CompletionHandler<void(WebCore::RealtimeMediaSourceCapabilities&&)>&&);
    5959    void setMuted(uint64_t, bool);
    6060    void applyConstraints(uint64_t, const WebCore::MediaConstraints&);
  • trunk/Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in

    r241132 r243258  
    2525
    2626messages -> UserMediaCaptureManagerProxy {
    27 CreateMediaSourceForCaptureDeviceWithConstraints(uint64_t id, WebCore::CaptureDevice device, String hashSalt, struct WebCore::MediaConstraints constraints) -> (bool success, String invalidConstraints, WebCore::RealtimeMediaSourceSettings settings) LegacySync
     27    CreateMediaSourceForCaptureDeviceWithConstraints(uint64_t id, WebCore::CaptureDevice device, String hashSalt, struct WebCore::MediaConstraints constraints) -> (bool success, String invalidConstraints, WebCore::RealtimeMediaSourceSettings settings) Delayed
    2828    StartProducingData(uint64_t id)
    2929    StopProducingData(uint64_t id)
    3030    End(uint64_t id)
    31     Capabilities(uint64_t id) -> (WebCore::RealtimeMediaSourceCapabilities capabilities) LegacySync
     31    Capabilities(uint64_t id) -> (WebCore::RealtimeMediaSourceCapabilities capabilities) Delayed
    3232    SetMuted(uint64_t id, bool muted)
    3333    ApplyConstraints(uint64_t id, struct WebCore::MediaConstraints constraints)
  • trunk/Source/WebKit/UIProcess/Plugins/PluginProcessProxy.h

    r240683 r243258  
    131131
    132132    void applicationDidBecomeActive();
    133     void launchProcess(const String& launchPath, const Vector<String>& arguments, bool& result);
    134     void launchApplicationAtURL(const String& urlString, const Vector<String>& arguments, bool& result);
    135     void openURL(const String& url, bool& result, int32_t& status, String& launchedURLString);
    136     void openFile(const String& fullPath, bool& result);
     133    void launchProcess(const String& launchPath, const Vector<String>& arguments, CompletionHandler<void(bool)>&&);
     134    void launchApplicationAtURL(const String& urlString, const Vector<String>& arguments, CompletionHandler<void(bool)>&&);
     135    void openURL(const String& url, CompletionHandler<void(bool result, int32_t status, String launchedURLString)>&&);
     136    void openFile(const String& fullPath, CompletionHandler<void(bool)>&&);
    137137#endif
    138138
  • trunk/Source/WebKit/UIProcess/Plugins/PluginProcessProxy.messages.in

    r237300 r243258  
    3535   
    3636    # Returns true if the UI process launched the process.
    37     LaunchProcess(String launchPath, Vector<String> arguments) -> (bool result) LegacySync
     37    LaunchProcess(String launchPath, Vector<String> arguments) -> (bool result) Delayed
    3838
    3939    # Returns true if the UI process launched the application.
    40     LaunchApplicationAtURL(String url, Vector<String> arguments) -> (bool result) LegacySync
     40    LaunchApplicationAtURL(String url, Vector<String> arguments) -> (bool result) Delayed
    4141
    4242    # Returns true if the UI process did open the URL.
    43     OpenURL(String urlString) -> (bool result, int32_t status, String launchedURLString) LegacySync
     43    OpenURL(String urlString) -> (bool result, int32_t status, String launchedURLString) Delayed
    4444   
    4545    # Returns true if the UI process did open the file.
    46     OpenFile(String fullPath) -> (bool result) LegacySync
     46    OpenFile(String fullPath) -> (bool result) Delayed
    4747#endif
    4848}
  • trunk/Source/WebKit/UIProcess/Plugins/mac/PluginProcessProxyMac.mm

    r240437 r243258  
    249249}
    250250
    251 void PluginProcessProxy::launchProcess(const String& launchPath, const Vector<String>& arguments, bool& result)
    252 {
    253     if (!shouldLaunchProcess(m_pluginProcessAttributes, launchPath, arguments)) {
    254         result = false;
    255         return;
    256     }
    257 
    258     result = true;
     251void PluginProcessProxy::launchProcess(const String& launchPath, const Vector<String>& arguments, CompletionHandler<void(bool)>&& completionHandler)
     252{
     253    if (!shouldLaunchProcess(m_pluginProcessAttributes, launchPath, arguments))
     254        return completionHandler(false);
    259255
    260256    RetainPtr<NSMutableArray> argumentsArray = adoptNS([[NSMutableArray alloc] initWithCapacity:arguments.size()]);
     
    263259
    264260    [NSTask launchedTaskWithLaunchPath:launchPath arguments:argumentsArray.get()];
     261    completionHandler(true);
    265262}
    266263
     
    290287}
    291288
    292 void PluginProcessProxy::launchApplicationAtURL(const String& urlString, const Vector<String>& arguments, bool& result)
    293 {
    294     if (!shouldLaunchApplicationAtURL(m_pluginProcessAttributes, urlString)) {
    295         result = false;
    296         return;
    297     }
    298 
    299     result = true;
     289void PluginProcessProxy::launchApplicationAtURL(const String& urlString, const Vector<String>& arguments, CompletionHandler<void(bool)>&& completionHandler)
     290{
     291    if (!shouldLaunchApplicationAtURL(m_pluginProcessAttributes, urlString))
     292        return completionHandler(false);
    300293
    301294    RetainPtr<NSMutableArray> argumentsArray = adoptNS([[NSMutableArray alloc] initWithCapacity:arguments.size()]);
     
    305298    NSDictionary *configuration = [NSDictionary dictionaryWithObject:argumentsArray.get() forKey:NSWorkspaceLaunchConfigurationArguments];
    306299    [[NSWorkspace sharedWorkspace] launchApplicationAtURL:[NSURL URLWithString:urlString] options:NSWorkspaceLaunchAsync configuration:configuration error:nullptr];
     300    completionHandler(true);
    307301}
    308302
     
    322316}
    323317
    324 void PluginProcessProxy::openURL(const String& urlString, bool& result, int32_t& status, String& launchedURLString)
    325 {
    326     if (!shouldOpenURL(m_pluginProcessAttributes, urlString)) {
    327         result = false;
    328         return;
    329     }
    330 
    331     result = true;
     318void PluginProcessProxy::openURL(const String& urlString, CompletionHandler<void(bool result, int32_t status, String launchedURLString)>&& completionHandler)
     319{
     320    if (!shouldOpenURL(m_pluginProcessAttributes, urlString))
     321        return completionHandler(false, 0, { });
     322
    332323    CFURLRef launchedURL;
    333     status = LSOpenCFURLRef(URL({ }, urlString).createCFURL().get(), &launchedURL);
    334 
     324    uint32_t status = LSOpenCFURLRef(URL({ }, urlString).createCFURL().get(), &launchedURL);
     325
     326    String launchedURLString;
    335327    if (launchedURL) {
    336328        launchedURLString = URL(launchedURL).string();
    337329        CFRelease(launchedURL);
    338330    }
     331    completionHandler(true, status, launchedURLString);
    339332}
    340333
     
    349342}
    350343
    351 void PluginProcessProxy::openFile(const String& fullPath, bool& result)
    352 {
    353     if (!shouldOpenFile(m_pluginProcessAttributes, fullPath)) {
    354         result = false;
    355         return;
    356     }
    357 
    358     result = true;
     344void PluginProcessProxy::openFile(const String& fullPath, CompletionHandler<void(bool)>&& completionHandler)
     345{
     346    if (!shouldOpenFile(m_pluginProcessAttributes, fullPath))
     347        return completionHandler(false);
     348
    359349    [[NSWorkspace sharedWorkspace] openFile:fullPath];
     350    completionHandler(true);
    360351}
    361352
  • trunk/Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp

    r237266 r243258  
    9898}
    9999
    100 void WebFullScreenManagerProxy::supportsFullScreen(bool withKeyboard, bool& supports)
     100void WebFullScreenManagerProxy::supportsFullScreen(bool withKeyboard, CompletionHandler<void(bool)>&& completionHandler)
    101101{
    102102#if PLATFORM(IOS_FAMILY)
    103     supports = !withKeyboard;
     103    completionHandler(!withKeyboard);
    104104#else
    105     supports = true;
     105    completionHandler(true);
    106106#endif
    107107}
  • trunk/Source/WebKit/UIProcess/WebFullScreenManagerProxy.h

    r234143 r243258  
    7878
    7979private:
    80     void supportsFullScreen(bool withKeyboard, bool&);
     80    void supportsFullScreen(bool withKeyboard, CompletionHandler<void(bool)>&&);
    8181    void enterFullScreen();
    8282    void exitFullScreen();
  • trunk/Source/WebKit/UIProcess/WebFullScreenManagerProxy.messages.in

    r237300 r243258  
    2323#if ENABLE(FULLSCREEN_API)
    2424messages -> WebFullScreenManagerProxy {
    25     SupportsFullScreen(bool withKeyboard) -> (bool supportsFullScreen) LegacySync
     25    SupportsFullScreen(bool withKeyboard) -> (bool supportsFullScreen) Delayed
    2626    EnterFullScreen()
    2727    ExitFullScreen()
  • trunk/Source/WebKit/WebProcess/WebProcess.cpp

    r243034 r243258  
    13491349}
    13501350
    1351 void WebProcess::fetchWebsiteData(PAL::SessionID sessionID, OptionSet<WebsiteDataType> websiteDataTypes, WebsiteData& websiteData)
    1352 {
     1351void WebProcess::fetchWebsiteData(PAL::SessionID sessionID, OptionSet<WebsiteDataType> websiteDataTypes, CompletionHandler<void(WebsiteData&&)>&& completionHandler)
     1352{
     1353    WebsiteData websiteData;
    13531354    if (websiteDataTypes.contains(WebsiteDataType::MemoryCache)) {
    13541355        for (auto& origin : MemoryCache::singleton().originsWithCache(sessionID))
    13551356            websiteData.entries.append(WebsiteData::Entry { origin->data(), WebsiteDataType::MemoryCache, 0 });
    13561357    }
    1357 }
    1358 
    1359 void WebProcess::deleteWebsiteData(PAL::SessionID sessionID, OptionSet<WebsiteDataType> websiteDataTypes, WallTime modifiedSince)
     1358    completionHandler(WTFMove(websiteData));
     1359}
     1360
     1361void WebProcess::deleteWebsiteData(PAL::SessionID sessionID, OptionSet<WebsiteDataType> websiteDataTypes, WallTime modifiedSince, CompletionHandler<void()>&& completionHandler)
    13601362{
    13611363    UNUSED_PARAM(modifiedSince);
     
    13671369        CrossOriginPreflightResultCache::singleton().clear();
    13681370    }
    1369 }
    1370 
    1371 void WebProcess::deleteWebsiteDataForOrigins(PAL::SessionID sessionID, OptionSet<WebsiteDataType> websiteDataTypes, const Vector<WebCore::SecurityOriginData>& originDatas)
     1371    completionHandler();
     1372}
     1373
     1374void WebProcess::deleteWebsiteDataForOrigins(PAL::SessionID sessionID, OptionSet<WebsiteDataType> websiteDataTypes, const Vector<WebCore::SecurityOriginData>& originDatas, CompletionHandler<void()>&& completionHandler)
    13721375{
    13731376    if (websiteDataTypes.contains(WebsiteDataType::MemoryCache)) {
     
    13781381        MemoryCache::singleton().removeResourcesWithOrigins(sessionID, origins);
    13791382    }
     1383    completionHandler();
    13801384}
    13811385
     
    14681472}
    14691473
    1470 void WebProcess::processWillSuspendImminently(bool& handled)
     1474void WebProcess::processWillSuspendImminently(CompletionHandler<void(bool)>&& completionHandler)
    14711475{
    14721476    if (parentProcessConnection()->inSendSync()) {
     
    14751479        // reply to a sync message.
    14761480        // FIXME: ProcessWillSuspendImminently should not be a sync message.
    1477         return;
     1481        return completionHandler(false);
    14781482    }
    14791483
     
    14811485    DatabaseTracker::singleton().closeAllDatabases(CurrentQueryBehavior::Interrupt);
    14821486    actualPrepareToSuspend(ShouldAcknowledgeWhenReadyToSuspend::No);
    1483     handled = true;
     1487    completionHandler(true);
    14841488}
    14851489
  • trunk/Source/WebKit/WebProcess/WebProcess.h

    r243034 r243258  
    205205    void setHiddenPageDOMTimerThrottlingIncreaseLimit(int milliseconds);
    206206
    207     void processWillSuspendImminently(bool& handled);
     207    void processWillSuspendImminently(CompletionHandler<void(bool)>&&);
    208208    void prepareToSuspend();
    209209    void cancelPrepareToSuspend();
     
    343343    void releasePageCache();
    344344
    345     void fetchWebsiteData(PAL::SessionID, OptionSet<WebsiteDataType>, WebsiteData&);
    346     void deleteWebsiteData(PAL::SessionID, OptionSet<WebsiteDataType>, WallTime modifiedSince);
    347     void deleteWebsiteDataForOrigins(PAL::SessionID, OptionSet<WebsiteDataType>, const Vector<WebCore::SecurityOriginData>& origins);
     345    void fetchWebsiteData(PAL::SessionID, OptionSet<WebsiteDataType>, CompletionHandler<void(WebsiteData&&)>&&);
     346    void deleteWebsiteData(PAL::SessionID, OptionSet<WebsiteDataType>, WallTime modifiedSince, CompletionHandler<void()>&&);
     347    void deleteWebsiteDataForOrigins(PAL::SessionID, OptionSet<WebsiteDataType>, const Vector<WebCore::SecurityOriginData>& origins, CompletionHandler<void()>&&);
    348348
    349349    void setMemoryCacheDisabled(bool);
  • trunk/Source/WebKit/WebProcess/WebProcess.messages.in

    r243034 r243258  
    7878    ReleasePageCache()
    7979
    80     FetchWebsiteData(PAL::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes) -> (struct WebKit::WebsiteData websiteData) LegacySync
    81     DeleteWebsiteData(PAL::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes, WallTime modifiedSince) -> () LegacySync
    82     DeleteWebsiteDataForOrigins(PAL::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes, Vector<WebCore::SecurityOriginData> origins) -> () LegacySync
     80    FetchWebsiteData(PAL::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes) -> (struct WebKit::WebsiteData websiteData) Delayed
     81    DeleteWebsiteData(PAL::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes, WallTime modifiedSince) -> () Delayed
     82    DeleteWebsiteDataForOrigins(PAL::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes, Vector<WebCore::SecurityOriginData> origins) -> () Delayed
    8383
    8484    SetHiddenPageDOMTimerThrottlingIncreaseLimit(int milliseconds)
     
    9696    DestroyAutomationSessionProxy()
    9797
    98     ProcessWillSuspendImminently() -> (bool handled) LegacySync
     98    ProcessWillSuspendImminently() -> (bool handled) Delayed
    9999    PrepareToSuspend()
    100100    CancelPrepareToSuspend()
Note: See TracChangeset for help on using the changeset viewer.