[webkit-changes] [WebKit/WebKit] 3f6598: Provide a way to crash a WebKit XPC service for te...

Michael Saboff noreply at github.com
Fri Oct 21 08:33:07 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3f65989a37af5b77e9ffb4e4918e793ffe685135
      https://github.com/WebKit/WebKit/commit/3f65989a37af5b77e9ffb4e4918e793ffe685135
  Author: Michael Saboff <msaboff at apple.com>
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
    M Source/WTF/wtf/PlatformEnableCocoa.h
    A Source/WebKit/Configurations/WebContentService.Crashy.xcconfig
    M Source/WebKit/Configurations/WebContentService.xcconfig
    M Source/WebKit/Scripts/process-entitlements.sh
    M Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm
    M Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
    M Source/WebKit/UIProcess/WebProcessPool.cpp
    M Source/WebKit/UIProcess/WebProcessPool.h
    M Source/WebKit/UIProcess/WebProcessProxy.cpp
    M Source/WebKit/UIProcess/WebProcessProxy.h
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm

  Log Message:
  -----------
  Provide a way to crash a WebKit XPC service for testing
https://bugs.webkit.org/show_bug.cgi?id=246782
rdar://99339140

Reviewed by Chris Dumez.

Added a new WebContent.Crashy XPC process specifically to crash.  Safari, when running on internal builds will launch
a WebContent.Crashy depending on the canary base state.  A crashy WebContent process is launch immediately after
a WebContent for prewarming.  The UIProcess code will reap the crashed process without any impact on Safari.
This crashing process is used for internal testing.

* Source/WTF/wtf/PlatformEnableCocoa.h:
* Source/WebKit/Configurations/WebContentService.Crashy.xcconfig: Added.
* Source/WebKit/Configurations/WebContentService.xcconfig:
* Source/WebKit/Scripts/process-entitlements.sh:
* Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::getExtraInitializationData):
* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(isInternalBuild):
(canaryInBaseState):
(WebKit::determineIfWeShouldCrashWhenCreatingWebProcess):
(WebKit::WebProcessPool::platformInitialize):
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcess):
* Source/WebKit/UIProcess/WebProcessPool.h:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::createForWebContentCrashy):
(WebKit::WebProcessProxy::getLaunchOptions):
* Source/WebKit/UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::isCrashyProcess):
(WebKit::WebProcessProxy::setIsCrashyProcess):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::deliberateCrashForTesting):
(WebKit::WebProcess::platformInitializeProcess):

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




More information about the webkit-changes mailing list