The WebPageProxy::continueNavigationInNewProcess attempts to create a new WebProcess to continue processing a response from a particular website (e.g. Twitter, YouTube, Instagram, etc.). In the case of SingleWebProcess mode, it tries to reuse an existing process instead of the above. However some ASSERTs are written under the assumption that the process is newly created, so assertion failure occurs in debug builds. Also, when a WebProcess switches, the old WebProcess disconnects the automationTarget, and then the new WebProcess reconnects. In SingleWebProcess mode, this reconnection does not occur, resulting in WebDriverExcpetion. To avoid this, I'll create a patch to prevent some assertions and automationTarget.disconnect() from being executed when in SingleWebProcess mode. I would like your opinion on whether this change is appropriate.
Pull request: https://github.com/WebKit/WebKit/pull/19105
<rdar://problem/117337565>
I confirmed that the same problem occurs in wincairo, so I added [win] to the title. Also, the patch I made before contained some unnecessary changes, so I improved it and made some additions and corrections to the commit log. I would appreciate your review and opinion again.
Committed 278467@main (5d53332466c2): <https://commits.webkit.org/278467@main> Reviewed commits have been landed. Closing PR #19105 and removing active labels.