[webkit-changes] [WebKit/WebKit] c41dfa: imported/w3c/web-platform-tests/service-workers/se...

Chris Dumez noreply at github.com
Thu Jan 12 12:47:24 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c41dfa79a5859286d096783b4e996d97177f8056
      https://github.com/WebKit/WebKit/commit/c41dfa79a5859286d096783b4e996d97177f8056
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2023-01-12 (Thu, 12 Jan 2023)

  Changed paths:
    M Source/WebCore/workers/service/context/ServiceWorkerFetch.h
    M Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp
    M Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp
    M Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.h

  Log Message:
  -----------
  imported/w3c/web-platform-tests/service-workers/service-worker/navigation-sets-cookie.https.html is flaky crashing
https://bugs.webkit.org/show_bug.cgi?id=250486
rdar://104138207

Reviewed by Youenn Fablet.

Have WebServiceWorkerFetchTaskClient keep the preloadResponse as a CrossThreadData
instead of a ResourceResponse. m_preloadResponse gets initialized on the service
worker thread but the WebServiceWorkerFetchTaskClient object always gets destroyed
on the main thread. A ResourceResponse contains AtomStrings and thus cannot be
destroyed on another thread than the one it got constructed on.

* Source/WebCore/workers/service/context/ServiceWorkerFetch.h:
* Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::navigationPreloadIsReady):
* Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
(WebKit::WebServiceWorkerFetchTaskClient::setFetchEvent):
(WebKit::WebServiceWorkerFetchTaskClient::navigationPreloadIsReady):
* Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.h:

Canonical link: https://commits.webkit.org/258847@main




More information about the webkit-changes mailing list