Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c41dfa79a5859286d096783b4e996d97177f8056
      
https://github.com/WebKit/WebKit/commit/c41dfa79a5859286d096783b4e996d97177f8056
  Author: Chris Dumez <[email protected]>
  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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to