Bug 195383

Summary: Resource Load Statistics: Make it possible to purge only script-accessible cookies
Product: WebKit Reporter: John Wilander <wilander>
Component: WebKit Misc.Assignee: John Wilander <wilander>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, berto, bfulgham, cdumez, cgarcia, commit-queue, dbates, ews-watchlist, galpeter, gustavo, japhet, mcatanzaro, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch none

Description John Wilander 2019-03-06 16:00:39 PST
We need the ability to purge all script-accessible cookies while leaving HttpOnly cookies in place.
Comment 1 John Wilander 2019-03-06 16:01:13 PST
<rdar://problem/48570136>
Comment 2 John Wilander 2019-03-06 16:10:03 PST
Created attachment 363806 [details]
Patch
Comment 3 Alex Christensen 2019-03-06 16:21:14 PST
Comment on attachment 363806 [details]
Patch

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

> Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm:503
> +    deleteCookiesForHostnames(hostnames, true);

enum class IncludeHTTPOnlyCookies : bool { No, Yes };

> Source/WebKit/NetworkProcess/NetworkProcess.cpp:1603
> +    static NeverDestroyed<OptionSet<WebsiteDataType>> cookieType(std::initializer_list<WebsiteDataType>({ WebsiteDataType::Cookies }));

OptionSet fits in one register, so this is a little overkill.
Comment 4 John Wilander 2019-03-06 18:55:05 PST
(In reply to Alex Christensen from comment #3)
> Comment on attachment 363806 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=363806&action=review
> 
> > Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm:503
> > +    deleteCookiesForHostnames(hostnames, true);
> 
> enum class IncludeHTTPOnlyCookies : bool { No, Yes };
> 
> > Source/WebKit/NetworkProcess/NetworkProcess.cpp:1603
> > +    static NeverDestroyed<OptionSet<WebsiteDataType>> cookieType(std::initializer_list<WebsiteDataType>({ WebsiteDataType::Cookies }));
> 
> OptionSet fits in one register, so this is a little overkill.

Thanks! Will fix both of these.
Comment 5 John Wilander 2019-03-06 18:56:08 PST
Created attachment 363830 [details]
Patch
Comment 6 John Wilander 2019-03-06 19:06:57 PST
Created attachment 363832 [details]
Patch
Comment 7 John Wilander 2019-03-06 19:10:49 PST
Created attachment 363833 [details]
Patch
Comment 8 John Wilander 2019-03-06 19:11:36 PST
Added build fixes for ports that use soup and curl.
Comment 9 Brent Fulgham 2019-03-07 09:14:34 PST
Comment on attachment 363833 [details]
Patch

Looks good. r=me. Please keep an eye on the test system after landing.
Comment 10 John Wilander 2019-03-07 09:15:35 PST
Comment on attachment 363833 [details]
Patch

Thanks, Brent!
Comment 11 WebKit Commit Bot 2019-03-07 09:22:33 PST
Comment on attachment 363833 [details]
Patch

Clearing flags on attachment: 363833

Committed r242598: <https://trac.webkit.org/changeset/242598>
Comment 12 WebKit Commit Bot 2019-03-07 09:22:35 PST
All reviewed patches have been landed.  Closing bug.