Bug 280924
Summary: | WebKit's Swift overlay calls actor-isolated code from a nonisolated context | ||
---|---|---|---|
Product: | WebKit | Reporter: | Elliott Williams <emw> |
Component: | Tools / Tests | Assignee: | Elliott Williams <emw> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | 280734 | ||
Bug Blocks: | 282452 |
Elliott Williams
Early builds of WebKit's merged Swift overlay in <https://bugs.webkit.org/show_bug.cgi?id=280734> show some actor isolation errors. The Swift toolchain used in Xcode 13 elevates these to errors, whereas more recent Xcodes treat them as warnings:
/Volumes/Data/worker/macOS-Ventura-Release-Build-EWS/build/Source/WebKit/UIProcess/API/Cocoa/WebKitSwiftOverlay.swift:70:58: error: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context
public func pdf(configuration: WKPDFConfiguration = .init()) async throws -> Data {
WebKit.WKPDFConfiguration:4:12: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
public init()
/Volumes/Data/worker/macOS-Ventura-Release-Build-EWS/build/Source/WebKit/UIProcess/API/Cocoa/WebKitSwiftOverlay.swift:78:78: error: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context
public func find(_ string: String, configuration: WKFindConfiguration = .init()) async throws -> WKFindResult {
WebKit.WKFindConfiguration:5:12: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
public init()
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/137317585>
Elliott Williams
Pull request: https://github.com/WebKit/WebKit/pull/36002
EWS
Committed 286620@main (967f1ef0f0c8): <https://commits.webkit.org/286620@main>
Reviewed commits have been landed. Closing PR #36002 and removing active labels.