Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: deae73529c4c33d969518fd587cfac3f308d74c9
https://github.com/WebKit/WebKit/commit/deae73529c4c33d969518fd587cfac3f308d74c9
Author: Basuke Suzuki <[email protected]>
Date: 2025-02-11 (Tue, 11 Feb 2025)
Changed paths:
M LayoutTests/http/tests/iframe-monitor/blob-resource.html
M LayoutTests/http/tests/iframe-monitor/cached-resource.html
M LayoutTests/http/tests/iframe-monitor/dark-mode.html
M LayoutTests/http/tests/iframe-monitor/data-url-resource.html
M LayoutTests/http/tests/iframe-monitor/eligibility.html
M LayoutTests/http/tests/iframe-monitor/iframe-unload.html
A
LayoutTests/http/tests/iframe-monitor/resources/--eligible--/shared-worker.html
A
LayoutTests/http/tests/iframe-monitor/resources/--eligible--/shared-worker.js
M LayoutTests/http/tests/iframe-monitor/resources/monitor-setup.js
A LayoutTests/http/tests/iframe-monitor/shared-worker-expected.txt
A LayoutTests/http/tests/iframe-monitor/shared-worker.html
M LayoutTests/http/tests/iframe-monitor/throttler.html
M Source/WebCore/loader/ResourceLoaderOptions.h
M Source/WebCore/loader/WorkerThreadableLoader.cpp
M Source/WebCore/workers/shared/SharedWorker.cpp
M Source/WebCore/workers/shared/SharedWorker.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/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/Network/WebLoaderStrategy.cpp
M
Source/WebKit/WebProcess/Storage/WebSharedWorkerObjectConnection.messages.in
Log Message:
-----------
[ResourceMonitor] Track network usage of SharedWorker.
https://bugs.webkit.org/show_bug.cgi?id=287464
rdar://142654034
Reviewed by Ben Nham.
We don't track network usage of SharedWorker created by iframe and also there's
no direct connection
between SharedWorker and iframe right now. To monitor network usage, add new
IPC message to report
network usage of SharedWorker to all connected iframe document.
To make this happen:
1. Add new parameter, `workerIdentifier` in NetworkResourceLoadParameters.
2. Report network usage of the SharedWorker from NetworkResourceLoader to
connected SharedWorker objects.
3. Tell ResourceMonitor to treate those usage as part of the resource usage of
iframe.
New layout test is added to test this usage.
* LayoutTests/http/tests/iframe-monitor/blob-resource.html: Refactoring
* LayoutTests/http/tests/iframe-monitor/cached-resource.html: Refactoring
* LayoutTests/http/tests/iframe-monitor/dark-mode.html: Refactoring
* LayoutTests/http/tests/iframe-monitor/data-url-resource.html: Refactoring
* LayoutTests/http/tests/iframe-monitor/eligibility.html: Refactoring
* LayoutTests/http/tests/iframe-monitor/iframe-unload.html: Refactoring
*
LayoutTests/http/tests/iframe-monitor/resources/--eligible--/shared-worker.html:
Added.
*
LayoutTests/http/tests/iframe-monitor/resources/--eligible--/shared-worker.js:
Added.
* LayoutTests/http/tests/iframe-monitor/resources/monitor-setup.js: Refactoring
* LayoutTests/http/tests/iframe-monitor/shared-worker-expected.txt: Added.
* LayoutTests/http/tests/iframe-monitor/shared-worker.html: Added.
* LayoutTests/http/tests/iframe-monitor/throttler.html: Refactoring
* Source/WebCore/loader/ResourceLoaderOptions.h:
* Source/WebCore/loader/WorkerThreadableLoader.cpp:
(WebCore::m_contextIdentifier):
* Source/WebCore/workers/shared/SharedWorker.cpp:
(WebCore::m_resourceMonitor):
(WebCore::SharedWorker::reportNetworkUsage):
* Source/WebCore/workers/shared/SharedWorker.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::bufferingTimerFired):
(WebKit::NetworkResourceLoader::sendBuffer):
(WebKit::NetworkResourceLoader::dataReceivedThroughContentFilter):
(WebKit::NetworkResourceLoader::sendDidReceiveDataMessage):
(WebKit::NetworkResourceLoader::reportNetworkUsageToAllSharedWorkers):
* Source/WebKit/NetworkProcess/NetworkResourceLoader.h:
* Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp:
(WebKit::WebSharedWorkerServer::reportNetworkUsageToAllSharedWorkerClients):
* Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServer.h:
* Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.cpp:
(WebKit::WebSharedWorkerServerConnection::reportNetworkUsageToWorkerObject):
* Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h:
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
* Source/WebKit/WebProcess/Storage/WebSharedWorkerObjectConnection.messages.in:
Canonical link: https://commits.webkit.org/290232@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