Bug 204305

Summary: Speculative loading sometimes happens too early and is missing login cookies
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: WebKit2Assignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, cgarcia, commit-queue, ews-watchlist, ggaren, koivisto, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch none

Description Chris Dumez 2019-11-18 11:29:34 PST
Speculative loading sometimes happens too early and is missing important login cookies.
Comment 1 Chris Dumez 2019-11-18 11:29:51 PST
<rdar://problem/57063840>
Comment 2 Chris Dumez 2019-11-18 11:40:48 PST
Created attachment 383767 [details]
Patch
Comment 3 Chris Dumez 2019-11-18 13:39:03 PST
Created attachment 383784 [details]
Patch
Comment 4 Antti Koivisto 2019-11-19 01:08:45 PST
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.
Comment 5 Chris Dumez 2019-11-22 07:56:22 PST
Created attachment 384153 [details]
Patch
Comment 6 Chris Dumez 2019-11-22 08:28:13 PST
Created attachment 384156 [details]
Patch
Comment 7 WebKit Commit Bot 2019-11-22 09:25:36 PST
Comment on attachment 384156 [details]
Patch

Clearing flags on attachment: 384156

Committed r252778: <https://trac.webkit.org/changeset/252778>
Comment 8 WebKit Commit Bot 2019-11-22 09:25:37 PST
All reviewed patches have been landed.  Closing bug.