[webkit-changes] [WebKit/WebKit] 9590b6: Improve launch time of WebKit processes, v2

Per Arne Vollan noreply at github.com
Fri Oct 6 07:58:24 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9590b618193248a44916c41e66a6668cc070e20d
      https://github.com/WebKit/WebKit/commit/9590b618193248a44916c41e66a6668cc070e20d
  Author: Per Arne Vollan <pvollan at apple.com>
  Date:   2023-10-06 (Fri, 06 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://problem/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: Removed.
* Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtension.swift:
(GPUProcessExtension.handle(_:)):
(AuxiliaryProcessExtension.main): Deleted.
* Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtensionBridge.h:
* Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtensionBridge.mm:
(handleNewConnection):
(extensionMain): Deleted.
* Source/WebKit/Shared/AuxiliaryProcessExtensions/GPUProcessExtension.swift: Renamed 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: Copied 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/268990@main




More information about the webkit-changes mailing list