Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b2cfc9f22cb71fcb5ad7c6f55e13b1c6f2278c0c https://github.com/WebKit/WebKit/commit/b2cfc9f22cb71fcb5ad7c6f55e13b1c6f2278c0c Author: Alex Christensen <achristen...@apple.com> Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths: M Source/WebKit/NetworkProcess/Downloads/PendingDownload.h M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in M Source/WebKit/NetworkProcess/NetworkDataTask.h M Source/WebKit/NetworkProcess/NetworkLoadParameters.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/PingLoad.cpp M Source/WebKit/NetworkProcess/PreconnectTask.h M Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementClient.h M Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp M Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.h M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp M Source/WebKit/WebProcess/Network/WebLoaderStrategy.h M Source/WebKit/WebProcess/Network/WebResourceLoader.cpp M Source/WebKit/WebProcess/Network/WebResourceLoader.h M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp Log Message: ----------- Make NetworkResourceLoadParameters.webPageProxyID non-Markable https://bugs.webkit.org/show_bug.cgi?id=290419 rdar://145704696 Reviewed by Chris Dumez. NetworkResourceLoadParameters is sent across IPC, NetworkLoadParameters is not. To accomplish this most elegantly, I removed the inheritance relationship and added an accessor to get NetworkLoadParameters from NetworkResourceLoadParameters. This changes a rare crash in the NetworkResourceLoader constructor to an early return in WebLoaderStrategy::loadResourceSynchronously. It also makes it so we can't compile code that would make an edge case where we could get a null webPageProxyID. I considered moving the now non-nullable identifiers to NetworkResourceLoadParameters, but there are too many places in NetworkSession that use the identifiers, so that solution seemed too messy. I also considered passing a separate struct to the NetworkDataTask constructor containing optional identifiers, but that was also messier than this. * Source/WebKit/NetworkProcess/Downloads/PendingDownload.h: * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::resolveBlobReferences): (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad): (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad): (WebKit::NetworkConnectionToWebProcess::loadPing): (WebKit::NetworkConnectionToWebProcess::sendH2Ping): (WebKit::NetworkConnectionToWebProcess::preconnectTo): * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h: * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in: * Source/WebKit/NetworkProcess/NetworkDataTask.h: * Source/WebKit/NetworkProcess/NetworkLoadParameters.h: (WebKit::NetworkLoadParameters::NetworkLoadParameters): Deleted. * Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp: (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters): (WebKit::NetworkResourceLoadParameters::networkLoadParameters const): * Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h: (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters): (WebKit::NetworkResourceLoadParameters::protectedSourceOrigin const): * Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.serialization.in: * Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::startNetworkLoad): * Source/WebKit/NetworkProcess/NetworkResourceLoader.h: * Source/WebKit/NetworkProcess/PingLoad.cpp: (WebKit::PingLoad::loadRequest): * Source/WebKit/NetworkProcess/PreconnectTask.h: * Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementClient.h: * Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp: (WebKit::ServiceWorkerFetchTask::ServiceWorkerFetchTask): * Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.h: * Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp: (WebKit::WebLoaderStrategy::scheduleLoad): (WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess): (WebKit::WebLoaderStrategy::loadResourceSynchronously): (WebKit::WebLoaderStrategy::startPingLoad): (WebKit::WebLoaderStrategy::preconnectTo): * Source/WebKit/WebProcess/Network/WebLoaderStrategy.h: * Source/WebKit/WebProcess/Network/WebResourceLoader.cpp: (WebKit::WebResourceLoader::create): (WebKit::WebResourceLoader::WebResourceLoader): * Source/WebKit/WebProcess/Network/WebResourceLoader.h: * Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp: (WebKit::WebLocalFrameLoaderClient::sendH2Ping): Canonical link: https://commits.webkit.org/292707@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