Bug 207546

Summary: WKHttpStore does NOT sync until WKProcessPool is destroyed
Product: WebKit Reporter: Brandon <bthomas>
Component: WebKit APIAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Blocker CC: achristensen, beidson, cdumez, ggaren, krzysztof.modras, rniwa, sihui_liu, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: iPhone / iPad   
OS: All   

Description Brandon 2020-02-11 06:46:21 PST
When a web-page sets cookies, the cookies are reflected in the next request from the WKWebView. This works fine. However, if we try to access the cookies from WKWebView via the WKHttpCookieStore or from NSHTTPCookieStorage or from WKWebsiteDataStore. fetchDataRecordsOfTypes:completionHandler

The cookies are NOT there. However, if we set the `WKProcessPool` to  a new process pool, and then attempt to access the cookies, they are immediately flushed to disk and can be accessed.
Comment 1 Radar WebKit Bug Importer 2020-02-11 09:22:31 PST
<rdar://problem/59350764>
Comment 2 Sihui Liu 2020-02-14 15:07:45 PST
(In reply to Brandon from comment #0)
> When a web-page sets cookies, the cookies are reflected in the next request
> from the WKWebView. This works fine. However, if we try to access the
> cookies from WKWebView via the WKHttpCookieStore or from NSHTTPCookieStorage
> or from WKWebsiteDataStore. fetchDataRecordsOfTypes:completionHandler
> 
> The cookies are NOT there. However, if we set the `WKProcessPool` to  a new
> process pool, and then attempt to access the cookies, they are immediately
> flushed to disk and can be accessed.

Can you attach a test app for us to look into?