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

Reply via email to