Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b949f0f6d399dd158150f29b298f930a02d43d08
      
https://github.com/WebKit/WebKit/commit/b949f0f6d399dd158150f29b298f930a02d43d08
  Author: Youenn Fablet <you...@apple.com>
  Date:   2025-03-03 (Mon, 03 Mar 2025)

  Changed paths:
    M LayoutTests/TestExpectations
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/direct.css
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/direct.html
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/direct.js
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/direct.py
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/direct.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/imported-sw.js
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/or-test/direct1.text
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/or-test/direct1.text.headers
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/or-test/direct2.text
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/or-test/direct2.text.headers
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/or-test/w3c-import.log
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/router-rules.js
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/static-router-helpers.sub.js
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/static-router-no-fetch-handler-sw.js
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/static-router-race-network-and-fetch-handler-sw.js
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/static-router-sw.js
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/static-router-sw.sub.js
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-fetch-event.https-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-fetch-event.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-invalid-rules.https-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-invalid-rules.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-main-resource.https-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-main-resource.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-multiple-router-registrations.https-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-multiple-router-registrations.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-mutiple-conditions.https-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-mutiple-conditions.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-no-fetch-handler.https-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-no-fetch-handler.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-race-network-and-fetch-handler.https-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-race-network-and-fetch-handler.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-request-destination.https-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-request-destination.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-request-method.https-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-request-method.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-subresource.https-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-subresource.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/tentative/static-router/README.md
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/tentative/static-router/static-router-resource-timing.https-expected.txt
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/tentative/static-router/static-router-resource-timing.https.html
    A 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/tentative/static-router/w3c-import.log
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/workers/service/ExtendableEvent.cpp
    M Source/WebCore/workers/service/ExtendableEvent.h
    M Source/WebCore/workers/service/InstallEvent.cpp
    M Source/WebCore/workers/service/SWClientConnection.h
    M Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp
    M Source/WebCore/workers/service/ServiceWorkerGlobalScope.h
    A Source/WebCore/workers/service/ServiceWorkerRoute.cpp
    A Source/WebCore/workers/service/ServiceWorkerRoute.h
    M Source/WebCore/workers/service/WorkerSWClientConnection.cpp
    M Source/WebCore/workers/service/WorkerSWClientConnection.h
    M Source/WebCore/workers/service/context/ServiceWorkerThread.cpp
    M Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp
    M Source/WebKit/WebProcess/Storage/WebSWClientConnection.h

  Log Message:
  -----------
  Implement WebProcess side of InstallEvent addRoutes
rdar://144078980
https://bugs.webkit.org/show_bug.cgi?id=286914

Reviewed by Ben Nham.

Add parsing of service worker routes and handling in service worker context.
The data is sent up to WebSWClientConnection which rejects the promise (next 
patch will implement this method).

* LayoutTests/TestExpectations:
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/direct.css:
 Added.
(body):
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/direct.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/direct.js:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/direct.py:
 Added.
(main):
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/direct.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/imported-sw.js:
 Added.
(key.async e):
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/or-test/direct1.text:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/or-test/direct1.text.headers:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/or-test/direct2.text:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/or-test/direct2.text.headers:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/or-test/w3c-import.log:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/router-rules.js:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/static-router-helpers.sub.js:
 Added.
(const.get_info_from_worker.async worker.):
(const.get_info_from_worker.async worker):
(const.reset_info_in_worker.async worker.):
(const.reset_info_in_worker.async worker):
(const.scriptDir.document.currentScript.src.match.const.registerAndActivate.async
 test):
(const.createIframe.async t):
(name.return.promise_test.async t):
(iframeTest):
(randomString):
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/static-router-no-fetch-handler-sw.js:
 Added.
(async e):
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/static-router-race-network-and-fetch-handler-sw.js:
 Added.
(async e):
(url.searchParams.has):
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/static-router-sw.js:
 Added.
(async e):
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/static-router-sw.sub.js:
 Added.
(const.recordError):
(const.getRecords):
(const.resetRecords):
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-fetch-event.https-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-fetch-event.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-invalid-rules.https-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-invalid-rules.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-main-resource.https-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-main-resource.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-multiple-router-registrations.https-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-multiple-router-registrations.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-mutiple-conditions.https-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-mutiple-conditions.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-no-fetch-handler.https-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-no-fetch-handler.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-race-network-and-fetch-handler.https-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-race-network-and-fetch-handler.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-request-destination.https-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-request-destination.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-request-method.https-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-request-method.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-subresource.https-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/static-router-subresource.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/tentative/static-router/README.md:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/tentative/static-router/static-router-resource-timing.https-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/tentative/static-router/static-router-resource-timing.https.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/tentative/static-router/w3c-import.log:
 Added.
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/workers/service/ExtendableEvent.cpp:
(WebCore::ExtendableEvent::addExtendLifetimePromise):
(WebCore::ExtendableEvent::whenAllExtendLifetimePromisesAreSettled):
* Source/WebCore/workers/service/ExtendableEvent.h:
(WebCore::ExtendableEvent::isWaiting const):
* Source/WebCore/workers/service/InstallEvent.cpp:
(WebCore::toServiceWorkerRoutePattern):
(WebCore::toServiceWorkerRouteCondition):
(WebCore::toServiceWorkerRoute):
(WebCore::verifyRouterCondition):
(WebCore::addServiceWorkerRoute):
(WebCore::InstallEvent::addRoutes):
* Source/WebCore/workers/service/SWClientConnection.h:
* Source/WebCore/workers/service/ServiceWorkerContextData.h:
* Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp:
(WebCore::ServiceWorkerGlobalScope::storeEventTypesToHandle):
* Source/WebCore/workers/service/ServiceWorkerGlobalScope.h:
* Source/WebCore/workers/service/ServiceWorkerRoute.cpp: Added.
(WebCore::validateURLPatternComponent):
(WebCore::validateServiceWorkerRouteCondition):
(WebCore::validateServiceWorkerRoute):
(WebCore::matchURLPatternComponent):
(WebCore::matchURLPattern):
(WebCore::matchRouterCondition):
(WebCore::ServiceWorkerRouteCondition::isolatedCopy):
(WebCore::ServiceWorkerRouteCondition::copy const):
(WebCore::ServiceWorkerRoutePattern::isolatedCopy):
(WebCore::crossThreadCopyRouterSource):
(WebCore::ServiceWorkerRoute::isolatedCopy):
* Source/WebCore/workers/service/ServiceWorkerRoute.h: Added.
(WebCore::ServiceWorkerRoute::copy const):
* Source/WebCore/workers/service/WorkerSWClientConnection.cpp:
(WebCore::WorkerSWClientConnection::addRoutes):
* Source/WebCore/workers/service/WorkerSWClientConnection.h:
* Source/WebCore/workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::queueTaskToFireInstallEvent):
(WebCore::ServiceWorkerThread::finishedEvaluatingScript):
(WebCore::createInstallEvent): Deleted.
* Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::addRoutes):
* Source/WebKit/WebProcess/Storage/WebSWClientConnection.h:

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



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

Reply via email to