Stop relying on ResponsivenessTimer to keep the WebProcess from suspending during initialization. Instead, make the WebProcess::InitializeWebProcess IPC async with a reply and take a process assertion on behalf of the WebContent process until we get a response back.
This avoids sending an extra PING IPC to the WebProcess for no reason (since we're already sending the WebProcess::InitializeWebProcess IPC) and this is also more reliable since the ResponsivenessTimer can actually time out and cause the process to get suspended during initialization still.
Created attachment 389563 [details]
Comment on attachment 389563 [details]
Clearing flags on attachment: 389563
Committed r255662: <https://trac.webkit.org/changeset/255662>
All reviewed patches have been landed. Closing bug.
Follow-up fix for assertions on bots:
(In reply to Chris Dumez from comment #5)
> Follow-up fix for assertions on bots:
Improved follow up fix: https://trac.webkit.org/changeset/255705/webkit
Follow-up fix: <https://trac.webkit.org/changeset/255814>
Committed r256396: <https://trac.webkit.org/changeset/256396>