[webkit-changes] [WebKit/WebKit] 868e63: Move ProcessThrottler to AuxiliaryProcessProxy
Per Arne Vollan
noreply at github.com
Thu Feb 29 17:27:35 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 868e634960d527e569710a43ded19061a1971ffa
https://github.com/WebKit/WebKit/commit/868e634960d527e569710a43ded19061a1971ffa
Author: Per Arne Vollan <pvollan at apple.com>
Date: 2024-02-29 (Thu, 29 Feb 2024)
Changed paths:
M Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp
M Source/WebKit/UIProcess/AuxiliaryProcessProxy.h
M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp
M Source/WebKit/UIProcess/GPU/GPUProcessProxy.h
M Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp
M Source/WebKit/UIProcess/Model/ModelProcessProxy.h
M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
M Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
M Source/WebKit/UIProcess/ProcessThrottler.cpp
M Source/WebKit/UIProcess/WebProcessProxy.cpp
M Source/WebKit/UIProcess/WebProcessProxy.h
M Source/WebKit/UIProcess/ios/WebProcessProxyIOS.mm
Log Message:
-----------
Move ProcessThrottler to AuxiliaryProcessProxy
https://bugs.webkit.org/show_bug.cgi?id=269136
rdar://122708925
Reviewed by Chris Dumez.
We can simplify the code by moving the ProcessThrottler object from every subclass to the
AuxiliaryProcessProxy base class.
This was previously landed in <https://commits.webkit.org/275195@main> and later reverted
because it introduced a crash. The reason for the crash was that the ProcessThrottler
was being deleted later since it moved to AuxiliaryProcessProxy. That could result in
pure virtual function calls in the AuxiliaryProcessProxy destructor, since the
ProcessThrottler calls virtual methods in AuxiliaryProcessProxy. This patch addresses
this crash by calling didDisconnectFromProcess in AuxiliaryProcessProxy::shutDownProcess.
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:
(WebKit::AuxiliaryProcessProxy::sendProcessDidResume):
(WebKit::AuxiliaryProcessProxy::clientName const):
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::didFinishLaunching):
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:
(WebKit::AuxiliaryProcessProxy::throttler):
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::didFinishLaunching):
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.h:
* Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp:
(WebKit::ModelProcessProxy::didFinishLaunching):
* Source/WebKit/UIProcess/Model/ModelProcessProxy.h:
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didFinishLaunching):
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didFinishLaunching):
* Source/WebKit/UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::throttler const): Deleted.
Canonical link: https://commits.webkit.org/275528@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