Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 233820692ce5b0785c5631f10beb51b7fa9d99be https://github.com/WebKit/WebKit/commit/233820692ce5b0785c5631f10beb51b7fa9d99be Author: Per Arne Vollan <pvol...@apple.com> Date: 2024-08-01 (Thu, 01 Aug 2024)
Changed paths: M Source/WebKit/GPUProcess/GPUProcess.cpp M Source/WebKit/GPUProcess/GPUProcess.h M Source/WebKit/GPUProcess/GPUProcess.messages.in M Source/WebKit/ModelProcess/ModelProcess.cpp M Source/WebKit/ModelProcess/ModelProcess.h M Source/WebKit/ModelProcess/ModelProcess.messages.in M Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp M Source/WebKit/UIProcess/AuxiliaryProcessProxy.h M Source/WebKit/UIProcess/Cocoa/AuxiliaryProcessProxyCocoa.mm M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp M Source/WebKit/UIProcess/Launcher/ProcessLauncher.h M Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp M Source/WebKit/UIProcess/WebProcessPool.cpp M Source/WebKit/UIProcess/WebProcessProxy.cpp Log Message: ----------- WebKit processes should not suspend during launch and initialization https://bugs.webkit.org/show_bug.cgi?id=277163 rdar://132590940 Reviewed by Chris Dumez. Currently, there is a chance that WebKit processes on iOS will suspend between launch and initialization. This is becaues we release the launch grant in AuxiliaryProcessProxy::didFinishLaunching, but we do not take a foreground activity until later. For the WebContent process we do take a foreground activity when initializing the process, but there is a chance the WebContent process can be suspended between the launch and initialization events. For the Networking and GPU process, we do not take a foreground activity during initialization. This is addressed by capturing an activity and launch grant when sending the message that initializes the process, and releasing it after process initialization is finished. This is done for all process types. * Source/WebKit/GPUProcess/GPUProcess.cpp: (WebKit::GPUProcess::initializeGPUProcess): * Source/WebKit/GPUProcess/GPUProcess.h: * Source/WebKit/GPUProcess/GPUProcess.messages.in: * Source/WebKit/ModelProcess/ModelProcess.messages.in: * Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp: (WebKit::AuxiliaryProcessProxy::sendMessage): (WebKit::AuxiliaryProcessProxy::didFinishLaunching): * Source/WebKit/UIProcess/AuxiliaryProcessProxy.h: (WebKit::AuxiliaryProcessProxy::didFinishProcessInitialization): * Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp: (WebKit::ModelProcessProxy::ModelProcessProxy): * Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp: (WebKit::GPUProcessProxy::GPUProcessProxy): * Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::sendCreationParametersToNewProcess): * Source/WebKit/UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::initializeNewWebProcess): * Source/WebKit/UIProcess/WebProcessPool.h: * Source/WebKit/UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::initializeWebProcess): * Source/WebKit/UIProcess/WebProcessProxy.h: Canonical link: https://commits.webkit.org/281708@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes