[webkit-changes] [WebKit/WebKit] e52304: [macOS] WebKit should not re-export WebCore

Elliott Williams noreply at github.com
Fri Aug 11 17:07:18 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e52304a6c26afa75abf5ae47602516556bcc4ade
      https://github.com/WebKit/WebKit/commit/e52304a6c26afa75abf5ae47602516556bcc4ade
  Author: Elliott Williams <emw at apple.com>
  Date:   2023-08-11 (Fri, 11 Aug 2023)

  Changed paths:
    M Source/WebCore/Configurations/WebCore.xcconfig
    M Source/WebCore/PAL/pal/cocoa/DataDetectorsCoreSoftLink.mm
    M Source/WebKit/Configurations/WebKit.xcconfig
    M Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
    M Source/WebKitLegacy/scripts/migrate-header-rule
    M Tools/DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig
    M Tools/TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
    M Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj

  Log Message:
  -----------
  [macOS] WebKit should not re-export WebCore
https://bugs.webkit.org/show_bug.cgi?id=259352
rdar://110785133

Reviewed by Alexey Proskuryakov.

Stop re-exporting WebCore's symbols in WebKit on macOS. This makes Mac
WebKit behave more like other Darwin-based platforms: WebKit.framework
re-exports all public symbols from WebKitLegacy, and only select symbols
from WebCore.

WebKitLegacy's export lists (Source/WebKitLegacy/mac/*.exp) contain the
WebCore symbols still visible to WebKit clients. And now that WebCore is
not implicitly visible to WebKit clients, some additional WebCore
symbols can be exported for testing.

Additionally, the migrate-header-rule re-export logic--which ensures
that all symbols corresponding to migrated headers are exported--is now
used on macOS (previously, it was on for every platform *but* macOS).
This does not actually expose new symbols to be exported, but ensures
that any new SPI implemented in WebCore will be exported as before.

* Source/WebCore/Configurations/WebCore.xcconfig:
  - Replace "-umbrella WebKit" with "-allowable_client WebKit". The
    former implies that WebCore is re-exported from WebKit.
  - Make testing tools allowable clients on all platforms, not just
    embedded.

* Source/WebCore/PAL/pal/cocoa/DataDetectorsCoreSoftLink.mm: Export some
  DataDetectors soft-link calls used by WebCoreTestSupport.

* Source/WebKit/Configurations/WebKit.xcconfig: Remove WebCore from
  REEXPORTED_FRAMEWORK_NAMES.
* Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj: Update
  "Generate Export Files" script phase to use the results of
  migrate-header-rule on all platforms.
* Source/WebKitLegacy/scripts/migrate-header-rule: Generate an export
  file on all platforms.

* Tools/DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Link
  against WebCore.
* Tools/TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: Link
  against WebCore.
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Link
  against WebCore in TestWebKitAPI.wkbundle.
* Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
  Link against WebCore.

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




More information about the webkit-changes mailing list