Speculative loading sometimes happens too early and is missing important login cookies.
<rdar://problem/57063840>
Created attachment 383767 [details] Patch
Created attachment 383784 [details] Patch
Comment on attachment 383784 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=383784&action=review > Source/WebKit/NetworkProcess/cache/NetworkCache.h:143 > + void retrieve(const WebCore::ResourceRequest&, const GlobalFrameID&, bool isTopMainResourceLoad, RetrieveCompletionHandler&&); This information seems to be already available in ResourceRequest as oddly named isTopSite() bit. Can we avoid duplicating information? Also the parameter should be an enum. > Source/WebKit/NetworkProcess/cache/NetworkCache.h:148 > + void registerMainResourceLoadResponse(const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, const GlobalFrameID&); This should probably be in #if ENABLE(NETWORK_CACHE_SPECULATIVE_REVALIDATION) section. This sort of stuff points to speculative load being implemented in a wrong layer. Cache API tries not to be a collection of random functions, but things that actually make sense for a class called Cache. This doesn't really belong.
Created attachment 384153 [details] Patch
Created attachment 384156 [details] Patch
Comment on attachment 384156 [details] Patch Clearing flags on attachment: 384156 Committed r252778: <https://trac.webkit.org/changeset/252778>
All reviewed patches have been landed. Closing bug.