Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 31a5af577c9a2400a20ea153e63fc1d8863766a5
      
https://github.com/WebKit/WebKit/commit/31a5af577c9a2400a20ea153e63fc1d8863766a5
  Author: Aditya Keerthi <[email protected]>
  Date:   2025-09-16 (Tue, 16 Sep 2025)

  Changed paths:
    M Configurations/WebKitTargetConditionals.xcconfig
    M Source/WebKit/Configurations/WebKit.xcconfig

  Log Message:
  -----------
  REGRESSION (296457@main): [iOS] Safari launch time has regressed
https://bugs.webkit.org/show_bug.cgi?id=298918
rdar://155641865

Reviewed by Abrar Rahman Protyasha.

296457@main introduced the first use of GameController.framework in
WebKit.framework. This introduced a launch time regression as
GameController.framework lazy loads GameControllerUI.framework in a static
initializer (+initialize).

When `WKMouseDeviceObserver.start()` is called and the `.GCMouseDidConnect`
symbol is used, the initializer is invoked and GameControllerUI.framework is
loaded using the costly `dlopen()`.

GameController.framework cannot avoid the lazy loading without significant
refactoring (tracked in rdar://141183512). Instead, fix by having WebKit
directly link GameControllerUI. This will make the cost of the GameController's
`dlopen()` of GameControllerUI effectively zero, as the framework will already
be loaded.

* Configurations/WebKitTargetConditionals.xcconfig:

Introduce visionOS target conditionals, since GameControllerUI only exists on
visionOS 26+.

* Source/WebKit/Configurations/WebKit.xcconfig:

Weak link the framework since it is not available in all configurations.

Upward link the framework to avoid introducing a dependency cycle.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to