Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6333464afab0d8b4e7bd9ea5bac1132a3bacd1ca
https://github.com/WebKit/WebKit/commit/6333464afab0d8b4e7bd9ea5bac1132a3bacd1ca
Author: Miguel Salinas <[email protected]>
Date: 2022-09-26 (Mon, 26 Sep 2022)
Changed paths:
M Source/WTF/wtf/PlatformUse.h
M Source/WebKit/Configurations/WebKit.xcconfig
M Source/WebKit/Scripts/process-entitlements.sh
A Source/WebKit/Scripts/update-info-plist-for-runningboard.sh
M
Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h
M
Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm
M Source/WebKit/SourcesCocoa.txt
M Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp
M Source/WebKit/UIProcess/AuxiliaryProcessProxy.h
A Source/WebKit/UIProcess/Cocoa/ProcessAssertionCocoa.mm
M Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm
M Source/WebKit/UIProcess/ProcessAssertion.cpp
M Source/WebKit/UIProcess/ProcessAssertion.h
R Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
Log Message:
-----------
[macOS] Adopt RunningBoard process assertions
https://bugs.webkit.org/show_bug.cgi?id=244998
rdar://99753987
Reviewed by Chris Dumez.
Adopt RunningBoard process assertions on macOS and stop leaking an
os_transaction in order to keep our XPC services alive.
This paves the way for suspendable processes on macOS since we now
receive SIGKILL on application exit instead of SIGTERM. This previously
caused a page load time regression due to removing the leaked boost on
the network and GPU processes.
* Source/WTF/wtf/PlatformUse.h:
* Source/WebKit/Configurations/WebKit.xcconfig:
* Source/WebKit/Scripts/process-entitlements.sh:
* Source/WebKit/Scripts/update-info-plist-for-runningboard.sh: Added.
*
Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:
(WebKit::XPCServiceInitializer):
*
Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceExit):
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::didFinishLaunching):
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:
* Source/WebKit/UIProcess/Cocoa/ProcessAssertionCocoa.mm: Renamed from
Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm.
(assertionsWorkQueue):
(processHasActiveRunTimeLimitation):
(+[WKProcessAssertionBackgroundTaskManager shared]):
(-[WKProcessAssertionBackgroundTaskManager init]):
(-[WKProcessAssertionBackgroundTaskManager dealloc]):
(-[WKProcessAssertionBackgroundTaskManager addAssertionNeedingBackgroundTask:]):
(-[WKProcessAssertionBackgroundTaskManager
removeAssertionNeedingBackgroundTask:]):
(-[WKProcessAssertionBackgroundTaskManager
_notifyAssertionsOfImminentSuspension]):
(-[WKProcessAssertionBackgroundTaskManager _scheduleReleaseTask]):
(-[WKProcessAssertionBackgroundTaskManager _cancelPendingReleaseTask]):
(-[WKProcessAssertionBackgroundTaskManager _hasBackgroundTask]):
(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
(-[WKProcessAssertionBackgroundTaskManager assertionWillInvalidate:]):
(-[WKProcessAssertionBackgroundTaskManager assertion:didInvalidateWithError:]):
(-[WKProcessAssertionBackgroundTaskManager _handleBackgroundTaskExpiration]):
(-[WKProcessAssertionBackgroundTaskManager
_handleBackgroundTaskExpirationOnMainThread]):
(-[WKProcessAssertionBackgroundTaskManager _releaseBackgroundTask]):
(-[WKProcessAssertionBackgroundTaskManager setProcessStateMonitorEnabled:]):
(-[WKRBSAssertionDelegate dealloc]):
(-[WKRBSAssertionDelegate assertionWillInvalidate:]):
(-[WKRBSAssertionDelegate assertion:didInvalidateWithError:]):
(WebKit::runningBoardNameForAssertionType):
(WebKit::runningBoardDomainForAssertionType):
(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::remainingRunTimeInSeconds):
(WebKit::ProcessAssertion::acquireAsync):
(WebKit::ProcessAssertion::acquireSync):
(WebKit::ProcessAssertion::~ProcessAssertion):
(WebKit::ProcessAssertion::processAssertionWillBeInvalidated):
(WebKit::ProcessAssertion::processAssertionWasInvalidated):
(WebKit::ProcessAssertion::isValid const):
(WebKit::ProcessAndUIAssertion::ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::~ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::updateRunInBackgroundCount):
(WebKit::ProcessAndUIAssertion::setProcessStateMonitorEnabled):
(WebKit::ProcessAndUIAssertion::uiAssertionWillExpireImminently):
(WebKit::ProcessAndUIAssertion::processAssertionWasInvalidated):
* Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
(WebKit::shouldLeakBoost):
* Source/WebKit/UIProcess/ProcessAssertion.cpp:
* Source/WebKit/UIProcess/ProcessAssertion.h:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/254879@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes