[webkit-changes] [WebKit/WebKit] 5ddcda: [WebKit] Enable InstallAPI for macOS/tvOS/watchOS
Elliott Williams
noreply at github.com
Mon Jun 12 10:02:07 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 5ddcda389f559c713f179c044018e3e4e2306cfe
https://github.com/WebKit/WebKit/commit/5ddcda389f559c713f179c044018e3e4e2306cfe
Author: Elliott Williams <emw at apple.com>
Date: 2023-06-12 (Mon, 12 Jun 2023)
Changed paths:
M Configurations/SDKVariant.xcconfig
M Source/WebKit/Configurations/Base.xcconfig
M Source/WebKit/Configurations/WebKit.xcconfig
M Source/WebKit/Platform/ExtraPublicSymbolsForTAPI.h
M Source/WebKit/Shared/API/Cocoa/WebKit.m
M Source/WebKit/UIProcess/API/C/WKOpenPanelResultListener.h
M Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
M Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig
A Source/WebKitLegacy/mac/ExtraPrivateSymbolsForTAPI.h
M Source/WebKitLegacy/mac/Misc/WebIconDatabase.h
M Source/WebKitLegacy/mac/Misc/WebIconDatabase.mm
M Source/WebKitLegacy/mac/Panels/WebPanelAuthenticationHandler.h
M Source/WebKitLegacy/mac/Panels/WebPanelAuthenticationHandler.m
M Source/WebKitLegacy/mac/WebCoreSupport/WebJavaScriptTextInputPanel.h
M Source/WebKitLegacy/mac/WebCoreSupport/WebJavaScriptTextInputPanel.m
M Source/WebKitLegacy/mac/WebKit.mac.exp
M Source/WebKitLegacy/mac/WebView/WebViewInternal.h
M Source/WebKitLegacy/mac/WebView/WebViewPrivate.h
M Tools/Scripts/build-webkit
M Tools/Scripts/webkitdirs.pm
Log Message:
-----------
[WebKit] Enable InstallAPI for macOS/tvOS/watchOS
https://bugs.webkit.org/show_bug.cgi?id=257560
rdar://103361403
Reviewed by Alexey Proskuryakov.
Relanding with build fixes in ExtraPublicSymbolsForTAPI.h and
SDKVariant.xcconfig.
Straightforward xcconfig and header changes to make WebKit and
WebKitLegacy use InstallAPI on all platforms. To avoid increasing the
potential for build failures due to stale headers, only introduce new
use of InstallAPI when TAPI_USE_SRCROOT is enabled.
* Configurations/SDKVariant.xcconfig: Remove an redundant "/" in Mac
Catalyst path variables, to prevent TAPI from looking for a reexported
framework at a path like "/System/iOSSupport//System/Library/...". It
appears to be doing string comparisons, so this nonnormalized path
fails verification.
* Source/WebKit/Configurations/Base.xcconfig: Remove platform conditions
from SUPPORTS_TEXT_BASED_API.
* Source/WebKit/Configurations/WebKit.xcconfig: Remove platform
conditions from OTHER_TAPI_FLAGS.
* Source/WebKit/Platform/ExtraPublicSymbolsForTAPI.h:
$ld$install_name$os declarations are iOS-only. Add conditional guards.
* Source/WebKit/UIProcess/API/C/WKOpenPanelResultListener.h:
WKOpenPanelResultListenerChooseMediaFiles is only implemented on iOS.
Wrap it in a conditional guard.
* Source/WebKit/Shared/API/Cocoa/WebKit.m: Drive-by fixup: Change the
ifdef condition to only emit versions-specific install names on iOS.
* Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj: Add
reference to ExtraPrivateSymbolsForTAPI.h
* Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig: Remove
platform conditions from SUPPORTS_TEXT_BASED_API, TAPI_VERIFY_MODE,
and OTHER_TAPI_FLAGS.
* Source/WebKitLegacy/mac/ExtraPrivateSymbolsForTAPI.h: Added, declares
`WebCoreScrollView` which is implemented for backwards compatibility
but removed from API/SPI headers.
* Source/WebKitLegacy/mac/Misc/WebIconDatabase.h:
Declare WebIconDatabaseDidRemoveAllIconsNotification.
Delete WebIconDatabaseEnabledDefaultsKey; it's not used anywhere and
is not in any export lists.
* Source/WebKitLegacy/mac/Misc/WebIconDatabase.mm: Ditto.
* Source/WebKitLegacy/mac/Panels/WebPanelAuthenticationHandler.h: Move
WebPanelAuthenticationHandler ivars to the .m file; they are neither
exported nor used outside the implementation.
* Source/WebKitLegacy/mac/Panels/WebPanelAuthenticationHandler.m: See
above.
* Source/WebKitLegacy/mac/WebCoreSupport/WebJavaScriptTextInputPanel.h:
Ditto for WebJavaScriptTextInputPanel's ivars.
* Source/WebKitLegacy/mac/WebCoreSupport/WebJavaScriptTextInputPanel.m:
See above.
* Source/WebKitLegacy/mac/WebKit.mac.exp: WebUndefined is declared in a
migrated header (WebScriptObject.h) and used by DumpRenderTree, so it
should be reexported.
* Source/WebKitLegacy/mac/WebView/WebViewInternal.h: Move unexported key
strings here from WebViewPrivate.h.
* Source/WebKitLegacy/mac/WebView/WebViewPrivate.h: See above.
Xcode 13.x does not respect file filters (e.g.
EXCLUDED_SOURCE_FILE_NAMES) in TAPI filelists (rdar://92126006), so
raise the target version for TAPI_USE_SRCROOT mode to 14.0. This still
provides macOS and iOS coverage with SRCROOT mode in EWS. Also, the
feature flag can be passed as a defaults override, not an environment
variable, so do that instead.
* Tools/Scripts/build-webkit:
* Tools/Scripts/webkitdirs.pm:
(XcodeOptions):
Canonical link: https://commits.webkit.org/265074@main
More information about the webkit-changes
mailing list