Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8f1f5a27db3d8bfef9db2aae60b6b841cb9dd8e1
      
https://github.com/WebKit/WebKit/commit/8f1f5a27db3d8bfef9db2aae60b6b841cb9dd8e1
  Author: Brent Fulgham <[email protected]>
  Date:   2026-05-15 (Fri, 15 May 2026)

  Changed paths:
    M Configurations/CommonBase.xcconfig
    M Configurations/WebKitProjectPaths.xcconfig
    M Source/JavaScriptCore/Configurations/Base.xcconfig
    A Source/JavaScriptCore/Configurations/LLIntExtractor.xcconfig
    M Source/JavaScriptCore/Configurations/libJavaScriptCore.xcconfig
    M Source/JavaScriptCore/DerivedSources-input.xcfilelist
    M Source/JavaScriptCore/DerivedSources.make
    M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
    M Source/WTF/Configurations/Base.xcconfig
    M Source/WebCore/Configurations/Base.xcconfig
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebGPU/WebGPU.xcodeproj/project.pbxproj
    M Source/WebInspectorUI/Configurations/Base.xcconfig
    M Source/WebKit/Configurations/Base.xcconfig
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
    M Source/WebKitLegacy/mac/Configurations/Base.xcconfig
    M Source/WebKitLegacy/scripts/postprocess-header-rule

  Log Message:
  -----------
  Build WebKit with ENABLE_USER_SCRIPT_SANDBOXING=YES
https://bugs.webkit.org/show_bug.cgi?id=313032
<rdar://problem/90190559>

Reviewed by Elliott Williams.

Enable Xcode's user script sandboxing across WTF, JavaScriptCore, WebCore, 
WebKit,
and WebKitLegacy. When sandboxing is enabled, Xcode can run Copy Headers phases 
in
parallel with script phases instead of serializing them, improving build 
parallelism.

The sandbox restricts script phases to reading declared inputs and writing 
declared
outputs. This required three categories of fixes:

  1. Script phases that need broad file system access (code generation, 
validation
     scripts, entitlement processing) are excluded from sandboxing by name 
using the
     EXCLUDED_USER_SCRIPT_SANDBOXING_PHASE_NAMES build setting.

  2. Build rules that invoke `postprocess-header-rule` now declare their 
WebKitAdditions
     script dependencies (when present) as inputFiles, allowing the sandbox to 
grant
     read access.

JavaScriptCore's LLInt-related targets (libJavaScriptCore, 
JSCLLIntSettingsExtractor,
JSCLLIntOffsetsExtractor) require target-level sandbox overrides because their 
offline
assembler build rules dynamically include generated .asm files from 
DerivedSources
that cannot be enumerated as inputFiles.

Additionally, undeclared script dependencies were added across all projects:
  * Tools/Scripts check scripts declared as inputPaths.
  * Scripts/check-xcfilelists.sh declared as inputPaths.
  * Cryptex symlink phases declare output paths.
  * WebCore's SourcesCocoaInternalSDK.txt declared as input to 'Generate 
Unified Sources'.
  * JSC's `postprocess-header-rule` declares its script in inputFiles.

This change adopts $(WK_WEBKITADDITIONS_HEADERS_FOLDER_PATH), instead of the 
existing
$(BUILT_PRODUCTS_DIR)$(WK_LIBRARY_HEADERS_FOLDER_PATH)/WebKitAdditions, since 
the former
cleanly handles our Internal and Open Source build environments so that we can 
safely
declare project dependencies.

Finally, WebKitLegacy's header handling is modified to match the WebKit 
frameworks
header processing. This allows us to opt it into the script sandbox, and to 
allow Xcode
to handle dependency checks to decide which files need copying.

* Configurations/CommonBase.xcconfig:
* Configurations/WebKitProjectPaths.xcconfig:
* Source/JavaScriptCore/Configurations/Base.xcconfig:
* Source/JavaScriptCore/Configurations/LLIntExtractor.xcconfig: Added.
* Source/JavaScriptCore/Configurations/libJavaScriptCore.xcconfig:
* Source/JavaScriptCore/DerivedSources-input.xcfilelist:
* Source/JavaScriptCore/DerivedSources.make:
* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/WTF/Configurations/Base.xcconfig:
* Source/WebCore/Configurations/Base.xcconfig:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebGPU/WebGPU.xcodeproj/project.pbxproj:
* Source/WebInspectorUI/Configurations/Base.xcconfig:
* Source/WebKit/Configurations/Base.xcconfig:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj:
* Source/WebKitLegacy/mac/Configurations/Base.xcconfig:
* Source/WebKitLegacy/scripts/postprocess-header-rule:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to