[webkit-changes] [WebKit/WebKit] 9982d3: Improve launch time of WebKit processes, v2

Per Arne Vollan noreply at github.com
Thu Oct 12 20:37:56 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9982d3f14c3ba947bb164633635e40b15bdb72fc
      https://github.com/WebKit/WebKit/commit/9982d3f14c3ba947bb164633635e40b15bdb72fc
  Author: Per Arne Vollan <pvollan at apple.com>
  Date:   2023-10-12 (Thu, 12 Oct 2023)

  Changed paths:
    M Source/WebKit/Configurations/BaseExtension.xcconfig
    M Source/WebKit/Platform/ExtraPrivateSymbolsForTAPI.h
    A Source/WebKit/Platform/spi/Cocoa/ExtensionKitSPI.h
    M Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
    M Source/WebKit/Scripts/process-entitlements.sh
    M Source/WebKit/Shared/API/Cocoa/WKMain.h
    M Source/WebKit/Shared/API/Cocoa/WKMain.mm
    M Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtension.entitlements
    R Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtension.swift
    M Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtensionBridge.h
    M Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtensionBridge.mm
    A Source/WebKit/Shared/AuxiliaryProcessExtensions/GPUProcessExtension.swift
    A Source/WebKit/Shared/AuxiliaryProcessExtensions/NetworkingProcessExtension.swift
    A Source/WebKit/Shared/AuxiliaryProcessExtensions/WebContentProcessExtension.swift
    A Source/WebKit/Shared/EntryPointUtilities/Cocoa/ExtensionEventHandler.h
    A Source/WebKit/Shared/EntryPointUtilities/Cocoa/ExtensionEventHandler.mm
    M Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h
    M Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm
    M Source/WebKit/UIProcess/Launcher/ProcessLauncher.h
    M Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  -----------
  Improve launch time of WebKit processes, v2
https://bugs.webkit.org/show_bug.cgi?id=261966
rdar://115906222

Reviewed by Brent Fulgham.

To benefit of the launch time improvements by launching WebKit processes as extensions, this patch implements
this approach by using ExtensionKit for launching. The feature is currently behind a flags, which is not
being turned on in this patch. The extensions are currently being installed in the WebKit framework.

* Source/WebKit/Configurations/BaseExtension.xcconfig:
* Source/WebKit/Platform/ExtraPrivateSymbolsForTAPI.h:
* Source/WebKit/Platform/spi/Cocoa/ExtensionKitSPI.h: Copied from Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtensionBridge.h.
* Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
* Source/WebKit/Scripts/process-entitlements.sh:
(WKExtensionEventHandler):
* Source/WebKit/Shared/API/Cocoa/WKMain.h:
* Source/WebKit/Shared/API/Cocoa/WKMain.mm:
(WKWebPushToolMain):
(WKExtensionMain): Deleted.
* Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtension.entitlements:
* Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtensionBridge.h:
* Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtensionBridge.mm:
(handleNewConnection):
(extensionMain): Deleted.
* Source/WebKit/Shared/AuxiliaryProcessExtensions/GPUProcessExtension.swift: Copied from Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtension.swift.
(GPUProcessExtension.handle(_:)):
* Source/WebKit/Shared/AuxiliaryProcessExtensions/NetworkingProcessExtension.swift: Copied from Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtension.swift.
(NetworkingProcessExtension.handle(_:)):
* Source/WebKit/Shared/AuxiliaryProcessExtensions/WebContentProcessExtension.swift: Renamed from Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtension.swift.
(WebContentProcessExtension.handle(_:)):
* Source/WebKit/Shared/EntryPointUtilities/Cocoa/ExtensionEventHandler.h:
* Source/WebKit/Shared/EntryPointUtilities/Cocoa/ExtensionEventHandler.mm:
(ExtensionEventHandler):
* Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:
* Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceEventHandler):
(WebKit::XPCServiceMain):
* Source/WebKit/UIProcess/Launcher/ProcessLauncher.h:
* Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
(WebKit::serviceNameAndIdentifier):
(WebKit::launchWithExtensionKit):
(WebKit::ProcessLauncher::launchProcess):
(WebKit::ProcessLauncher::finishLaunchingProcess):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

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




More information about the webkit-changes mailing list