WebProcess::updateProcessName should initiate network process connection if none exists, instead of giving up and returning early in this case. Same policy applies to WebProcess::updateActivePages.
<rdar://73658122>
Created attachment 418656 [details] Patch
Comment on attachment 418656 [details] Patch R=me. Thanks!
Committed r272020: <https://trac.webkit.org/changeset/272020> All reviewed patches have been landed. Closing bug and clearing flags on attachment 418656 [details].
Follow-up build fix: <https://trac.webkit.org/changeset/272034>
Re-opened since this is blocked by bug 221144
Comment on attachment 418656 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=418656&action=review > Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:467 > + ensureNetworkProcessConnection().send(Messages::NetworkConnectionToWebProcess::UpdateActivePages(displayName, Vector<String>(), auditToken), 0); Looks like the issue is that for we need a sessionID to initiate the connection to the network process. Prewarmed WebProcesses don't get a sessionID until after they're used by an actual page. This seems to indicate that the current design (having the network process set the WebProcess name) is not currently compatible with prewarmed WebProcesses.. One way to address this may be to allow initiating a connection to the networkProcess without a sessionID and allow the sessionID to be set later on.
Created attachment 418933 [details] Patch
Comment on attachment 418933 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=418933&action=review Thanks! R=me. > Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:482 > + ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::UpdateActivePages(displayName, Vector<String>(), auditToken), 0); Is it sufficient to only call ensureNetworkProcessConnection().send here? > Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:769 > + ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::UpdateActivePages(overrideDisplayName, activePagesOrigins(m_pageMap), auditToken), 0); Ditto.
(In reply to Per Arne Vollan from comment #9) > Comment on attachment 418933 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=418933&action=review > > Thanks! R=me. > > > Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:482 > > + ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::UpdateActivePages(displayName, Vector<String>(), auditToken), 0); > > Is it sufficient to only call ensureNetworkProcessConnection().send here? > > > Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:769 > > + ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::UpdateActivePages(overrideDisplayName, activePagesOrigins(m_pageMap), auditToken), 0); > > Ditto. No, NetworkProcessConnection has no send() message and does not subclass IPC::MessageSender currently.
Committed r272209: <https://trac.webkit.org/changeset/272209> All reviewed patches have been landed. Closing bug and clearing flags on attachment 418933 [details].