[webkit-changes] [WebKit/WebKit] c61ab1: Improve launch time of WebKit processes

Per Arne Vollan noreply at github.com
Wed Sep 20 19:13:03 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c61ab1f570586f0ceaab0f4eb690ea1718940eca
      https://github.com/WebKit/WebKit/commit/c61ab1f570586f0ceaab0f4eb690ea1718940eca
  Author: Per Arne Vollan <pvollan at apple.com>
  Date:   2023-09-20 (Wed, 20 Sep 2023)

  Changed paths:
    A Source/WebKit/Configurations/BaseExtension.xcconfig
    M Source/WebKit/Configurations/BaseTarget.xcconfig
    A Source/WebKit/Configurations/GPUExtension.xcconfig
    A Source/WebKit/Configurations/NetworkingExtension.xcconfig
    A Source/WebKit/Configurations/WebContentCaptivePortalExtension.xcconfig
    A Source/WebKit/Configurations/WebContentCrashyExtension.xcconfig
    A Source/WebKit/Configurations/WebContentExtension.xcconfig
    M Source/WebKit/Shared/API/Cocoa/WKMain.h
    M Source/WebKit/Shared/API/Cocoa/WKMain.mm
    A Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtension.entitlements
    A Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtension.swift
    A Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtensionBridge.h
    A Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtensionBridge.mm
    A Source/WebKit/Shared/AuxiliaryProcessExtensions/GPUExtension-Info.plist
    A Source/WebKit/Shared/AuxiliaryProcessExtensions/NetworkingExtension-Info.plist
    A Source/WebKit/Shared/AuxiliaryProcessExtensions/WebContentExtension-CaptivePortal-Info.plist
    A Source/WebKit/Shared/AuxiliaryProcessExtensions/WebContentExtension-Crashy-Info.plist
    A Source/WebKit/Shared/AuxiliaryProcessExtensions/WebContentExtension-Info.plist
    A Source/WebKit/Shared/AuxiliaryProcessExtensions/com.apple.WebKit.appexpt
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  -----------
  Improve launch time of WebKit processes
https://bugs.webkit.org/show_bug.cgi?id=260198
rdar://113901020

Reviewed by Brent Fulgham.

Experiments show that it is signficantly faster to launch WebKit processes as extensions with ExtensionKit.
This patch is working towards this by creating empty executables for these extensions and starting
adopting ExtensionKit (https://developer.apple.com/documentation/extensionkit) as the long-term architecture
for WebKit auxiliary processes as a lighter-weight mechanism for launching and handling processes.

This patch is written by Alex Christensen and Per Arne Vollan.

* Configurations/CommonBase.xcconfig:
* Source/WebKit/Configurations/BaseExtension.xcconfig: Added.
* Source/WebKit/Configurations/BaseTarget.xcconfig:
* Source/WebKit/Configurations/GPUExtension.xcconfig: Added.
* Source/WebKit/Configurations/NetworkingExtension.xcconfig: Added.
* Source/WebKit/Configurations/WebContentCaptivePortalExtension.xcconfig: Added.
* Source/WebKit/Configurations/WebContentCrashyExtension.xcconfig: Added.
* Source/WebKit/Configurations/WebContentExtension.xcconfig: Added.
* Source/WebKit/Shared/API/Cocoa/WKMain.h:
* Source/WebKit/Shared/API/Cocoa/WKMain.mm:
(WKExtensionMain):
* Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtension.entitlements: Added.
* Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtension.swift: Added.
* Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtensionBridge.h: Added.
* Source/WebKit/Shared/AuxiliaryProcessExtensions/AuxiliaryProcessExtensionBridge.mm: Added.
(extensionMain):
* Source/WebKit/Shared/AuxiliaryProcessExtensions/GPUExtension-Info.plist: Added.
* Source/WebKit/Shared/AuxiliaryProcessExtensions/NetworkingExtension-Info.plist: Added.
* Source/WebKit/Shared/AuxiliaryProcessExtensions/WebContentExtension-CaptivePortal-Info.plist: Added.
* Source/WebKit/Shared/AuxiliaryProcessExtensions/WebContentExtension-Crashy-Info.plist: Added.
* Source/WebKit/Shared/AuxiliaryProcessExtensions/WebContentExtension-Info.plist: Added.
* Source/WebKit/Shared/AuxiliaryProcessExtensions/com.apple.WebKit.appexpt: Added.
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

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




More information about the webkit-changes mailing list