Changeset 251823 in webkit


Ignore:
Timestamp:
Oct 30, 2019 4:59:42 PM (4 years ago)
Author:
dino@apple.com
Message:

REGRESSION(r251568) If we didn't start a Service Worker, don't try talking to it
https://bugs.webkit.org/show_bug.cgi?id=203639
<rdar://problem/56762071>

Reviewed by Chris Dumez.

Similar to the fix that introduced this regression, if the UI process does
not have the entitlement to start a service worker, we should not try
to load with one.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad): If the
parent process doesn't have a service worker, use the regular load path.

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r251822 r251823  
     12019-10-30  Dean Jackson  <dino@apple.com>
     2
     3        REGRESSION(r251568) If we didn't start a Service Worker, don't try talking to it
     4        https://bugs.webkit.org/show_bug.cgi?id=203639
     5        <rdar://problem/56762071>
     6
     7        Reviewed by Chris Dumez.
     8
     9        Similar to the fix that introduced this regression, if the UI process does
     10        not have the entitlement to start a service worker, we should not try
     11        to load with one.
     12
     13        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
     14        (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad): If the
     15        parent process doesn't have a service worker, use the regular load path.
     16
    1172019-10-30  Simon Fraser  <simon.fraser@apple.com>
    218
  • trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp

    r251568 r251823  
    410410{
    411411#if ENABLE(SERVICE_WORKER)
    412     auto& server = m_networkProcess->swServerForSession(m_sessionID);
    413     if (!server.isImportCompleted()) {
    414         server.whenImportIsCompleted([this, protectedThis = makeRef(*this), loadParameters = WTFMove(loadParameters)]() mutable {
    415             if (!m_networkProcess->webProcessConnection(webProcessIdentifier()))
    416                 return;
    417             ASSERT(m_networkProcess->swServerForSession(m_sessionID).isImportCompleted());
    418             scheduleResourceLoad(WTFMove(loadParameters));
    419         });
    420         return;
     412    bool serviceWorkerAllowed = m_networkProcess->parentProcessHasServiceWorkerEntitlement();
     413    if (serviceWorkerAllowed) {
     414        auto& server = m_networkProcess->swServerForSession(m_sessionID);
     415        if (!server.isImportCompleted()) {
     416            server.whenImportIsCompleted([this, protectedThis = makeRef(*this), loadParameters = WTFMove(loadParameters)]() mutable {
     417                if (!m_networkProcess->webProcessConnection(webProcessIdentifier()))
     418                    return;
     419                ASSERT(m_networkProcess->swServerForSession(m_sessionID).isImportCompleted());
     420                scheduleResourceLoad(WTFMove(loadParameters));
     421            });
     422            return;
     423        }
    421424    }
    422425#endif
     
    429432
    430433#if ENABLE(SERVICE_WORKER)
    431     loader->startWithServiceWorker();
    432 #else
     434    if (serviceWorkerAllowed) {
     435        loader->startWithServiceWorker();
     436        return;
     437    } else
     438#endif
    433439    loader->start();
    434 #endif
    435440}
    436441
Note: See TracChangeset for help on using the changeset viewer.