Bug 202544 - Replace _WKProcessPoolConfiguration.suppressesConnectionTerminationOnSystemChange with SPI on _WKWebsiteDataStoreConfiguration
Summary: Replace _WKProcessPoolConfiguration.suppressesConnectionTerminationOnSystemCh...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Alex Christensen
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-10-03 13:23 PDT by Alex Christensen
Modified: 2019-10-04 10:25 PDT (History)
4 users (show)

See Also:


Attachments
Patch (10.73 KB, patch)
2019-10-03 13:24 PDT, Alex Christensen
thorton: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Christensen 2019-10-03 13:23:28 PDT
Replace _WKProcessPoolConfiguration.suppressesConnectionTerminationOnSystemChange with SPI on _WKWebsiteDataStoreConfiguration
Comment 1 Alex Christensen 2019-10-03 13:24:31 PDT
Created attachment 380156 [details]
Patch
Comment 2 Alex Christensen 2019-10-03 14:17:01 PDT
http://trac.webkit.org/r250677
Comment 3 Radar WebKit Bug Importer 2019-10-03 14:17:19 PDT
<rdar://problem/55960800>
Comment 4 mitz 2019-10-03 14:19:58 PDT
Comment on attachment 380156 [details]
Patch

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

> Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:71
> +@property (nonatomic) BOOL suppressesConnectionTerminationOnSystemChange WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));

How does this relate to website data?
Comment 5 Alex Christensen 2019-10-03 14:43:11 PDT
It goes in the NSURLSessionConfiguration, which is associated with a data store.
Comment 6 mitz 2019-10-03 14:47:48 PDT
(In reply to Alex Christensen from comment #5)
> It goes in the NSURLSessionConfiguration, which is associated with a data
> store.

Unless I’m missing something, the NSURLSessionConfiguration association is an implementation detail and not part of the API, so that’s not a good motivator for introducing this property on _WKWebsiteDataStoreConfiguration.
Comment 7 Alex Christensen 2019-10-03 14:51:21 PDT
_WKWebsiteDataStoreConfiguration is currently the best place in the API/SPI for the properties that apply to all WKWebViews that share the same networking session.  I've considered adding a network parameters object to the _WKWebsiteDataStoreConfiguration
Comment 8 mitz 2019-10-03 15:01:05 PDT
(In reply to Alex Christensen from comment #7)
> _WKWebsiteDataStoreConfiguration is currently the best place in the API/SPI
> for the properties that apply to all WKWebViews that share the same
> networking session.

It’s not immediately clear why. Does the concept of networking session exist in the API? Is it conceptually related to website data and/or persistence?
Comment 9 Alex Christensen 2019-10-03 15:06:29 PDT
(In reply to mitz from comment #8)
> (In reply to Alex Christensen from comment #7)
> > _WKWebsiteDataStoreConfiguration is currently the best place in the API/SPI
> > for the properties that apply to all WKWebViews that share the same
> > networking session.
> 
> It’s not immediately clear why. Does the concept of networking session exist
> in the API? Is it conceptually related to website data and/or persistence?

A networking session *is* conceptually related to website data because of cookies and the HTTP cache.
Comment 10 Sam Weinig 2019-10-04 10:25:20 PDT
I agree with Mitz here. It doesn't seem like this makes sense as a property of the WebsiteDataStore. For now, it probably makes the most sense on WKWebView itself.

Separately, this name is very opaque. What exactly is "SystemChange" in this context?