Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 95259dc654c7a4a351090a6bfaf946c1116a75dd
      
https://github.com/WebKit/WebKit/commit/95259dc654c7a4a351090a6bfaf946c1116a75dd
  Author: Elliott Williams <[email protected]>
  Date:   2025-09-11 (Thu, 11 Sep 2025)

  Changed paths:
    M Source/WebKit/Configurations/Base.xcconfig
    M Source/WebKit/_WebKit_SwiftUI/API/View+WebViewModifiers.swift
    M Source/WebKit/_WebKit_SwiftUI/API/WebPage+SwiftUI.swift
    M Source/WebKit/_WebKit_SwiftUI/API/WebPageNavigationAction+SwiftUI.swift
    M Source/WebKit/_WebKit_SwiftUI/API/WebView.swift
    M Source/WebKit/_WebKit_SwiftUI/CrossImportOverlay.swift
    M Source/WebKit/_WebKit_SwiftUI/Implementation/CocoaWebViewAdapter.swift
    M 
Source/WebKit/_WebKit_SwiftUI/Implementation/EnvironmentValues+Extras.swift
    M Source/WebKit/_WebKit_SwiftUI/Implementation/Foundation+Extras.swift
    M Source/WebKit/_WebKit_SwiftUI/Implementation/PlatformTextSearching.swift
    M Source/WebKit/_WebKit_SwiftUI/Implementation/SwiftUI+Extras.swift
    M Source/WebKit/_WebKit_SwiftUI/Implementation/ViewModifierContexts.swift
    M Source/WebKit/_WebKit_SwiftUI/Implementation/WebViewRepresentable.swift

  Log Message:
  -----------
  Missing _WebKit_SwiftUI.framework breaks back-deployed build
https://bugs.webkit.org/show_bug.cgi?id=298692
rdar://158788933

Reviewed by Richard Robinson.

On downlevel builds prior to macOS Tahoe, we skip installing the
framework. This breaks the back-deployed downlevel build, because
clients like Safari load a stale version of the library in their SDK
which is incompatible with the built WebKit. Since Swift loads cross-import
frameworks automatically based on other libraries imported, it's
difficult to prevent clients from loading _WebKit_SwiftUI accidentally,
even when we know they don't need it.

Fix by changing the downlevel build to always [1] install
_WebKit_SwiftUI. On pre-Tahoe configurations that would previously skip
the install, the library now compiles with no code (i.e. produces an
empty module).

[1]: The existing WK_ENABLE_SWIFTUI build setting still exists, but it's
now based off of SDK version. So back-deployed downlevels will see
WK_ENABLE_SWIFTUI as active, and therefore install the library, but the
WTF conditional (ENABLE_SWIFTUI) which guards the code is still based on
the deployment target version.

* Source/WebKit/Configurations/Base.xcconfig:
* Source/WebKit/_WebKit_SwiftUI/API/View+WebViewModifiers.swift:
* Source/WebKit/_WebKit_SwiftUI/API/WebPage+SwiftUI.swift:
* Source/WebKit/_WebKit_SwiftUI/API/WebPageNavigationAction+SwiftUI.swift:
* Source/WebKit/_WebKit_SwiftUI/API/WebView.swift:
* Source/WebKit/_WebKit_SwiftUI/CrossImportOverlay.swift:
* Source/WebKit/_WebKit_SwiftUI/Implementation/CocoaWebViewAdapter.swift:
* Source/WebKit/_WebKit_SwiftUI/Implementation/EnvironmentValues+Extras.swift:
* Source/WebKit/_WebKit_SwiftUI/Implementation/Foundation+Extras.swift:
* Source/WebKit/_WebKit_SwiftUI/Implementation/PlatformTextSearching.swift:
* Source/WebKit/_WebKit_SwiftUI/Implementation/SwiftUI+Extras.swift:
* Source/WebKit/_WebKit_SwiftUI/Implementation/ViewModifierContexts.swift:
* Source/WebKit/_WebKit_SwiftUI/Implementation/WebViewRepresentable.swift:

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