Bug 251028 - [Cocoa] _WKFeature instances fail bincompat isKindOfClass: check
Summary: [Cocoa] _WKFeature instances fail bincompat isKindOfClass: check
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Misc. (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-01-23 11:58 PST by Elliott Williams
Modified: 2023-01-23 14:37 PST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Elliott Williams 2023-01-23 11:58:07 PST
As part of the feature status rollout, we replaced the _WKExperimentalFeature / _WKInternalDebugFeature class dichotomy with a single _WKFeature base class. For bincompat, our legacy endpoints lie about their instance type and declare e.g. an NSArray<_WKExperimentalFeature *>, when the actual instance types are _WKFeature.

This matches existing behavior but causes feature instances to fail a isKindOfClass:[_WKExperimentalFeature class] check.

If we're going to lie about this, we probably need to lie more completely and override isKindOfClass.
Comment 1 Elliott Williams 2023-01-23 12:02:16 PST
rdar://104543339
Comment 2 Elliott Williams 2023-01-23 12:14:53 PST
Pull request: https://github.com/WebKit/WebKit/pull/8983
Comment 3 EWS 2023-01-23 14:33:05 PST
Committed 259245@main (dd7dffb5b056): <https://commits.webkit.org/259245@main>

Reviewed commits have been landed. Closing PR #8983 and removing active labels.