Bug 241277

Summary: NetworkLoad should pass its redirect completion handler to clients instead of storing it
Product: WebKit Reporter: Alex Christensen <achristensen>
Component: WebKit Misc.Assignee: Alex Christensen <achristensen>
Status: NEW ---    
Severity: Normal CC: cdumez, cgarcia, ews-watchlist, ntim, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch achristensen: review?, ews-feeder: commit-queue-

Description Alex Christensen 2022-06-03 12:44:04 PDT
This will make us write code that is more aware that we need to respond, and help prevent bugs like bug 241237
Comment 1 Alex Christensen 2022-06-03 13:00:13 PDT
Created attachment 460019 [details]
Patch
Comment 2 Chris Dumez 2022-06-03 15:21:20 PDT
EWS crashes are likely related.
Comment 3 Radar WebKit Bug Importer 2022-06-10 12:45:14 PDT
<rdar://problem/94833767>
Comment 4 Tim Nguyen (:ntim) 2022-09-22 18:16:19 PDT
Comment on attachment 460019 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=460019&action=review

> COMMIT_MESSAGE:56
> +* ../../Source/WebKit/NetworkProcess/NetworkProcess.h:
> +* ../../Source/WebKit/NetworkProcess/NetworkProcess.messages.in:
> +* ../../Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
> +(WebKit::NetworkResourceLoader::start):
> +(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
> +(WebKit::NetworkResourceLoader::willSendServiceWorkerRedirectedRequest):
> +(WebKit::NetworkResourceLoader::willSendRedirectedRequestInternal):
> +(WebKit::NetworkResourceLoader::continueWillSendRedirectedRequest):
> +(WebKit::NetworkResourceLoader::continueWillSendRequest):
> +(WebKit::NetworkResourceLoader::dispatchWillSendRequestForCacheEntry):
> +* ../../Source/WebKit/NetworkProcess/NetworkResourceLoader.h:
> +* ../../Source/WebKit/NetworkProcess/NetworkResourceLoader.messages.in:
> +* ../../Source/WebKit/NetworkProcess/PreconnectTask.cpp:
> +(WebKit::PreconnectTask::willSendRedirectedRequest):
> +* ../../Source/WebKit/NetworkProcess/PreconnectTask.h:
> +* ../../Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
> +(WebKit::ServiceWorkerFetchTask::processRedirectResponse):
> +* ../../Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp:
> +(WebKit::ServiceWorkerNavigationPreloader::willSendRedirectedRequest):
> +* ../../Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.h:
> +* ../../Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:
> +(WebKit::ServiceWorkerSoftUpdateLoader::willSendRedirectedRequest):
> +* ../../Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.h:
> +* ../../Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
> +(WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest):
> +* ../../Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
> +* ../../Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp:
> +(WebKit::DownloadProxy::willSendRequest):
> +* ../../Source/WebKit/UIProcess/Downloads/DownloadProxy.h:
> +* ../../Source/WebKit/UIProcess/Downloads/DownloadProxy.messages.in:
> +* ../../Source/WebKit/WebProcess/Network/WebResourceLoader.cpp:
> +(WebKit::WebResourceLoader::willSendRequest):
> +* ../../Source/WebKit/WebProcess/Network/WebResourceLoader.h:
> +* ../../Source/WebKit/WebProcess/Network/WebResourceLoader.messages.in:

../..