Bug 208619

Summary: WebsiteDataStore methods often create process pools and launch network processes unnecessarily
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: WebKit2Assignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, commit-queue, darin, ggaren, sam, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 208610    
Bug Blocks: 208541    
Attachments:
Description Flags
Patch none

Description Chris Dumez 2020-03-04 17:40:09 PST
WebsiteDataStore methods often create process pools and launch network processes unnecessarily.
Comment 1 Chris Dumez 2020-03-04 17:56:11 PST
Created attachment 392523 [details]
Patch
Comment 2 WebKit Commit Bot 2020-03-04 23:06:20 PST
Comment on attachment 392523 [details]
Patch

Clearing flags on attachment: 392523

Committed r257904: <https://trac.webkit.org/changeset/257904>
Comment 3 WebKit Commit Bot 2020-03-04 23:06:21 PST
All reviewed patches have been landed.  Closing bug.
Comment 4 Radar WebKit Bug Importer 2020-03-04 23:07:15 PST
<rdar://problem/60073109>
Comment 5 Darin Adler 2020-03-05 08:52:01 PST
Comment on attachment 392523 [details]
Patch

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

> Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:1256
> +    for (auto& processPool : ensureProcessPools())

This one is still ensureProcessPools. I’m presuming that’s intentional, but I don’t see any explanation of that.
Comment 6 Chris Dumez 2020-03-05 08:54:51 PST
Comment on attachment 392523 [details]
Patch

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

>> Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:1256
>> +    for (auto& processPool : ensureProcessPools())
> 
> This one is still ensureProcessPools. I’m presuming that’s intentional, but I don’t see any explanation of that.

This actually goes and adds the prevalent resource in the ITP database on disk. Therefore, creating a process pool and a network process to go add this entry is not a no-op.

In practice, this gets called by JS via testRunner so we always have a process pool / network process when this gets called so this is not contributing to Bug 208541 (which is what I am trying to address).