[webkit-changes] [WebKit/WebKit] 5d5333: [PlayStation][wincairo] fix assertion with SingleW...

Haruhisa SHIN noreply at github.com
Tue May 7 10:24:13 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5d53332466c251054cb0579d7916b764ee11db0b
      https://github.com/WebKit/WebKit/commit/5d53332466c251054cb0579d7916b764ee11db0b
  Author: Haruhisa SHIN <haruhisa.shin at open-tec.co.jp>
  Date:   2024-05-07 (Tue, 07 May 2024)

  Changed paths:
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
    M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
    M Source/WebKit/Shared/NetworkProcessPreferencesForWebProcess.h
    M Source/WebKit/Shared/NetworkProcessPreferencesForWebProcess.serialization.in
    M Source/WebKit/UIProcess/API/APIPageConfiguration.cpp
    M Source/WebKit/UIProcess/WebProcessPool.h
    M Source/WebKit/UIProcess/WebProcessProxy.cpp

  Log Message:
  -----------
  [PlayStation][wincairo] fix assertion with SingleWebProcess mode
https://bugs.webkit.org/show_bug.cgi?id=263185

Reviewed by Chris Dumez.

The WebPageProxy::continueNavigationInNewProcess() function attempts to
create a new WebProcess to continue processing a response from a
particular websites.
If the application sets usesSingleWebProcess = true, the
WebPageProxy will attempt to reuse an existing process, but
unfortunately there is an assert that is not supposed to do that,
so the application with debug build will crash.

The NetworkResourceLoader in NetworkProcess decides whether to create
a new WebProcess.
So this patch makes two changes:
1. add SingleWebProcess flag to NetworkProcessPreferencesForWebProcess
2. use StayInGroup(do not create a new WebProcess) if SingleWebProcess

Incidentally, besides some ASSERTs, the connection with the automation
target was also not very well considered for SingleWebProcess mode.
For example, WebPageProxy::resetStateAfterProcessTermination() calls
disconnect() to target, but no one reconnects afterwards.
This raises a WebDriver Exception even if it is a release build.
This patch will solve this as well.

Canonical link: https://commits.webkit.org/278467@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list