[webkit-changes] [WebKit/WebKit] 5bc3fe: Improve launch time of WebKit processes, v2

Per Arne Vollan noreply at github.com
Sun Oct 8 17:05:10 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5bc3fe12b810940791724a22c4332bf1fc58bad8
      https://github.com/WebKit/WebKit/commit/5bc3fe12b810940791724a22c4332bf1fc58bad8
  Author: Per Arne Vollan <pvollan at apple.com>
  Date:   2023-10-08 (Sun, 08 Oct 2023)

  Changed paths:
    M Source/WebKit/Configurations/BaseExtension.xcconfig
    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
    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/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:
* Source/WebKit/Shared/API/Cocoa/WKMain.h:
* Source/WebKit/Shared/API/Cocoa/WKMain.mm:
(WKExtensionEventHandler):
(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/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/269060@main




More information about the webkit-changes mailing list