Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5d14f119e11e9b20df828804d9c76cac7517fad8
      
https://github.com/WebKit/WebKit/commit/5d14f119e11e9b20df828804d9c76cac7517fad8
  Author: Youenn Fablet <[email protected]>
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
    A 
LayoutTests/http/wpt/service-workers/navigation-iframe-cancel.https-expected.txt
    A LayoutTests/http/wpt/service-workers/navigation-iframe-cancel.https.html
    M Source/WebCore/workers/service/context/ServiceWorkerFetch.h
    M Source/WebCore/workers/service/context/ServiceWorkerThread.cpp
    M Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp
    M Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.h

  Log Message:
  -----------
  Do not dispatch fetch event if its client is already cancelled
https://bugs.webkit.org/show_bug.cgi?id=276417
rdar://131072280

Reviewed by Chris Dumez.

We are adding a fetch task and cancelling it when receiving IPC messages.
We are then queuing a task on the event loop to dispatch the fetch event.
If the cancel message happens before the dispatch of the fetch event, we are no 
longer dispatching the event since it is unnecessary.
To do so, we update the ServiceWorkerFetch::Client class to add a isCancelled 
getter and use it before dispatching the event.

* 
LayoutTests/http/wpt/service-workers/navigation-iframe-cancel.https-expected.txt:
 Added.
* LayoutTests/http/wpt/service-workers/navigation-iframe-cancel.https.html: 
Added.
* Source/WebCore/workers/service/context/ServiceWorkerFetch.h:
(WebCore::ServiceWorkerFetch::Client::isCancelled const):
(WebCore::ServiceWorkerFetch::Client::cancel):
* Source/WebCore/workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::queueTaskToFireFetchEvent):
* Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
(WebKit::WebServiceWorkerFetchTaskClient::doCancel):
(WebKit::WebServiceWorkerFetchTaskClient::cancel): Deleted.
* Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to