Bug 263538

Summary: Make it possible to immediately wrap a retained out param in a smart pointer
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: Web Template FrameworkAssignee: Simon Fraser (smfr) <simon.fraser>
Status: NEW ---    
Severity: Normal CC: achristensen, ddkilzer, kkinnunen, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=252856

Description Simon Fraser (smfr) 2023-10-23 11:41:30 PDT
We have a lot of code that calls system APIs that return retained pointers like this:

    SecAccessRef accessRef;
    status = SecAccessCreate((__bridge CFStringRef)localizedItemName, nullptr, &accessRef);
    RetainPtr<SecAccessRef> access = adoptCF(accessRef);

This is error prone and makes it hard to write a style checker that finds adoptCF() errors.

We should make it possible to have a smart pointer initialized directly at the point of "&accessRef".
Comment 1 Radar WebKit Bug Importer 2023-10-23 17:35:35 PDT
<rdar://problem/117382839>
Comment 2 Simon Fraser (smfr) 2023-10-23 17:38:26 PDT
Pull request: https://github.com/WebKit/WebKit/pull/19465