Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f6a26193b8b843d822a84ceb0a78331f20d06437
https://github.com/WebKit/WebKit/commit/f6a26193b8b843d822a84ceb0a78331f20d06437
Author: Elliott Williams <[email protected]>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M Tools/Scripts/libraries/webkitapipy/webkitapipy/sdkdb.py
M Tools/Scripts/libraries/webkitapipy/webkitapipy/sdkdb_unittest.py
Log Message:
-----------
[audit-spi] Method from unloaded library in the cache clobbers allowlist
entries with different class name
https://bugs.webkit.org/show_bug.cgi?id=308998
rdar://171546166
Reviewed by Mike Wyrzykowski.
Leads to "error: unrecognized selector ..." build failures for ObjC
selectors that we clearly have allowlist entries for. Because the error
comes from old, inactive data in the cache, it usually goes away by
deleting audit-spi's sqlite database and letting it rebuild from
scratch.
Fix by qualifying the `allow_found` portion of the query to only check
against loaded libraries (i.e. entries from the exports table that are
in the window).
This change reveals a different issue, where two different methods with
the same selector that are allowed AND exported as API can be flagged as
a `UnnecessaryAllowedName`. Fix this edge case by checking class name
before emitting this diagnostic.
* Tools/Scripts/libraries/webkitapipy/webkitapipy/sdkdb.py:
(SDKDB.audit):
* Tools/Scripts/libraries/webkitapipy/webkitapipy/sdkdb_unittest.py:
(TestSDKDB.test_audit_allowed_fully_qualified_selector_with_bystander):
(TestSDKDB):
(TestSDKDB.test_audit_allowed_fully_qualified_selector_with_different_class_unloaded):
Canonical link: https://commits.webkit.org/308652@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications