Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a206897f97e2995f108708bf04ed6a2a83203a26
      
https://github.com/WebKit/WebKit/commit/a206897f97e2995f108708bf04ed6a2a83203a26
  Author: Ben Schwartz <[email protected]>
  Date:   2025-04-10 (Thu, 10 Apr 2025)

  Changed paths:
    M Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm
    M Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj

  Log Message:
  -----------
  [WKTRApp] Wrong .appex extensions sometimes used.
https://bugs.webkit.org/show_bug.cgi?id=291243
rdar://148784145

Reviewed by Per Arne Vollan.

When performing layout testing using WebKitTestRunnerApp, the wrong .appex
records will sometimes be loaded. This manifests itself as either the
CaptivePortal variant being loaded instead of the standard WebContent,
system extensions being loaded instead of bundled ones, or both.

So, we do two main things to mitigate this.

The first thing we do is package WebContentCaptivePortalExtension with WKTRApp
builds. This ensures all extensions assets are within the bundle in an attempt
to prevent the app from calling system extensions.

* Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Add 
WebContentCaptivePortalExtension to build products for WKTRApp.

The second (and most important) thing we do is explicitly define the bundle IDs
of the extensions that we're trying to load. This eliminates any lingering
ambiguity at runtime and allows the system to choose the correct extension.

* Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
    -> (WebKit::serviceNameAndIdentifier):
        - Add the extensions in app bundle check from launchWithExtensionKit 
into serviceNameAndIdentifier.
        - Determine correct bundle IDs to request based on if extensions are in 
an app bundle or CaptivePortal vs. WebContent.
    -> (WebKit::launchWithExtensionKit):
        - Remove now redundant extensions in app bundle check.
        - Check for if extensions are bundled before calling process 
initializers with explicit bundle IDs.

Canonical link: https://commits.webkit.org/293550@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