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

Reply via email to