WebKit.WebsiteDataStoreCustomPaths API test is failing when enabling process prewarming.
Created attachment 354824 [details] Patch
Comment on attachment 354824 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=354824&action=review > Tools/ChangeLog:13 > + However, process prewarming constructs the default data store and passes it to the > + new WebProcessProxy if WebProcessPool::m_websiteDataStore is null. Hm... wouldn't this affect existing apps that would pre-warm processes?
(In reply to Ryosuke Niwa from comment #2) > Comment on attachment 354824 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=354824&action=review > > > Tools/ChangeLog:13 > > + However, process prewarming constructs the default data store and passes it to the > > + new WebProcessProxy if WebProcessPool::m_websiteDataStore is null. > > Hm... wouldn't this affect existing apps that would pre-warm processes? What's the big deal about creating the default data store if it does not exist yet?
(In reply to Chris Dumez from comment #3) > (In reply to Ryosuke Niwa from comment #2) > > Comment on attachment 354824 [details] > > Patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=354824&action=review > > > > > Tools/ChangeLog:13 > > > + However, process prewarming constructs the default data store and passes it to the > > > + new WebProcessProxy if WebProcessPool::m_websiteDataStore is null. > > > > Hm... wouldn't this affect existing apps that would pre-warm processes? > > What's the big deal about creating the default data store if it does not > exist yet? You can't do it because it's a huge no-no on iOS.
Created attachment 354862 [details] Patch
Ok, I implemented an alternative approach which makes sure process prewarming tries to find a suitable data store but never creates the default one when it does not exist.
Comment on attachment 354862 [details] Patch Clearing flags on attachment: 354862 Committed r238215: <https://trac.webkit.org/changeset/238215>
All reviewed patches have been landed. Closing bug.
<rdar://problem/46084619>
Looks like the changes in https://trac.webkit.org/changeset/238215/webkit build: https://trac.webkit.org/changeset/238215/webkit has caused two API failures: TestWebKitAPI.WKProcessPool.InitialWarmedProcessUsed /Volumes/Data/slave/sierra-release/build/Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm:62 Value of: [pool _hasPrewarmedWebProcess] Actual: false Expected: true /Volumes/Data/slave/sierra-release/build/Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm:63 Expected equality of these values: 1U Which is: 1 [pool _webPageContentProcessCount] Which is: 0 TestWebKitAPI.WKProcessPool.WarmInitialProcess /Volumes/Data/slave/sierra-release/build/Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm:47 Value of: [pool _hasPrewarmedWebProcess] Actual: false Expected: true
(In reply to Truitt Savell from comment #10) > Looks like the changes in https://trac.webkit.org/changeset/238215/webkit > > build: > https://trac.webkit.org/changeset/238215/webkit > > has caused two API failures: > > TestWebKitAPI.WKProcessPool.InitialWarmedProcessUsed > > > /Volumes/Data/slave/sierra-release/build/Tools/TestWebKitAPI/Tests/ > WebKitCocoa/ProcessPreWarming.mm:62 > Value of: [pool _hasPrewarmedWebProcess] > Actual: false > Expected: true > > > > /Volumes/Data/slave/sierra-release/build/Tools/TestWebKitAPI/Tests/ > WebKitCocoa/ProcessPreWarming.mm:63 > Expected equality of these values: > 1U > Which is: 1 > [pool _webPageContentProcessCount] > Which is: 0 > > > TestWebKitAPI.WKProcessPool.WarmInitialProcess > > > /Volumes/Data/slave/sierra-release/build/Tools/TestWebKitAPI/Tests/ > WebKitCocoa/ProcessPreWarming.mm:47 > Value of: [pool _hasPrewarmedWebProcess] > Actual: false > Expected: true Will look now, thanks. I believe the test just needs updating.
(In reply to Chris Dumez from comment #11) > (In reply to Truitt Savell from comment #10) > > Looks like the changes in https://trac.webkit.org/changeset/238215/webkit > > > > build: > > https://trac.webkit.org/changeset/238215/webkit > > > > has caused two API failures: > > > > TestWebKitAPI.WKProcessPool.InitialWarmedProcessUsed > > > > > > /Volumes/Data/slave/sierra-release/build/Tools/TestWebKitAPI/Tests/ > > WebKitCocoa/ProcessPreWarming.mm:62 > > Value of: [pool _hasPrewarmedWebProcess] > > Actual: false > > Expected: true > > > > > > > > /Volumes/Data/slave/sierra-release/build/Tools/TestWebKitAPI/Tests/ > > WebKitCocoa/ProcessPreWarming.mm:63 > > Expected equality of these values: > > 1U > > Which is: 1 > > [pool _webPageContentProcessCount] > > Which is: 0 > > > > > > TestWebKitAPI.WKProcessPool.WarmInitialProcess > > > > > > /Volumes/Data/slave/sierra-release/build/Tools/TestWebKitAPI/Tests/ > > WebKitCocoa/ProcessPreWarming.mm:47 > > Value of: [pool _hasPrewarmedWebProcess] > > Actual: false > > Expected: true > > Will look now, thanks. I believe the test just needs updating. https://bugs.webkit.org/show_bug.cgi?id=191693 Patch coming shortly.