Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ab04d94a385b7bf463155ce2fc89193bd317310f
https://github.com/WebKit/WebKit/commit/ab04d94a385b7bf463155ce2fc89193bd317310f
Author: Basuke Suzuki <[email protected]>
Date: 2025-02-27 (Thu, 27 Feb 2025)
Changed paths:
M LayoutTests/http/tests/iframe-monitor/resources/--eligible--/iframe2.html
A
LayoutTests/http/tests/iframe-monitor/resources/--eligible--/service-worker-setup.js
A
LayoutTests/http/tests/iframe-monitor/resources/--eligible--/service-worker.html
A
LayoutTests/http/tests/iframe-monitor/resources/--eligible--/service-worker.js
A
LayoutTests/http/tests/iframe-monitor/resources/--eligible--/unregister-service-worker.html
A LayoutTests/http/tests/iframe-monitor/resources/--eligible--/using-1k.html
A LayoutTests/http/tests/iframe-monitor/resources/--eligible--/using-6k.html
R LayoutTests/http/tests/iframe-monitor/shared-worker-expected.txt
R LayoutTests/http/tests/iframe-monitor/shared-worker.html
A LayoutTests/http/tests/iframe-monitor/workers/service-worker-expected.txt
A
LayoutTests/http/tests/iframe-monitor/workers/service-worker-not-count-twice-expected.txt
A
LayoutTests/http/tests/iframe-monitor/workers/service-worker-not-count-twice.html
A LayoutTests/http/tests/iframe-monitor/workers/service-worker.html
A LayoutTests/http/tests/iframe-monitor/workers/shared-worker-expected.txt
A LayoutTests/http/tests/iframe-monitor/workers/shared-worker.html
M Source/WebCore/Headers.cmake
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/loader/ResourceLoaderOptions.h
M Source/WebCore/loader/WorkerThreadableLoader.cpp
A Source/WebCore/workers/FetchingWorkerIdentifier.h
M Source/WebCore/workers/service/SWClientConnection.cpp
M Source/WebCore/workers/service/SWClientConnection.h
M Source/WebCore/workers/service/server/SWServer.cpp
M Source/WebCore/workers/service/server/SWServer.h
M Source/WebCore/workers/service/server/SWServerToContextConnection.h
M Source/WebCore/workers/shared/SharedWorkerObjectConnection.cpp
M Source/WebCore/workers/shared/SharedWorkerObjectConnection.h
M Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp
M Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h
M
Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.serialization.in
M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
M Source/WebKit/NetworkProcess/NetworkResourceLoader.h
M Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp
M Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.h
M
Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp
M
Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h
M Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp
M Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServer.h
M
Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.cpp
M
Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h
M Source/WebKit/WebProcess/Storage/WebSWClientConnection.messages.in
M
Source/WebKit/WebProcess/Storage/WebSharedWorkerObjectConnection.messages.in
Log Message:
-----------
[ResourceMonitor] Track network usage of ServiceWorker.
https://bugs.webkit.org/show_bug.cgi?id=287506
rdar://144586530
Reviewed by Youenn Fablet.
We don't track network usage of ServiceWorker registered by iframe and also
there's no direct connection
between ServiceWorker and iframe right now. To monitor network usage, send IPC
message to report
network usage of ServiceWorker to all connected iframe document.
To make this happen:
1. Add new parameter, `workerIdentifier` in NetworkResourceLoadParameters.
2. Report network usage of the ServiceWorker from NetworkResourceLoader to
connected ServiceWorker clients.
3. Tell ResourceMonitor to treate those usage as part of the resource usage of
iframe.
* LayoutTests/http/tests/iframe-monitor/resources/--eligible--/iframe2.html:
*
LayoutTests/http/tests/iframe-monitor/resources/--eligible--/service-worker-setup.js:
Added.
(async waitForState):
*
LayoutTests/http/tests/iframe-monitor/resources/--eligible--/service-worker.html:
Added.
*
LayoutTests/http/tests/iframe-monitor/resources/--eligible--/service-worker.js:
Added.
(async e):
*
LayoutTests/http/tests/iframe-monitor/resources/--eligible--/unregister-service-worker.html:
Added.
* LayoutTests/http/tests/iframe-monitor/resources/--eligible--/using-1k.html:
Added.
* LayoutTests/http/tests/iframe-monitor/resources/--eligible--/using-6k.html:
Added.
* LayoutTests/http/tests/iframe-monitor/shared-worker.html: Removed.
* LayoutTests/http/tests/iframe-monitor/workers/service-worker-expected.txt:
Added.
*
LayoutTests/http/tests/iframe-monitor/workers/service-worker-not-count-twice-expected.txt:
Added.
*
LayoutTests/http/tests/iframe-monitor/workers/service-worker-not-count-twice.html:
Added.
* LayoutTests/http/tests/iframe-monitor/workers/service-worker.html: Added.
* LayoutTests/http/tests/iframe-monitor/workers/shared-worker-expected.txt:
Renamed from LayoutTests/http/tests/iframe-monitor/shared-worker-expected.txt.
* LayoutTests/http/tests/iframe-monitor/workers/shared-worker.html: Added.
* Source/WebCore/Headers.cmake:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/loader/ResourceLoaderOptions.h:
* Source/WebCore/loader/WorkerThreadableLoader.cpp:
(WebCore::m_contextIdentifier):
* Source/WebCore/workers/FetchingWorkerIdentifier.h: Added.
* Source/WebCore/workers/service/SWClientConnection.cpp:
(WebCore::SWClientConnection::reportNetworkUsageToWorkerClient):
* Source/WebCore/workers/service/SWClientConnection.h:
* Source/WebCore/workers/service/server/SWServer.cpp:
(WebCore::SWServer::reportNetworkUsageToAllWorkerClients):
* Source/WebCore/workers/service/server/SWServer.h:
* Source/WebCore/workers/service/server/SWServerToContextConnection.h:
* Source/WebCore/workers/shared/SharedWorkerObjectConnection.cpp:
(WebCore::SharedWorkerObjectConnection::reportNetworkUsageToWorkerObject):
* Source/WebCore/workers/shared/SharedWorkerObjectConnection.h:
* Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
* Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h:
* Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.serialization.in:
* Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::sendDidReceiveDataMessage):
(WebKit::NetworkResourceLoader::updateBytesTransferredOverNetwork):
(WebKit::NetworkResourceLoader::reportNetworkUsageToAllSharedWorkerObjects):
(WebKit::NetworkResourceLoader::reportNetworkUsageToAllServiceWorkerClients):
(WebKit::NetworkResourceLoader::reportNetworkUsageToAllSharedWorkers): Deleted.
* Source/WebKit/NetworkProcess/NetworkResourceLoader.h:
* Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::resolveUnregistrationJobInClient):
* Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.h:
* Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::reportNetworkUsageToWorkerClient):
* Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
* Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp:
(WebKit::WebSharedWorkerServer::reportNetworkUsageToAllSharedWorkerObjects):
(WebKit::WebSharedWorkerServer::reportNetworkUsageToAllSharedWorkerClients):
Deleted.
* Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServer.h:
* Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.cpp:
(WebKit::WebSharedWorkerServerConnection::reportNetworkUsageToWorkerObject):
* Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h:
* Source/WebKit/WebProcess/Storage/WebSWClientConnection.messages.in:
* Source/WebKit/WebProcess/Storage/WebSharedWorkerObjectConnection.messages.in:
Canonical link: https://commits.webkit.org/291262@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